What if there isn't enough time for thorough testing?
Use risk analysis to determine where testing should be focused. Since it's rarely possible to
test every possible aspect of an application, every possible combination of events, every
dependency, or everything that could go wrong, risk analysis is appropriate to most software
development projects. This requires judgment skills, common sense, and experience.
Considerations can include:
?? Which functionality is most important to the project's intended purpose?
?? Which functionality is most visible to the user?
?? Which functionality has the largest safety impact?
?? Which functionality has the largest financial impact on users?
?? Which aspects of the application are most important to the customer?
?? Which aspects of the application can be tested early in the development
?? Which parts of the code are most complex, and thus most subject to
?? Which parts of the application were developed in rush or panic mode?
?? Which aspects of similar/related previous projects caused problems?
?? Which aspects of similar/related previous projects had large maintenance
?? Which parts of the requirements and design are unclear or poorly thought
?? What do the developers think are the highest-risk aspects of the
?? What kinds of problems would cause the worst publicity?
?? What kinds of problems would cause the most customer service
?? What kinds of tests could easily cover multiple functionalities?
?? Which tests will have the best high-risk-coverage to time-required ratio?