Monday, December 21, 2009

Is there enough time to do through testing?

It is rarely possible to test every possible aspect of an application, every possible combination of events, every dependency or everything that could go wrong in the software application. I believe Risk Analysis is appropriate to most software development projects. This requires judgement skills, common sense and experience. 
I recommend to use  risk analysis, along with discussion with project stakeholders to determine where testing should be focused.
Here are some of the aspects that might require close attention:

  1. Which functionality is most important to the project's intended purpose?
  2. Which functionality is most visible to the user?
  3. What functionality has the largest safety impact?
  4. Which functionality has the largest financial impact on users?
  5. Which aspects of the application are most important to the customer?
  6. Which aspects of the application can be tested early in the development cycle?
  7. Which parts of the code are most complex, and thus most subject to errors?
  8. Which parts of the application were developed in rush or panic mode?
  9. Which aspects of similar/related previous projects caused problems?
  10. Which aspects of similar/related previous projects had large maintenance expenses?
  11. Which parts of the requirements and design are unclear or poorly thought out?
  12. What do the developers think are the highest-risk aspects of the application?
  13. What kinds of problems would cause the worst publicity?
  14. What kinds of problems would cause the most customer service complaints?
  15. What kinds of tests could easily cover multiple functionalities?
  16. Which tests will have the best high-risk-coverage to time-required ratio?

Search in this page

References: Some of the contents may have reference to various sources available on the web.
Logos, images and trademarks are the properties of their respective organizations.