Chapter-3
Chapter-3
Static Testing: static testing relies on the manual examination of work products. static testing assesses the code or
other work product being tested without actually executing the code or work product being tested.
● Defects found early are often much cheaper to remove than defects found later in the life cycle
● Detecting and correcting defects more efficiently, and prior to dynamic test execution
● Identifying defects which are not easily found by dynamic testing
● Preventing defects in design or coding by uncovering inconsistencies, ambiguities,
● Increasing development productivity
● Reducing development cost and time
● Reducing testing cost and time
● reducing total cost of quality over the software’s lifetime
● Improving communication between team members in the course of participating in reviews
● One main distinction is that static testing finds defects in work products directly rather than identifying failures
caused by defects when the software is run.
● Another distinction is that static testing can be used to improve the consistency and internal quality of work
products, while dynamic testing typically focuses on externally visible behaviors.
● Compared with dynamic testing, typical defects that are easier and cheaper to find and fix through static testing
● Moreover, most types of maintainability defects can only be found by static testing (e.g., improper
modularization, poor reusability of components)
Note: A defect can reside in a work product for a very long time without causing a failure. The path where the
defect lies may be rarely exercised or hard to reach, so it will not be easy to construct and execute a dynamic test
that encounters it. Static testing may be able to find the defect with much less effort.
Review Process:
● Planning:
○ Defining the scope, which includes the purpose of the review, what documents or parts of documents to review, and
the quality characteristics to be evaluated
○ Estimating effort and time frame
○ Identifying review characteristics such as the review type with roles, activities, and checklists
○ Selecting the people to participate in the review and allocating roles
○ Defining the entry and exit criteria for more formal review types
○ Checking that entry criteria are met
● Initiate review:
○ Distributing the work product (physically or by electronic means) and other material.
○ Explaining the scope, objectives, process, roles, and work products to the participants.
○ Answering any questions that participants may have about the review
● Individual review:
○ Reviewing all or part of the work product.
○ Noting potential defects, recommendations, and questions
● Author:
○ Creates the work product under review.
○ Fixes defects in the work product under review
● Management:
○ Is responsible for review planning.
○ Decides on the execution of reviews.
○ Assigns staff, budget, and time
○ Monitors ongoing cost-effectiveness
○ Executes control decisions in the event of inadequate outcomes
● Facilitator (often called moderator):
○ Ensures effective running of review meetings (when held)
○ Mediates, if necessary, between the various points of view
○ Is often the person upon whom the success of the review depends
● Review leader:
○ Takes overall responsibility for the review
○ Decides who will be involved and organizes when and where it will take place
● Reviewers:
○ May be subject matter experts, persons working on the project, stakeholders with an interest in the work product
○ Identify potential defects in the work product under review
○ May represent different perspectives
● Scribe (or recorder):
○ Collates potential defects found during the individual review activity
○ Records new potential defects, open points, and decisions from the review meeting (when held)
Note: In some review types, one person may play more than one role, and the actions associated with each role may also
vary based on review type.
Review Types:
One of the main objectives is to uncover defects. All review types can aid in defect detection, and the selected review type
should be based on:
● the needs of the project
● available resources
● product type and risks
● business domain
● company culture, among other selection criteria.
Technical review:
● Main purposes: gaining consensus, detecting potential defects
● Possible further purposes: evaluating quality and building confidence in the work product, generating new ideas,
motivating and enabling authors to improve future work products, considering alternative implementations
● Reviewers should be technical peers of the author, and technical experts in the same or other disciplines
● individual preparation before the review meeting is required
● Review meeting is optional, ideally led by a trained facilitator (typically not the author)
● Scribe is mandatory, ideally not the author
● Use of checklists is optional
● Potential defect logs and review reports are produced
Inspection:
● Main purposes: detecting potential defects, evaluating quality and building confidence in the work product, preventing
future similar defects through author learning and root cause analysis
● Follows a defined process with formal documented outputs, based on rules and checklists
● Uses clearly defined roles.
● individual preparation before the review meeting is required
● Reviewers are either peers of the author or experts in other disciplines that are relevant to the work product
● Scribe is mandatory
● Specified entry and exit criteria are used
● Review meeting is led by a trained facilitator (not the author)
● Author cannot act as the review leader, reader, or scribe
● Potential defect logs and review report are produced
● Metrics are collected and used to improve the entire software development process, including the inspection process
Applying Review Techniques:
There are a number of review techniques that can be applied during the individual review activity to uncover defects:
● Ad hoc: In an ad hoc review, reviewers are provided with little or no guidance on how this task should be performed.
Reviewers often read the work product sequentially, identifying and documenting issues as they encounter them.
● Checklist-based: A checklist-based review is a systematic technique, where reviewers detect issues based on checklists
that are distributed at review initiation.
● Scenarios: In a scenario-based review, reviewers are provided with structured guidelines on how to read through the
work product. Then the reviewer will perform a dry run.
● dry runs: running through the system try to use it as is. and try to find bugs during the process.
● Perspective-based: in perspective-based reading, similar to a role-based review, reviewers take on different stakeholder
viewpoints in individual reviewing.
● Role-based: A role-based review is a technique in which the reviewers evaluate the work product from the perspective of
individual stakeholder roles.