0% found this document useful (0 votes)
6 views105 pages

Chapter 3 Testing

The document discusses static techniques in software quality control and testing, emphasizing their role in the testing process, including static analysis and review processes. It highlights the importance of static analysis tools in identifying defects before dynamic testing, improving code maintainability, and preventing future defects. Additionally, it outlines coding standards and best practices for conducting formal reviews.

Uploaded by

aymanahmedaaaaaa
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views105 pages

Chapter 3 Testing

The document discusses static techniques in software quality control and testing, emphasizing their role in the testing process, including static analysis and review processes. It highlights the importance of static analysis tools in identifying defects before dynamic testing, improving code maintainability, and preventing future defects. Additionally, it outlines coding standards and best practices for conducting formal reviews.

Uploaded by

aymanahmedaaaaaa
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software QC & Testing

Presented By.
[Link] Mahmoud

Faculty of computers and Artificial Intelligence, Fayoum University, IS&CS department, Fourth Level
2025
Chapter 03

Static
techniques
Static
Techniques
1. Static techniques and the test
process
2. Static analysis by tools
3. Review process
Static
Techniques
The V-model
1. Static Techniques and the Test
Process
Static Techniques and the Test
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
Process
Dynamic testing - requires the execution of software under
• 2.3 Types of reviews


2.4 Review techniques
2.5 Success factors for reviews
test.
3. Static Analysis by Tools
Static testing - manual examination and automated
analysis of the code or documentation without execution of
the software under test.

Reviews - a way of testing software products (including code) and can


be performed well before dynamic test execution.

Static analysis tools analyze program code


Static
Techniques
• Static and dynamic testing have the same objective:
identifying defects.
• They are complementary.
• Compared to dynamic testing, static techniques find causes
of failures (defects) rather than the failures themselves.
Static
Testing

Review Static
s Analysi
s
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
• 2.4 Review techniques Objectives of static analysis
• 2.5 Success factors for reviews
Find defects in
3. Static Analysis by Tools • software source
code
•Note!
software
Staticmodels
analysis finds defects rather than failures

Static analysis is performed without actually executing


the software being examined by the tool.

Static analysis tools analyze program code, as well


as generated output such as HTML and XML.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Typical defects discovered by static analysis tools include:
• referencing a variable with an undefined value
• 2.4 Review techniques
• 2.5 Success factors for reviews

• inconsistent interface between modules and


3. Static Analysis by Tools

components

• variables that are never used


• unreachable (dead) code
• programming standards violations
• security vulnerabilities
• syntax violations of code and software models
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
• 2.4 Review techniques
• 2.5 Success factors for reviews Developers
3. Static Analysis by Tools
Use static analysis before and
during:
• Component testing
• Integration testing
Designers
Use static analysis during software
modeling
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Why is static analysis valuable
• 2.4 Review techniques
• 2.5 Success factors for reviews • Early detection of defects prior to test execution.
3. Static Analysis by Tools
• Early warning about suspicious aspects of the code or design,
by the calculation of metrics, such as a high complexity
measure.
• Identification of defects not easily found by dynamic testing.
• Detecting dependencies and inconsistencies in software
models, such as links.
• Improved maintainability of code and design.
• Prevention of defects, if lessons are learned in development.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Coding standards


2.4 Review techniques
2.5 Success factors for reviews
Recommended that existing standards should be adopted in order
to
3. Static Analysis by Tools save a lot of effort
• Set of programming rules, e.g. always check boundaries on an
array when using it
• Naming conversions, e.g. class name should start with a
Capital letter
• Access conversions, e.g. public/private

• Layout specifications, e.g. indents


1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Coding standards


2.4 Review techniques
2.5 Success factors for reviews
Recommended that existing standards should be adopted in order
to
3. Static Analysis by Tools save a lot of effort
• Set of programming rules, e.g. always check boundaries on an
array when using it
• Naming conversions, e.g. class name should start with a
Capital letter
• Access conversions, e.g. public/private

• Layout specifications, e.g. indents


1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Coding standards


2.4 Review techniques
2.5 Success factors for reviews
Recommended that existing standards should be adopted in order
to
3. Static Analysis by Tools save a lot of effort
• Set of programming rules, e.g. always check boundaries on an
array when using it
• Naming conversions, e.g. class name should start with a
Capital letter
• Access conversions, e.g. public/private

• Layout specifications, e.g. indents


1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Coding standards


2.4 Review techniques
2.5 Success factors for reviews
Recommended that existing standards should be adopted in order
to
3. Static Analysis by Tools save a lot of effort
• Set of programming rules, e.g. always check boundaries on an
array when using it
• Naming conversions, e.g. class name should start with a
Capital letter
• Access conversions, e.g. public/private

• Layout specifications, e.g. indents


1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Coding standards


2.4 Review techniques
2.5 Success factors for reviews
Recommended that existing standards should be adopted in order
to
3. Static Analysis by Tools save a lot of effort
• Set of programming rules, e.g. always check boundaries on an
array when using it
• Naming conversions, e.g. class name should start with a
Capital letter
• Access conversions, e.g. public/private

• Layout specifications, e.g. indents


1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools
Coding standards


2.4 Review techniques
2.5 Success factors for reviews
Recommended that existing standards should be adopted in order
to
3. Static Analysis by Tools save a lot of effort
• Set of programming rules, e.g. always check boundaries on an
array when using it
• Naming conversions, e.g. class name should start with a
Capital letter
• Access conversions, e.g. public/private

• Layout specifications, e.g. indents


1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Toolse.g
Code metrics,
• 2.4 Review techniques

• Comments frequency
• 2.5 Success factors for reviews

3. Static Analysis by Tools

• Depth of nesting
• Cyclomatic complexity /complexity
metrics.
1. Static Techniques and the Test
Process

2. Review Process
Static Analysis by



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Tools


2.4 Review techniques
2.5 Success factors for reviews
Practical side
3. Static Analysis by Tools
Static analysis tools may produce a large number of
warning messages, which need to be well managed to
allow the most effective use of the tool.
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
s
• 2.3 Types of reviews


2.4 Review techniques
2.5 Success factors for reviews Static testing - manual examination and automated
3. Static Analysis by Tools analysis of the code or documentation without execution of
the software under test.
Static analysis tools analyze program code
Reviews - a way of testing software products (including code) and
can be performed well before dynamic test execution.
1. Static Techniques and the Test
Process Reviews
2. Review Process
• 2.1 Activities of a formal
review


2.2 Roles and responsibilities
2.3 Types of reviews
Reason to make
• 2.4 Review techniques reviews
- Defects detected during reviews early in the life cycle are
• 2.5 Success factors for reviews

3. Static Analysis by Tools cheaper to remove than those detected while running tests.
- Reviews can find omissions, for example, in requirements,
which are unlikely to be found in dynamic testing.

Tools (manual + tool support)


The main manual activity is to examine a work product and
make comments about it.
1. Static Techniques and the Test
Process Reviews
2. Review Process
• 2.1 Activities of a formal
review


2.2 Roles and responsibilities
2.3 Types of reviews
Reason to make
• 2.4 Review techniques reviews
- Defects detected during reviews early in the life cycle are
• 2.5 Success factors for reviews

3. Static Analysis by Tools cheaper to remove than those detected while running tests.
- Reviews can find omissions, for example, in requirements,
which are unlikely to be found in dynamic testing.

Tools (manual + tool support)


The main manual activity is to examine a work product and
make comments about it.
1. Static Techniques and the Test
Process Reviews
2. Review Process
• 2.1 Activities of a formal
review


2.2 Roles and responsibilities
2.3 Types of reviews
Reason to make
• 2.4 Review techniques reviews
- Defects detected during reviews early in the life cycle are
• 2.5 Success factors for reviews

3. Static Analysis by Tools cheaper to remove than those detected while running tests.
- Reviews can find omissions, for example, in requirements,
which are unlikely to be found in dynamic testing.

Tools (manual + tool support)


The main manual activity is to examine a work product and
make comments about it.
1. Static Techniques and the Test
Process Reviews
2. Review Process
• 2.1 Activities of a formal
review


2.2 Roles and responsibilities
2.3 Types of reviews
Reason to make
• 2.4 Review techniques reviews
- Defects detected during reviews early in the life cycle are
• 2.5 Success factors for reviews

3. Static Analysis by Tools cheaper to remove than those detected while running tests.
- Reviews can find omissions, for example, in requirements,
which are unlikely to be found in dynamic testing.

Tools (manual + tool support)


The main manual activity is to examine a work product and
make comments about it.
Cost to
repair
Four typical
scenarios
Types of
review
Different types of reviews vary
from:

very informal (e.g. no written instructions for reviewers) to very formal (i.e. well structured and
regulated)
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Object of reviews
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews Any software work product can be reviewed,
3. Static Analysis by Tools e.g.
• requirements specifications
• design specifications
• code
• test plans, test specifications, test cases, test
scripts
• user guides
• web pages
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Benefits
process
• 2.4 Review techniques
• 2.5 Success factors for reviews • early defect detection and correction
3. Static Analysis by Tools

• development productivity
improvements
• reduced development timescales

• reduced testing cost and time


• lifetime cost
reductions
• fewer defects
• improved communication
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The review
process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews Typical defects
• 2.4 Review techniques

• deviations from standards


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• requirement defects
• design defects
• insufficient maintainability
• incorrect interface specifications
• inconsistencies, ambiguities, contradictions, omissions, inaccuracies,
and
redundancies in requirements
These defects are easier to find in reviews than in dynamic
testing
1. Static Techniques and the Test
Process

2. Review Process
The Review



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Process
• 2.4 Review techniques

• Activities of a formal review


• 2.5 Success factors for reviews

3. Static Analysis by Tools

• Roles and responsibilities

• Types of reviews

• Review techniques

• Success factors for reviews


The review
process
Different types of reviews vary
from:

very informal (e.g. no written instructions for reviewers) to very formal (i.e. well structured and
regulated)
1. Static Techniques and the Test
Process

2. Review Process
Review Process -



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
Background
• 2.4 Review techniques
• 2.5 Success factors for reviews
The formality of a review process is related to factors
3. Static Analysis by Tools
like:
• Risk
• Size of the project
• the maturity of the development
process
• any legal or regulatory requirements
• the need for an audit trail
1. Static Techniques and the Test
Process

2. Review Process
Review Process - Background
• 2.1 Activities of a formal -
review
• 2.2 Roles and responsibilities


2.3 Types of reviews
2.4 Review techniques
The way a review is carried out depends on the agreed objective of
• 2.5 Success factors for reviews
the review:
3. Static Analysis by Tools

• find defects and omissions


• gain understanding

• discussion and decision by consensus


Review Process: Review Types:
-Planning -Informal Review
-Initial review (buddy)
-Individual review -Walkthrough (Author)
-Issue communication and -Technical Review
analysis -Inspection
-Fixing and reporting (author)
Review Roles: Review Techniques:
-Management -Checklist based
-Reviewers -Ad hoc (no planning)
-Author -Scenario & dry run
-Facilitator -Role-based
(moderator)* -Perspective based
-Review Leader
Phases of a formal
1. Static Techniques and the Test
Process

2. Review Process



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
review
• 2.4 Review techniques 1. Planning
• 2.5 Success factors for reviews

3. Static Analysis by Tools


2. Initiate review - kickoff
3. Individual review – individual
preparation
4. Issue communication and analysis - review
meeting
5. Fixing and reporting - Rework and follow-up
1. Static Techniques and the Test
Process

-
1. Planning
2. Review Process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews
• 2.4 Success factors for reviews
a. Select the personnel
3. Static Analysis by Tools

b. Allocate roles
c. Define the entry and exit criteria for more
formal review types (e.g. inspection)
d. Select which parts of documents to look at
2. Initiate review -
1. Static Techniques and the Test
Process

2. Review Process -


2.1 Activities of a formal
review
2.2 Roles and responsibilities
kickoff
• 2.3 Types of reviews
• 2.4 Success factors for reviews
a. Distributing documents
3. Static Analysis by Tools

b. Explaining the objectives of the review and


the review process
c. Explaining the documents to the
participants

c. Checking and discuss entry/exit criteria


3. Individual
1. Static Techniques and the Test
Process

2. Review Process -


2.1 Activities of a formal
review
2.2 Roles and responsibilities
review/preparation


2.3 Types of reviews
2.4 Review techniques Work done by each of the participants on their own before
• 2.5 Success factors for reviews
the review meeting, noting potential defects, questions and
3. Static Analysis by Tools
comments.
Each participants proposes the severity of the
defects.

Severity classes: critical, major or minor


4. Issue communication and
1. Static Techniques and the Test
Process

2. Review Process -


2.1 Activities of a formal
review
2.2 Roles and responsibilities
analysis


2.3 Types of reviews
2.4 Review techniques
Review
• 2.5 Success factors for reviews

3. Static Analysis by Tools


meeting
• Logging and discussion, with documented results
or minutes

• The meeting participants may simply note defects,


make recommendations for handling the defects, or
make decisions about the defects.

• Decisions based on the exit criteria

• Examining, evaluation and recording


1. Static Techniques and the Test
Process

2. Review Process
5. Fixing and reporting
• 2.1 Activities of a formal
review


2.2 Roles and responsibilities
2.3 Types of reviews
Rework and follow-
• 2.4 Success factors for reviews
up
3. Static Analysis by Tools
• fixing defects found, typically done by the
author.
• check that defects have been
addressed

• gather metrics, e.g.


• number of defects found
• number of defects found per page
• time spent checking per page
• total review effort
Roles and
1. Static Techniques and the Test
Process

2. Review Process



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
responsibilities
NB! One person may take one or more roles!
• 2.4 Review techniques
• 2.5 Success factors for reviews
• The author
3. Static Analysis by Tools

• The management
• The review leader
• The facilitator or
moderator
• The reviewers
• The scribe (or recorder)
Author
1. Static Techniques and the Test
Process

2. Review Process
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• The writer or person with chief responsibility for
the documents to be reviewed and the rework to
be done.
1. Static Techniques and the Test
Process

2. Review Process
The
• 2.1 Activities of a formal



review
2.2 Roles and responsibilities
2.3 Types of reviews
management


2.4 Review techniques
2.5 Success factors for reviews
• Decides on the execution of
3. Static Analysis by Tools reviews
• Assigning resources: staff, budget and time

• Determines if the review objectives have been


met
1. Static Techniques and the Test
Process
The review leader
2. Review Process
• 2.1 Activities of a formal
-
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews


2.4 Review techniques
2.5 Success factors for reviews
• Taking the overall responsibilities for the
3. Static Analysis by Tools review
• Deciding who will be involved
• Works closely with both the management and
the facilitator (moderator).
The facilitator or
1. Static Techniques and the Test
Process

2. Review Process -



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
moderator
• leads the review of the document(s)
• 2.4 Review techniques
• 2.5 Success factors for reviews • planning the review
3. Static Analysis by Tools
• running the meetings
• and follow-up after the meeting
• If necessary, the facilitator or moderator may
mediate between the various points of view and is
often the person upon whom the success of the
review rests
The
1. Static Techniques and the Test
Process

2. Review Process -


2.1 Activities of a formal
review
2.2 Roles and responsibilities
reviewers
• Individuals with specific technical or
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


business background

• Identify and describe the findings in the


product under review

Note: reviewers should be chosen to represent different


perspectives and roles in the review process
Note: reviewers should take part in the review meeting
Scribe (or
1. Static Techniques and the Test
Process

2. Review Process -



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
recorder)
• 2.4 Review techniques

• Documents all the issues, problems and open


• 2.5 Success factors for reviews

3. Static Analysis by Tools


points that were identified during the meeting.
Roles and
1. Static Techniques and the Test
Process

2. Review Process



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
responsibilities
NB! One person can take one or more roles!
• 2.4 Review techniques
• 2.5 Success factors for reviews
• The author
3. Static Analysis by Tools

• The management
• The review leader
• The facilitator or
moderator
• The reviewers
• The scribe (or recorder)
Types of
1. Static Techniques and the Test
Process

2. Review Process



2.1 Activities of a formal
review
2.2 Roles and responsibilities
2.3 Types of reviews
reviews
• 2.4 Review techniques 1. Informal review
• 2.5 Success factors for reviews

2.
3. Static Analysis by Tools
Walkthrough
3. Technical
review
4. Inspections
1. Static Techniques and the Test
Process

2. Review Process
1. Informal
review
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities
• 2.3 Types of reviews
• 2.4 Review techniques Purpose
• 2.5 Success factors for reviews
Inexpensive way to get some
3. Static Analysis by Tools benefit
Form
Pair reviews; e.g. pair programming or a technical
lead reviewing designs and code

Note: No formal process


Note: Optionally may be documented
1. Static Techniques and the Test
Process

2. Review Process
2. Walkthrough
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities


2.3 Types of reviews
2.4 Review techniques Purposes
• learning
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• gaining
understanding
• defect finding
•Form
feedback
• meeting led by author
• may vary in practice from quite informal to
very formal
• stakeholders may participate
1. Static Techniques and the Test
Process

2. Review Process
3. Technical
• 2.1 Activities of a formal



review
2.2 Roles and responsibilities
2.3 Types of reviews
review
• 2.4 Review techniques Purposes
• 2.4 Review techniques2.5
Success factors for reviews • discuss
3. Static Analysis by Tools
• make decisions
• evaluate alternatives
• find defects
• solve technical problems
• check conformance to specifications and
Form
standards
May vary from very formal to informal peer
review without management participation.
1. Static Techniques and the Test
Process

2. Review Process
3. Technical
• 2.1 Activities of a formal



review
2.2 Roles and responsibilities
2.3 Types of reviews
review


2.4 Review techniques
2.5 Success factors for reviews
• ideally led by trained facilitator or moderator
3. Static Analysis by Tools • documented, defined defect-detection
process; includes peers and technical experts
• pre-meeting preparation
• optionally the use of checklists, review report, list
of findings and management
1. Static Techniques and the Test
Process

2. Review Process
4. Inspection
• 2.1 Activities of a formal
review
• 2.2 Roles and responsibilities Purpose
• 2.3 Types of reviews
• 2.4 Review techniques Find defects
• 2.5 Success factors for reviews

3. Static Analysis by Tools Form


• Usually peer examination led by trained facilitator
or moderator (not the author)
• Formal process based on rules and checklists with
entry and exit criteria
• pre-meeting preparation
• defined roles
• includes metrics
• inspection report, list of findings
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
techniques
• Ad hoc reviewing
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• Checklist-based reviewing
• Scenario-based reviewing and dry runs
• Role-based reviewing
• Perspective-based reviewing
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
techniques
• Ad hoc reviewing
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• Checklist-based reviewing
• Scenario-based reviewing and dry runs
• Role-based reviewing
• Perspective-based reviewing
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
techniques
• Ad hoc reviewing
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• Checklist-based reviewing
• Scenario-based reviewing and dry runs
• Role-based reviewing
• Perspective-based reviewing
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
techniques
• Ad hoc reviewing
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• Checklist-based reviewing
• Scenario-based reviewing and dry runs
• Role-based reviewing
• Perspective-based reviewing
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
techniques
• Ad hoc reviewing
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• Checklist-based reviewing
• Scenario-based reviewing and dry runs
• Role-based reviewing
• Perspective-based reviewing
1. Static Techniques and the Test
Process Review
2. Review Process


2.1 Activities of a formal
review
2.2 Roles and responsibilities
techniques
• Ad hoc reviewing
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews

3. Static Analysis by Tools


• Checklist-based reviewing
• Scenario-based reviewing and dry runs
• Role-based reviewing
• Perspective-based reviewing
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.

• Ad hoc reviewing is a commonly used technique


needing little preparation.

• This technique is highly dependent on reviewer skills


and may lead to many duplicate issues being reported
by different reviewers
Checklist-based
• A checklist-based review is a systematic technique, whereby the reviewers detect issues
based on checklists that are distributed at review initiation (e.g., by the facilitator).

• A review checklist consists of a set of questions based on potential defects, which may
be derived from experience.

• The main advantage of the checklist-based technique is


a systematic coverage of typical defect types.

• Reviewer should also look for defects outside the


checklist
Scenario and Dry Runs
• In a scenario-based review, reviewers are provided with structured guidelines on how to read through
the work product.

• A scenario-based approach supports reviewers in performing “dry runs” on the work product based on
expected usage of the work product (if the work product is documented in a suitable format such as
use cases).

• These scenarios provide reviewers with better


guidelines on how to identify specific defect
types than simple checklist entries.

• Reviewers should not be constrained to


the documented scenarios
Role-based
• A role-based review is a technique in which the reviewers evaluate the work product from the
perspective of individual stakeholder roles.

• Typical roles include specific end user types (experienced, inexperienced, senior, child, etc.), and
specific roles in the organization (user administrator, system administrator, performance tester, etc.)
Perspective-based
• In perspective-based reading, similar to a role-
based review, reviewers take on different
stakeholder viewpoints in individual reviewing.

• Typical stakeholder viewpoints include end user,


marketing, designer, tester, or operations.

• Using different stakeholder viewpoints leads to


more depth in individual reviewing with less
duplication of issues across reviewers

• Empirical studies have shown perspective-based


reading to be the most effective general technique
for reviewing requirements and technical work
products.
1. Static Techniques and the Test
Process

2. Review Process
Success factors for
• 2.1 Activities of a formal


review
2.2 Roles and responsibilities reviews


2.3 Types of reviews
2.4 Review techniques Organizational success factors
• 2.5 Success factors for reviews

• Have a clear objective


3. Static Analysis by Tools

• Pick the right review type and technique


• Review material need to be keept up to
date

• Limit the scope of review


• Enought time!
• Management support is critical
1. Static Techniques and the Test
Process

2. Review Process
Success factors for
• 2.1 Activities of a formal


review
2.2 Roles and responsibilities reviews


2.3 Types of reviews
2.4 Review techniques People-related success factors
• 2.5 Success factors for reviews

• Pick the right reviewers


3. Static Analysis by Tools

• Use testers
• Each reviewers does their review work well

• Limit the scope of the review and pick things that really
count
• Defects found should be welcomed
• Review meeting are well managed
1. Static Techniques and the Test
Process

2. Review Process
Success factors for
• 2.1 Activities of a formal


review
2.2 Roles and responsibilities reviews


2.3 Types of reviews
2.4 Review techniques People-related success factors, continues
• 2.5 Success factors for reviews

3. Static Analysis by Tools
• Trust is critical
• How you communication is important
• Follow the rules, but keep it simple

• Train participants
• Continuously improve process and tools
• Just do it!
1. Static Techniques and the Test
Process

2. Review Process
Success factors -
• 2.1 Activities of a formal


review
2.2 Roles and responsibilities approach


2.3 Types of reviews
2.4 Review techniques
• Defects found are welcome and
• 2.5 Success factors for reviews expressed objectively.
3. Static Analysis by Tools

• Apply suitable review techniques for the type


and level of software products.

• Use checklists or roles if appropriate to


increase effectiveness of defect identification.

• Management supports a good review process


(e.g. by incorporating adequate time for review
activities).
1. Static Techniques and the Test
Process

2. Review Process
Success factors - training and
• 2.1 Activities of a formal


review
2.2 Roles and responsibilities learning
• Training is given in review techniques,
• 2.3 Types of reviews
• 2.4 Review techniques
• 2.5 Success factors for reviews
especially the more formal techniques, such as
3. Static Analysis by Tools
inspection.
• There is an emphasis on learning and
process improvement
Thanks

You might also like