Static testing
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 1
Static testing overview and its type
◦ Define static testing
◦ Participants in static testing
◦ Static analysis
◦ Reviews
Informal reviews
Walkthrough
Technical review
Inspection
Management review
Static vs dynamic testing
Pros and cons of static testing
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 2
Static testing is a verification process used to test the
application without implementing the code of the application.
And it is a cost-effective process.
To avoid the errors, we will execute Static testing in the initial
stage of development because it is easier to identify the
sources of errors, and it can fix easily.
It is also called verification process and can be done by
manually or using tools
It is an examination of program code with its associated
documentation without execution of a code.
It is also called dry-run testing
Participants in static testing - Moderator, Author, Scribe,
Reviewer, Manager
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 3
Compared with dynamic testing, typical defects that is simple
and cheaper to fix using static testing includes
◦ Requirement defect
Inconsistence, incomplete, ambiguous, contradictions….
◦ Design defect
Inefficient algorithm/data structure, high coupling, low
cohesion
◦ Coding defect
All anomalies (DD, UD, KK, dead code, unused code…)
◦ Deviation from standards
Lack of coding standards
◦ Incorrect interface specification
◦ Security vulnerability
Suspicious to buffer overflow
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 4
The moderator
◦ Also known as review leader
◦ Performs entry check
◦ Follow up on he rework
◦ Schedule the meeting
◦ Coaches other team
◦ Leads the possible discussion and stories that is
collected
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 5
The moderator
◦ Also known as review leader
◦ Performs entry check
◦ Follow up on he rework
◦ Schedule the meeting
◦ Coaches other team
◦ Leads the possible discussion and stories that is collected
The Author
◦ Illuminates the unclear areas and understand the defects
found
◦ Basic goal should be to learn as much as possible with
regard to improve the quality of documents
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 6
The scribe
◦ Scribe is a separate person to logging of defects found
during the review
The reviewers
◦ Also called checkers or inspectors
◦ Check any materials for defects mostly prior to meeting
◦ The manager can also be involved in the review depending
on his / her background
The moderators
◦ The manager decides on the execution of reviews
◦ Allocates time in project schedule and determine whether
the review process objective has been meet
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 7
.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 8
All the static testing types should follow the general test
process activities
The general test process applied to static testing
includes
◦ Planning and control
Quality criteria are defined
The participants are selected
The test meeting, if any, is planned
◦ Analysis and design
The material is distributed
The participants are briefed about the assignment
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 9
The general test process applied to static testing
includes…
◦ Implementation and execution
Static testing execution, usually at the reviewers’
own desks
The static testing results are collected
Metrics may be collected about the performance and
the results
◦ Evaluating exit criteria and reporting
The results are evaluated against any exit criteria
Static testing report may be produced
◦ Test closure activities
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 10
Why static testing
◦ To improve the development productivity.
◦ To find the detects in the earlier stages and easily
fix them.
◦ To decrease the testing cost, development
timescales, and time.
◦ Reduced development timescales
◦ To get fewer defect at a later stage of testing
When – on the following situations occupied
◦ Dynamic Testing is time-consuming
◦ Flaws at earlier stages/identification of Bugs
◦ Dynamic Testing is expensive
◦ Increased size of the software
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 11
Things done in static testing are
◦ Business Requirements Document (BRD)
◦ Use Cases
◦ System/Functional Requirements
◦ Prototype
◦ Prototype Specification Document
◦ DB Fields Dictionary Spreadsheet
◦ Test Data
◦ Traceability Matrix Document
◦ User Manual/Training Guides/Documentation
◦ Test Plan Strategy Document/Test Cases
◦ Architecture and design specification
◦ Source codes, contracts, project schedule, budgets
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 12
Static testing techniques offer a great way
to enhance the quality and efficiency of
software development.
The Static testing technique can be done in
two ways
◦ Review
◦ Static Analysis
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 13
Review
◦ In static testing, the review is a technique or a
process implemented to find the possible bugs in
the application.
◦ We can easily identify and eliminate faults and
defects in the various supporting documents such
as SRS [Software Requirements Specifications] in
the review process.
◦ Review in Static testing is that where all the team
members will understand about the project's
progress.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 14
static analysis, which is used to contain the
assessment of the code quality, which is
established by developers.
Developers' developed code is analyzed with some
tools for structural bugs, which might cause the
defects.
It includes data flow and control flow testing
It help us to identify the below errors:
◦ Dead code, Unused variables
◦ Endless loops, Incorrect syntax
◦ Variable with undefined value
◦ Violation of programing standards and security
vulnerabilities
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 15
Reviews in static testing can be classified as
◦ Informal reviews
◦ Walkthroughs
◦ Technical/peer review
◦ Management view
◦ Inspection
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 16
Informal reviews
◦ The document designer place the contents in
front of viewers, and everyone gives their view;
therefore, bugs are acknowledged in the early
stage.
◦ informal reviews will not follow any specific
process to find errors.
◦ Coworkers can review documents and provide
informal comments.
◦ The least formal type of static testing that follows
no formal document process
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 17
Walkthrough
◦ It is used to performed by a skilled person
or expert to verify the bugs. Therefore,
there might not be problem in the
development or testing phase.
◦ The author of whichever document is
being reviewed will explain the document
to their team.
◦ Participants will ask questions, and any
notes are written down.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 18
Walkthrough…
◦ A walk-through is a step-by-step
presentation of a document by the author at a
walk-through meeting.
◦ The primary objective is to find defects-
Quite often the author discovers defects him-
or herself just by going through the
document.
◦ The secondary objective is to create a
common understanding of the contents of the
document under testing.
◦ are usually planned to take place at certain
times in the development life cycle.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 19
Technical/Peer review
◦ we can check one another's documents to
find and resolve the bugs, which is
generally done in a team.
◦ technical specifications are reviewed by
peers in order to detect any errors.
◦ A technical review is a peer group
discussion activity that focuses on
achieving consensus on the technical
approach to be taken.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 20
Technical/Peer review…
◦ The primary objective is to find defects.
◦ The secondary objective is to make
technical decisions and (one hopes) reach
consensus about the approach to the
work.
◦ Technical reviews are usually planned to
take place at certain times in the
development life cycle.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 21
Management review
◦ It is performed on management documents. This
may be:
Project-related plans, such as:
Project management plans, including
schedules and resources
Quality assurance plans
Configuration management plans
Risk management plans
Contingency plans
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 22
Management review…
◦ Plans pertaining to the product, such as:
Safety plans
Installation plans
Maintenance plans
Backup and recovery plans
Disaster plans
◦ Reports, such as:
Progress reports
Incident reports, including customer complaints
Technical review reports
Inspection reports
Audit reports
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 23
Management review…
◦ The primary objective is to find defects in the
documents under static testing.
◦ The secondary objective is to monitor progress
according to the current plan, to assess status,
and to make necessary decisions about any
actions to take accordingly, including changes in
resources, time, and/or scope/quality and
updating the plan accordingly.
◦ The scope and the quality are usually expressed
in terms of requirements to fulfil.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 24
Management review…
◦ Management reviews are usually planned to take
place at certain times in the development life
cycle, typically in connection with defined
milestones, that is, transfer from one
development phase to the next.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 25
Inspection
◦ In review, the inspection is essentially verifying
the document by the higher authority, for
example, the verification of SRS [software
requirement specifications] document.
◦ Inspection is a formal and well-defined type of
static test.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 26
Inspection …characteristics
◦ The process to follow must be the formally
defined process
◦ The roles must be the defined inspection roles
◦ Source material (basis documentation) must
always be used
◦ The inspectors must look for specific kinds of
issues
◦ Metrics must be defined and collected
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 27
Inspection …main purposes
◦ Product improvement
◦ Process improvement
The formal inspection process consists of the
activities:
◦ Planning
◦ Overview
◦ Preparation
◦ Meeting
◦ Rework
◦ Follow-up
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 28
Informal review -> Inspection
◦ This order ensures that the trivial defects have
been removed before the inspection so that the
inspection can be focused on major issues.
Technical Review -> Inspection -> Walk-through
◦ This order ensures that the document is as defect
free as we may expect and that it is ready for
transfer to another group of people in the
development.
◦ This other group gets the best starting point by
being introduced to the document by the author.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 29
Technical review -> Walk-through
◦ This sequence of static testing types is less
formal than the one above, but the objectives are
the same.
Walk-through -> Inspection -> Informal review
◦ This order ensures that the author is on the right
track and can carry on working on the document
until it is ready for inspection.
◦ After the inspection any minor spelling, grammar,
and formatting issues will be caught before the
document is released.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 30
Informal review -> Technical review ->
Inspection
◦ This sequence is the most formal, and it ensures
that the document doesn’t have minor defects
before the technical review and that the
document is as defect free as we may expect
both from a technical and a more formalistic
point of view.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 31
Pros of static testing
Cons of static testing
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 32
Static testing Dynamic testing
It checks the code or It checks the code or
the application without the application by
executing the code. executing the code.
It is a It is a
Verification Process Validation Process.
It is used to prevent used to find and fix
the defects.
defects.
It can be done only
It can be performed
after the executables
before the compilation
are prepared.
of code.
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 33
Tools for static testing
◦ Squale
◦ sonarQube
◦ SorceMeter
◦ Jtest
◦ ……
Software Testing and Quality Assurance, Compiled by Erku K. 3/2/2023 34
Any question ?
Software Testing and Quality Assurance, Compiled by Erku K. 2/28/2023 35