STATIC TESTING is a method of testing whereby work products are reviewed without executing them. This is in contrast to Dynamic Testing which requires the execution of the code or program.
- static testing: Testing a work product without the work product code being executed.
Static Testing enables the early detection of defects (e.g., in requirements or design specifications) before dynamic testing is performed. Defects found early are often much cheaper to fix than defects found later in the life cycle. Organizations should prioritize Static Testing as much as they prioritize Dynamic Testing if they desire an all-round assurance of quality.
Below are the main objectives of static testing:
- Identify and correct defects in requirements so as to prevent defects in design or code. [Read Defect Root Cause Analysis for a better understanding of this.]
- Identify and correct defects in test cases / test scripts / test data and prevent false positives / false negatives.
- Identify defects which are not easily found by dynamic testing.
- Reduce cost of quality over the software’s lifetime.
- Improve team communication and collaboration.
Static Testing can be applied to any work product but below are the major ones:
- Requirements (Business / Software)
- Architecture & Design
- Test Artifacts (Test Plan, Test Case, Test Script, Test Data)
- User Guides
All work products are evaluated manually but in the case of code it can also be tool-driven.
Static testing can be broadly categorized into the following:
A review is an assessment of a work product. Its purpose, in addition to finding defects, can be to generate new ideas or solutions. It may be performed by an individual or a group of people. It may be formal (with a defined process or documentation) or informal (like a colleague just waking over to someone’s desk and reviewing his / her work). Reviews can be technical or non-technical. Unlike walkthroughs, during which both parties must be present at the same time, reviews can also be conducted by the reviewer without the presence of the author of the work product.
A walkthrough is a tour or demonstration of a work product. Its purpose, in addition to finding defects, can be to generate new ideas or solutions, gather improvement suggestions or provide training. It may take the form of a scenario, dry run, or simulation. It may be conducted formally or informally.
An inspection is a careful examination or scrutiny of a work product. Its purpose, in addition to finding defects, can be to evaluate quality standards, assess individual performance or identify process improvement areas. Normally, an inspection is conducted formally with a defined process and documentation. Also, inspections are usually conducted by seniors or experts and are more rigorous than reviews.
You can follow the guidelines mentioned below for effective static testing:
- Make sure the objectives of each static testing are clear.
- Clarify the roles and responsibilities of each person involved.
- Select the specific static testing type (review, walkthrough or inspection) appropriate to the type and level of work products and participants.
- Start static testing early; if the work product is large, divide them into chunks and begin from the first chunk itself.
- Create and use checklists as much as possible.
- Conduct static testing as formally as possible, with defined process and documentation.
- Give enough time to participants for preparation and schedule sessions with adequate notice.
- Integrate static testing in the company’s policies / procedures so that there is organizational buy-in.
Last Updated on September 16, 2020 by STF