More Tests Does Not Mean Better Tests

You are here

End-to-end testing is surely an important stage of many applications under development. Complex solutions require such tests to ensure everything is working as planned and users are gaining what they have expected. However end-to-end does not at all mean test every possible scenario. Such an approach may lead to unnecessary loss of both time and money that will be required on setting up test environments, gathering test data, paying testers, etc. And all that effort is a waste? How Come?

A nice example

So we have a mobile app under test that should allow users to purchase goods from their favorite store. What would the proper end-to-end test flow be?

  • Login
  • Appropriate shop/category entrance
  • Purchase process
  • Order generation
  • Confirmation sent to a user
  • Adjustments in the inventory
  • Making sure system was updated
  • Making sure shipment was scheduled
  • Updates in the order status
  • Updates sent to user when the goods are shipped
  • Updates in the order status
  • Item delivery
  • Again with the status updates
  • Users get confirmations of the delivery

The process is pretty long as it is, when the perfect choice for end-to-end sessions is making them as short as possible. Often the list above is literally spammed with what if requirements such as what if the users will require the goods delivered in any precise date? Surely that aspect is of value to the application and requires to be tested, But not during the end-to-end session. There still will be functional tests and more. Why test the same thing twice? Basically all the parts of the process listed above are separate working units and the only soul goal of end-to-end is making sure they work well together.

Simply consider the amount of resources you will waste on testing something twice when it wasn’t even necessary. Before adding something to the end-to-end testing session ask yourself what value will additional tests deliver? Will those tests be different from tests you will be running in different sessions? Perhaps that something was already tested? Answering these three easy questions will save you a lot of tome and dollars.