際際滷

際際滷Share a Scribd company logo
Click to add Title
Static Testing
e-Infochips Institute of Training Research and Academics Limited
Prepared By:-
Dharita Chokshi
Outlines
 What is Static Testing
 Participants in Static Testing
 Static Testing Techniques
 Advantages of Static Testing
 Disadvantages of Static Testing
 Static v/s Dynamic Testing
 Tools for Static Testing
What is Static Testing?
 Static testing is a software testing method that
involves examination of program's code and its
associated documentation but does not require
the program to be executed.
 Also called as Dry-Run Testing.
 Requires programmers to manually read their
own code to find any errors. Hence named static.
 Static testing is a stage of White Box Testing.
What is Static Testing?
 Main objective of this testing is to improve the quality
of software products by finding errors in early stages
of the development cycle.
 Most static testing techniques can be used to test any
form of document including source code, design
documents and models, functional specifications and
requirement specifications.
Participants in Static Testing
During a review four types of participants take part. They
are:
1. Moderator
2. Author
3. Scribe
4. Reviewer
5. Manager
Participants in Static Testing
The moderator
 Also known as review leader
 Performs entry check
 Follow-up on the rework
 Schedules the meeting
 Coaches other team
 Leads the possible discussion and stores the data that is
collected
Participants in Static Testing
The author
 Illuminate the unclear areas and understand the defects
found
 Basic goal should be to learn as much as possible with
regard to improving the quality of the document.
The scribe
 Scribe is a separate person to do the logging of the
defects found during the review.
Participants in Static Testing
The reviewers
 Also known as checkers or inspectors
 Check any material for defects, mostly prior to the
meeting
 The manager can also be involved in the review
depending on his or her background.
The managers
 Manager decides on the execution of reviews
 Allocates time in project schedules and determines
whether review process objectives have been met
Static Testing Techniques
 Informal Reviews
 Formal Reviews
 Technical Reviews
 Walk Through
 Inspection Process
 Static Code Review
Informal Review
 Doesn't follow any process to find errors in the
document, you just review the document and give
informal comments on it.
 Applied many times during the early stages of the life
cycle of the document.
 A two person team can conduct an informal review and
in later stages more people are involved.
 The goal is to keep the author and to improve the quality
of the document.
 The most important thing to keep in mind about the
informal reviews is that they are not documented.
Formal Review
Formal reviews follow a formal process. It is well structured
and regulated (Controlled). A formal review process
consists of six main steps:
1. Planning
2. Kick-off
3. Preparation
4. Review meeting
5. Rework
6. Follow-up
Technical Review
 A team consisting of your peers, review the technical
specification of the software product and checks whether
it is suitable for the project.
 They try to find any discrepancies in the specifications
and standards followed.
 This review concentrates mainly on the technical
document related to the software such as Test Strategy,
Test Plan and requirement specification documents.
Walkthrough
 The author of the work product explains the product to
his team.
 Participants can ask questions if any.
 Meeting is led by the author.
 Scribe makes note of review comments
Inspection
 The main purpose is to find defects and meeting is led
by trained moderator.
 This review is a formal type of review where it follows
strict process to find the defects.
 Reviewers have checklist to review the work products .
 They record the defect and inform the participants to
rectify those errors.
Static Code Review
 This is systematic review of the software source code
without executing the code.
 It checks the syntax of the code, coding standards, code
optimization, etc.
 This is also termed as white box testing.
 This review can be done at any point during
development.
Advantages of Static Testing
 Since static testing can start early in the life cycle so
early feedback on quality issues can be established.
 As the defects are getting detected at an early stage so
the rework (Revise and rewrite) cost most often relatively
low.
 Development productivity is likely to increase because of
the less rework effort.
Disadvantages of Static Testing
 Time consuming as conducted manually.
 Does not find vulnerabilities introduced in runtime
environment.
 Limited trainee personnel to thoroughly conduct static
code analysis.
Static v/s Dynamic Testing
Static v/s Dynamic Testing
Static Testing Dynamic Testing
Testing is done without executing
the program
Testing is done by executing the
program
This testing does verification
process
Dynamic testing does validation
process
It is about prevention of defects It is about finding and fixing the
defects
Gives assessment of code and
documentation
Gives bugs/bottlenecks in the
software system.
Involves checklist and process to
be followed
Involves test cases for execution
Performed before compilation Performed after compilation
Static v/s Dynamic Testing
Static Testing Dynamic Testing
Covers the structural and statement
coverage testing
Covers the executable file of the
code
Cost of finding defects and fixing is
less
Cost of finding and fixing defects is
high
Return on investment will be high
as this process is involved at early
stage
Return on investment will be low as
this process is involved after the
development phase
More reviews comments are highly
recommended for good quality
More defects are highly
recommended for good quality.
Requires loads of meetings Comparatively requires lesser
meetings
Tools for Static Testing
 Checkstyle
 FindBugs
 IntelliJ IDEA
 Jarchitect
 Jtest
 LDRA Testbed
 PMD
 SemmleCode
 Sonargraph
 Soot
 Squale
 SonarQube
 SourceMeter
 ThreadSafe
Jtest  Static Testing Tool
Thank you

More Related Content

Static Testing

  • 1. Click to add Title Static Testing e-Infochips Institute of Training Research and Academics Limited Prepared By:- Dharita Chokshi
  • 2. Outlines What is Static Testing Participants in Static Testing Static Testing Techniques Advantages of Static Testing Disadvantages of Static Testing Static v/s Dynamic Testing Tools for Static Testing
  • 3. What is Static Testing? Static testing is a software testing method that involves examination of program's code and its associated documentation but does not require the program to be executed. Also called as Dry-Run Testing. Requires programmers to manually read their own code to find any errors. Hence named static. Static testing is a stage of White Box Testing.
  • 4. What is Static Testing? Main objective of this testing is to improve the quality of software products by finding errors in early stages of the development cycle. Most static testing techniques can be used to test any form of document including source code, design documents and models, functional specifications and requirement specifications.
  • 5. Participants in Static Testing During a review four types of participants take part. They are: 1. Moderator 2. Author 3. Scribe 4. Reviewer 5. Manager
  • 6. Participants in Static Testing The moderator Also known as review leader Performs entry check Follow-up on the rework Schedules the meeting Coaches other team Leads the possible discussion and stores the data that is collected
  • 7. Participants in Static Testing The author Illuminate the unclear areas and understand the defects found Basic goal should be to learn as much as possible with regard to improving the quality of the document. The scribe Scribe is a separate person to do the logging of the defects found during the review.
  • 8. Participants in Static Testing The reviewers Also known as checkers or inspectors Check any material for defects, mostly prior to the meeting The manager can also be involved in the review depending on his or her background. The managers Manager decides on the execution of reviews Allocates time in project schedules and determines whether review process objectives have been met
  • 9. Static Testing Techniques Informal Reviews Formal Reviews Technical Reviews Walk Through Inspection Process Static Code Review
  • 10. Informal Review Doesn't follow any process to find errors in the document, you just review the document and give informal comments on it. Applied many times during the early stages of the life cycle of the document. A two person team can conduct an informal review and in later stages more people are involved. The goal is to keep the author and to improve the quality of the document. The most important thing to keep in mind about the informal reviews is that they are not documented.
  • 11. Formal Review Formal reviews follow a formal process. It is well structured and regulated (Controlled). A formal review process consists of six main steps: 1. Planning 2. Kick-off 3. Preparation 4. Review meeting 5. Rework 6. Follow-up
  • 12. Technical Review A team consisting of your peers, review the technical specification of the software product and checks whether it is suitable for the project. They try to find any discrepancies in the specifications and standards followed. This review concentrates mainly on the technical document related to the software such as Test Strategy, Test Plan and requirement specification documents.
  • 13. Walkthrough The author of the work product explains the product to his team. Participants can ask questions if any. Meeting is led by the author. Scribe makes note of review comments
  • 14. Inspection The main purpose is to find defects and meeting is led by trained moderator. This review is a formal type of review where it follows strict process to find the defects. Reviewers have checklist to review the work products . They record the defect and inform the participants to rectify those errors.
  • 15. Static Code Review This is systematic review of the software source code without executing the code. It checks the syntax of the code, coding standards, code optimization, etc. This is also termed as white box testing. This review can be done at any point during development.
  • 16. Advantages of Static Testing Since static testing can start early in the life cycle so early feedback on quality issues can be established. As the defects are getting detected at an early stage so the rework (Revise and rewrite) cost most often relatively low. Development productivity is likely to increase because of the less rework effort.
  • 17. Disadvantages of Static Testing Time consuming as conducted manually. Does not find vulnerabilities introduced in runtime environment. Limited trainee personnel to thoroughly conduct static code analysis.
  • 19. Static v/s Dynamic Testing Static Testing Dynamic Testing Testing is done without executing the program Testing is done by executing the program This testing does verification process Dynamic testing does validation process It is about prevention of defects It is about finding and fixing the defects Gives assessment of code and documentation Gives bugs/bottlenecks in the software system. Involves checklist and process to be followed Involves test cases for execution Performed before compilation Performed after compilation
  • 20. Static v/s Dynamic Testing Static Testing Dynamic Testing Covers the structural and statement coverage testing Covers the executable file of the code Cost of finding defects and fixing is less Cost of finding and fixing defects is high Return on investment will be high as this process is involved at early stage Return on investment will be low as this process is involved after the development phase More reviews comments are highly recommended for good quality More defects are highly recommended for good quality. Requires loads of meetings Comparatively requires lesser meetings
  • 21. Tools for Static Testing Checkstyle FindBugs IntelliJ IDEA Jarchitect Jtest LDRA Testbed PMD SemmleCode Sonargraph Soot Squale SonarQube SourceMeter ThreadSafe
  • 22. Jtest Static Testing Tool

Editor's Notes

  • #2: 1
  • #19: Verification and Validation are two measures used to check that the software product meets the requirements specifications. Static testing involves verification whereas dynamic testing involves validation. Together they help improve software quality.