How do you estimate testing efforts?

As a software tester one of the most difficult questions I get asked is how long does it take to test something?  My mind goes 1) will the system ready for testing 2) will there be any critical defects in the first cycle 3) has development team delivered complete (or near complete) functionality as per specification .. etc the list goes on.  To most people testing is a task to complete but to me it is all about finding as many defects in the shortest time possible.

Whether it is for Agile or Waterfall methodology testing work becomes easier when every improvement, fixed defects and other updates are testable.  There are cases where changes might not be testable such as changes to non system related functionality such as back end improvements, system architecture or best practice.  Acceptance criteria could be checking the functionality from user interface, records in database or log files.  Having something testable is far more important than planning itself or how much time has been allocated.

The question we often get asked is how much time is required to test given changes or system upgrades?  To me this is an open-ended question because unlike development or analysis work, testing is to ensure what the system is supposed to do as well as negative testing.  In addition, new test cases might be added to find new defects.  In other words, testing is more towards time management to find relevant defects in the shortest time.  It shouldnt be focussing on the number of cycles or how many test cases have been executed.  The following guidelines can be used to find more defects in less time:

  • Business requirement or acceptance criteria should be up to date;
  • Test case should be derived from each requirement not based on other test cases;
  • Each requirement should be given priority to manage testing time effectively.

Finally but not the least we can estimate the testing efforts using one or more of the following steps:

  • Identify which test cases to execute based on what requirements are in scope;
  • Group these test cases into two or three different levels such as Easy, Medium and Hard;
  • Estimate how long will it take to do the easy ones and twice as long for Medium and three times for Hard ones;
  • Allow 50% – 100% factors for administration work and verification for unexpected outcomes;
  • Review this estimate at 25% progress and see if the estimate still stands;
  • Once the full cycle is compelete we can use this as a reference for the next release but usually shorter as people are more familiar.

In summary,  testing should not be a measure of efforts or time but it is about time management to find the maximum number of potential defects in the shortest time possible.  It is important to have up to date business requirements with priority so that testing can be done effectively.  Although test estimate is crucial for planning activities how we spend the time and in which order is far more important than completing the testing itself.  In my years of experience time has always been the limiting factor and how much testing is ever enough?

If you are interested in receiving a FREE test estimate template please email us to admin@requirementdriventesting.com.

Related Posts Plugin for WordPress, Blogger...