3.1 Static Techniques and the test process (K2)

Unlike dynamic testing, which requires the execution of software, static testing techniques rely on the manual examination (reviews) and automated analysis (static analysis) of the code or other project documentation.

Reviews are a way of testing software work products (including code) and can be performed well before dynamic test execution. Reviews improve software development productivity and reduce development timescales. They can lead lifetime cost reductions through maintenance of the system. We can achieve all this if we introduce reviews in early phases of lifecycle. Reviews reduce defect levels and lead to increased quality, resulting in improved customer relations. Benefits include areas such as development productivity improvements, reduced development time-scales, testing cost and time reductions, lifetime cost reductions and reduced defect levels.

A review could be done entirely as a manual activity, but there is also tool support. The main manual activity is to examine a work product and make comments about it. Any software work product can be reviewed, including requirements  specifications, design specifications, code, test plans, test specifications, test cases, test scripts, user guides or web pages.

Benefits of reviews include early defect detection and correction, development productivity improvements, reduced development timescales, reduced testing cost and time, lifetime cost reductions, fewer defects and improved communication. Reviews can find omissions, for example, in requirements, which are unlikely to be found in dynamic testing.

Reviews, static analysis and dynamic testing have the same objective – identifying defects. They are complementary: the different techniques can find different types of defects effectively and efficiently. Compared to dynamic testing, static techniques find causes of failures (defects) rather
than the failures themselves.

Typical defects that are easier to find in reviews than in dynamic testing are: deviations from standards, requirement defects, design defects, insufficient maintainability and incorrect interface specifications.


Post a Comment