0% found this document useful (0 votes)
17 views

Chapter Six-Static Testing

Static testing is a verification process used to test software without executing code by manually reviewing documentation and source code. It aims to identify defects early by reviewing requirements, design documents, source code, and other artifacts.

Uploaded by

miki
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Chapter Six-Static Testing

Static testing is a verification process used to test software without executing code by manually reviewing documentation and source code. It aims to identify defects early by reviewing requirements, design documents, source code, and other artifacts.

Uploaded by

miki
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

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

You might also like