ISTQB Foundation Level
Chapter 3 Static Techniques
Agenda
1. 2. 3.
Static and Dynamic techniques. Review process Static analysis by tools
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Static and Dynamic techniques
Static and Dynamic testing
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Static and Dynamic techniques
Static testing Manual Examination & Automated analysis of Project Documentation or code itself Find causes of failure Dynamic testing Requires the execution of software Find Failures Same Objective Both Static testing and Dynamic testing have the same objective identifying defects Both are complementary to each other
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Static and Dynamic techniques.
Typical Defects found in static testing are: deviations from standards, requirement defects, design defects, insufficient maintainability and incorrect interface specifications Documents generally examined during Static Testing are Source Code Requirement Specification Design Specification Test Plan Test Case Test Scripts
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Reviews
Review
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Review Definition
IEEE Standard Glossary of SE Terminology:
A process or meeting during which a work product, or a set of work products, is presented to project personnel, managers, users, customers, or other interested parties for comment or approval.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Phases of Reviews
1. Planning: Selecting & Allocating the roles; defining the entry and exit criteria. 2. Kick-off: Distributing process documents with its objectives to the participants; and checking entry criteria. 3. Individual preparation: Work done by each of the participants on their own before the review meeting, noting potential defects, questions and comments.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Phases of Reviews
4. Review meeting: Discussion or logging, with documented results or minutes. The meeting participants may note defects, make recommendations for handling the defects, or make decisions about the defects. 5. Rework: Fixing defects found (Ideally done by the author). 6. Follow-up: Checking that defects have been addressed, gathering metrics and checking on exit criteria of the meeting
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
The Players of Review Meeting
Manager Reviewers Reviewers
Recorder Author
Moderator
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
Roles & Responsibilities
Manager: Decides on the execution of reviews, allocates time in project schedules and determines if the review objectives have been met. Moderator: The person who leads the review of the document, including planning the review, running the meeting, and follow-up after the meeting. The moderator may mediate between the various points of view Author: The writer or person with chief responsibility for the document to be reviewed. Reviewers: Individuals with a specific technical or business background identify and describe findings (e.g. defects) (also called checkers or inspectors) Scribe (or recorder): Documents all the issues, problems and open points that were identified during the meeting.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
10
Types of Reviews
Informal review Walkthrough Technical review Inspection
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
11
Informal review
Key characteristics: No formal process; There may be pair programming or a technical lead reviewing designs and code; Optionally may be documented; May vary in usefulness depending on the reviewer; Main purpose: inexpensive way to get some benefit.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
12
Walkthrough
Key characteristics: Meeting led by author; Scenarios, dry runs, peer group; Optionally a pre-meeting preparation of reviewers, review report, list of findings and scribe (who is not the author) May vary in practice from quite informal to very formal; Main purposes: learning, gaining understanding, defect finding.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
13
Technical review
Key characteristics: Ideally led by trained moderator (not the author); Pre-meeting preparation; Optionally the use of checklists, review report, list of findings and management participation; May vary in practice from quite informal to very formal; Main purposes: discuss, make decisions, evaluate alternatives, find defects, solve technical problems and check conformance to specifications and standards.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
14
Inspection
Key characteristics: Led by trained moderator (not the author); Usually peer examination; Defined roles; Formal process based on rules and checklists with entry and exit criteria; Pre-meeting preparation; Inspection report, list of findings; Formal follow-up process; Optionally, process improvement and reader; Main purpose: find defects.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
15
Reviews
Clear predefined objective. Right people for the review objectives are involved. Defects found are welcomed, and expressed objectively. People issues and psychological aspects are dealt with (e.g. making it a positive experience for the author). Review techniques are applied that are suitable to the type and level of software work products and reviewers. Checklists or roles are used if appropriate to increase effectiveness of defect identification. Emphasis on learning and process improvement. Management supports a good review process
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
16
Static analysis
Static analysis by tools
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
17
Static analysis
Key Characteristics To find defects in software source code and software models, Is performed without actually executing the software being examined by the tool; It can locate defects that are hard to find in dynamic testing, Typically used by developers, They analyze program code (e.g. control flow and data flow), as well as generated output such as HTML and XML, Compilers may offer some support for static analysis, including the calculation of metrics.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
18
Value of Static analysis
Main value of static analysis is: Early detection of defects prior to test execution. Early warning about suspicious aspects of the code or design Identification of defects not easily found by dynamic testing. Detecting dependencies and inconsistencies in software models, such as links. Prevention of defects, if lessons are learned in development.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
19
Defects Discovered by Static analysis Tools
Main value of static analysis is: referencing a variable with an undefined value; inconsistent interface between modules and components; variables that are never used; unreachable (dead) code; programming standards violations; security vulnerabilities; syntax violations of code and software models.
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
20
Summary
Walkthrough Inspection Review
Planning Kick off Review Meeting Rework Follow-up The Players of Review Meeting
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
21
Class Room Work
Case Study
Static Testing| ISTQB Foundation Level
2011 Capgemini - All rights reserved
22
In collaboration with
Client or Partner logo
Questions?