| » Quality Assurance | » Software Testing | » Process Improvement |
| » Risk Analysis | » Software Usability | » Software Development |
Risk Analysis
Thorough testing is virtually impossible for practical reasons: mainly timing and budget. Risk Analysis helps determine where testing should be focused.
Since it is rarely possible to test every single aspect of an application, every combination of events, every dependency, or everything that could go wrong, risk analysis is appropriate to most software development projects. This requires judgement skills, common sense, business knowledge and experience. Formal methods are also available to assess risk and plan for a realistic scenario.
Considerations 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 legal impact?
- Which functionality has the largest financial impact?
- Which aspects of the application are most important to the customer?
- Which aspects of the application can be tested early in the development cycle?
- Which parts of the code are most complex, and thus most subject to errors?
- 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 expenses?
- Which parts of the requirements and design are unclear or poorly thought out?
- What do the developers think are the highest-risk aspects of the application?
- What kinds of problems would cause the worst publicity?
- What kinds of problems would cause the most customer service complaints?
- What kinds of tests could easily cover multiple functionalities?
- Which tests will have the best high-risk-coverage to time-required ratio?
