Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8001001
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T15:58:14+00:00 2026-06-04T15:58:14+00:00

End to end testing means exercising an application from the outer boundaries to verify

  • 0

End to end testing means exercising an application from the outer boundaries to verify its behavior. This far I’ve only done written tests for a single executable artifact. How should I test systems made up of multiple artifacts that is deployed on different hosts?

I see two alternatives.

  • The tests set up the whole system and exercise it from the very outer edges.
  • Each artifact is end to end tested in isolation, relying on the test content to enforce the protocol between them.

Is there a clear case for only adhering to one of these, or are one of them preferred, or are they interchangeable? If interchangeable, then what are some advantages and disadvantages between them?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T15:58:15+00:00Added an answer on June 4, 2026 at 3:58 pm

    Even though I think it depends on the context, I prefer the first alternative. Here are my random thoughts:

    I like my tests to be as closely mapped to use cases as possible (BDD style) (with the disclaimer that I misuse the term use case). These use cases may span several applications and sub-systems.

    Example: A back office administrator can view a transaction made by a user from the public interface.

    Here, the back office admin interface and the public interface are different applications, but they are included in the same use case.

    Mapping these thoughts to your problem where you have sub-systems deployed on different hosts, I would say it depends on how it is used, from the user/actor perspective. Do the use cases span several sub-systems?

    Also, perhaps the fact that the system is deployed on several hosts isn’t important to the tests. You could replace the inter-process communication with method calls in your tests and have the whole system within the same process during tests, reducing the complexity. Supplement this with tests that only verify the inter-process communication.

    Edit:

    I realise that I forgot to include why I prefer to test the whole system.

    Your asset is features, that is, behaviour, while the code is a liability. Therefore you’d like to test the behaviour, not the code (BDD style).

    If you are testing each sub-system separately you are testing the code, not the features. Why? When you divided your system into sub-systems you did so based on some technical reasons. When you learn more you might discover that the chosen seam is sub-optimal and would like to move some responsibility from one sub-system to another. And you would have to modify test and production code at the same time, leaving you without a safety net. That’s a typical symptom of testing implementation details.

    That said, these kind of tests are too blunt to test everything. So you need to have complementary tests for details as well, where necessary.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am a front-end developer writing a C# application to export data from an
I am wondering what tool(s) do you use for front-end testing... Currently I am
I'm testing a new iPhone app with my end-users and found that a lot
In the end, I have decided that this isn't a problem that I particularly
I love doctests, it is the only testing framwork I use, because it is
I just finished a little 5000-line PHP application and are now going into testing
When i am try to read from SslStream function Read() is never end if
I'm building a desktop application right now that presents its human-readable output as XHTML
I'm using Ryan Bates's nifty:authentication , and starting testing with Rspec. Fought with this
For testing the many headaches of IIS/WCF implementation from scratch, I built the HelloWorld

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.