SlideShare a Scribd company logo
1 of 47
Static
Testing
1 Principles 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
Contents
 Reviews and the test process
 Types of review
 Static analysis
People techniques
 individual:
desk-checking, data-stepping, proof-reading
 group:
Reviews (informal & formal): for consensus
Walkthrough: for education
Inspection (most formal): to find faults
Static techniques do not execute codeStatic techniques do not execute code
Benefits of reviews
 Development productivity improvement
 Reduced development timescales
 Reduced testing time and cost
 Lifetime cost reductions
 Reduced fault levels
 Improved customer relations
 etc.
Reviews are cost-effective
 10 times reduction in faults reaching test,
testing cost reduced by 50% to 80%
Handbook of Walkthroughs, Inspections &
Technical Reviews - Freedman & Weinberg
 reduce faults by a factor of 10
Structured Walkthroughs - Yourdon
 25% reduction in schedules, remove 80% -
95% of faults at each stage, 28 times
reduction in maintenance cost, many others
Software Inspection - Gilb & Graham
What can be Inspected?
Anything written down
can be Inspected
 policy, strategy, business plans, marketing or
advertising material, contracts
 system requirements, feasibility studies,
acceptance test plans
 test plans, test designs, test cases, test
results
 system designs, logical & physical
 software code
 user manuals, procedures, training material
What can be reviewed?
 anything which could be Inspected
i.e. anything written down
 plans, visions, “big picture”, strategic
directions, ideas
 project progress
work completed to schedule, etc.
 “Should we develop this” marketing options
What to review / Inspect?
Tests
Tests
Tests
Tests
Requirements
Design
Code
Functions
Integration T
Unit Test
Accept. Test
System Test
Costs of reviews
 Rough guide: 5%-15% of development effort
half day a week is 10%
 Effort required for reviews
planning (by leader / moderator)
preparation / self-study checking
meeting
fixing / editing / follow-up
recording & analysis of statistics / metrics
process improvement (should!)
Contents
Reviews and the test process
Types of review
Static analysis
Static testing
1 2
4 5
3
6
Types of review of documents
Informal Review
undocumented
 widely viewed as useful and cheap (but no one can
prove it!) A helpful first step for chaotic
organisations.
Technical Review: (or peer review)
 includes peer and technical experts, no
management participation. Normally documented,
fault-finding. Can be rather subjective.
Decision-making Review:
 group discusses document and makes a decision about
the content, e.g. how something should be done, go or
no-go decision, or technical comments
Types of review of documents
Walkthrough
 author guides the group through a document and his
or her thought processes, so all understand the
same thing, consensus on changes to make
Inspection:
 formal individual and group checking, using sources
and standards, according to generic and specific
rules and checklists, using entry and exit criteria,
Leader must be trained & certified, metrics required
Reviews in general 1
 Objectives / goals
validation & verification against specifications &
standards
achieve consensus (excluding Inspection)
process improvement (ideal, included in
Inspection)
Reviews in general 2
 Activities
planning
overview / kick-off meeting (Inspection)
preparation / individual checking
review meeting (not always)
follow-up (for some types)
metrics recording & analysis (Inspections and
sometimes reviews)
Reviews in general 3
 Roles and responsibilities
Leader / moderator - plans the review / Inspection,
chooses participants, helps & encourages,
conducts the meeting, performs follow-up,
manages metrics
Author of the document being reviewed /
Inspected
Reviewers / Inspectors - specialised fault-finding
roles for Inspection
Managers - excluded from some types of review,
need to plan project time for review / Inspection
Others: e.g. Inspection/ review Co-ordinator
Reviews in general 4
 Deliverables
Changes (edits) in review product
Change requests for source documents
(predecessor documents to product being
reviewed / Inspected)
Process improvement suggestions
 to the review / Inspection process
 to the development process which produced the product
just reviewed / Inspected
Metrics (Inspection and some types of review)
Reviews in general 5
 Pitfalls (they don’t always work!)
lack of training in the technique (especially
Inspection, the most formal)
lack of or quality of documentation - what is being
reviewed / Inspected
Lack of management support - “lip service” - want
them done, but don’t allow time for them to
happen in project schedules
Failure to improve processes (gets disheartening
just getting better at finding the same thing over
again)
Inspection is different
• the document to be
reviewed is given out in
advance
• typically dozens of
pages to review
• instructions are "please
review this"
• not just product,
sources
• chunk or sample
• training, roles
Inspection is different
• some people have time
to look through it and
make comments before
the meeting (which is
difficult to arrange)
• the meeting often lasts
for hours
 entry criteria to
meeting, may not be
worth holding
 2 max., often much
shorter
Inspection is different
• "I don't like this"
• much discussion, some
about technical
approaches, some about
trivia
• don't really know if it was
worthwhile, but we keep
doing it
 Rule violations, objective,
not subjective
• no discussion, highly
focused, anti-trivia
 only do it if value is
proven (continually)
Inspection is more and better
 entry criteria
 training
 optimum checking rate
 prioritising the words
 standards
 process improvement
 exit criteria
 quantified estimates of
remaining major faults
per page
typical review
early Inspection
mature Inspection
effectiveness return on investment
10 - 20% unknown
30 - 40% 6 - 8 hrs / Insp hr
80 - 95% 8 - 30 hrs / Insp hr
The Inspection Process
Software
Development
Stage
.
.
Planning
Kick
off
Ind
Chk
Meet Edit
Change
Request
Process
Improvement
Entry
Next Software
Development
Stage
Exit
At first glance..
Here’s a document: review this (or Inspect it)
Reviews: time and size determine
rate
Time
Checking
Rate
Size
2 hrs?
100 pages?
50 pages per hour
Checking
Rate
Review “Thoroughness”?
ordinary “review” - finds some faults, one major, fix them,
consider the document now corrected and OK
major minor
minor
Inspection: time and rate determine size
Time
Checking
Rate
Size
2 hrs?
Optimum:
1 page*
per hour
2 pages (at optimum rate)
Size
* 1 page = 300 important words
Inspection Thoroughness
Inspection can find deep-seated faults:
• all of that type can be corrected
• but needs optimum checking rate
Inspection surprises
 Fundamental importance of Rules
democratically agreed as applying
define major issues / faults
 Slow checking rates
 Strict entry & exit criteria
 Fast logging rates
 Amount of responsibility given to author
Contents
 Reviews and the test process
 Types of review
 Static analysis
What can static analysis do?
Remember: static techniques do
not execute
the code
 A form of automated testing
check for violations of standards
check for things which may be a fault
 Descended from compiler technology
a compiler statically analyses code, and “knows” a
lot about it, e.g. variable usage; finds syntax faults
static analysis tools extend this knowledge
can find unreachable code, undeclared variables,
parameter type mis-matches, uncalled functions &
procedures, array bound violations, etc.
Data flow analysis
 This is the study of program variables
variable defined* where a value is stored into it
variable used where the stored value is accessed
variable is undefined before it is defined or when it
goes out of scope
*defined should not be confused with declared
x = y + z
IF a > b THEN read(S)
x is defined, y and z are used
a and b are used, S is defined
Data flow analysis faults
n := 0
read (x)
n := 1
while x > y do
begin
read (y)
write( n*y)
x := x - n
end
Data flow anomaly: n is
re-defined without being used
Data flow fault: y is used
before it has been defined
(first time around the loop)
Control flow analysis
 Highlights:
nodes not accessible from start node
infinite loops
multiple entry to loops
whether code is well structured, i.e. reducible
whether code conforms to a flowchart grammar
any jumps to undefined labels
any labels not jumped to
cyclomatic complexity and other metrics
Unreachable code example
 Macro definitions
(different for different platforms the code runs on)
Buffsize: 1000
Mailboxmax: 1000
IF Buffsize < Mailboxmax THEN
Error-Exit
ENDIF
 Static Analysis finds the THEN clause
unreachable, so will flag a fault
Cyclomatic complexity
 cyclomatic complexity is a measure of the
complexity of a flow graph
(and therefore the code that the flow graph
represents)
 the more complex the flow graph, the greater
the measure
 it can most easily be calculated as:
complexity = number of decisions + 1
Which flow graph is most complex?
1
2 3 5
What is the cyclomatic complexity?
Example control flow graph
Result = 0
Right = 0
DO WHILE more Questions
IF Answer = Correct THEN
Right = Right + 1
ENDIF
END DO
Result = (Right / Questions)
IF Result > 60% THEN
Print "pass"
ELSE
Print "fail”
ENDIF
do
if r=r+1
end
init
if
res
pass
fail
end
Pseudo-code:
Other static metrics
 lines of code (LOC)
 operands & operators (Halstead’s metrics)
 fan-in & fan-out
 nesting levels
 function calls
 OO metrics: inheritance tree depth, number of
methods, coupling & cohesion
Limitations and advantages
 Limitations:
cannot distinguish "fail-safe" code from
programming faults or anomalies (often creates
overload of spurious error messages)
does not execute the code, so not related to
operating conditions
 Advantages:
can find faults difficult to "see"
gives objective quality assessment of code
Summary: Key Points
 Reviews help to find faults in development
and test documentation, and should be
applied early
 Types of review: informal, walkthrough,
technical / peer review, Inspection
 Static analysis can find faults and give
information about code without executing it

More Related Content

What's hot

ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
Yogindernath Gupta
 
ISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam PracticeISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam Practice
Yogindernath Gupta
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
Yogindernath Gupta
 

What's hot (20)

Static Testing
Static TestingStatic Testing
Static Testing
 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
 
ISTQB, ISEB Lecture Notes- 4
ISTQB, ISEB Lecture Notes- 4ISTQB, ISEB Lecture Notes- 4
ISTQB, ISEB Lecture Notes- 4
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
ISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam PracticeISTQB / ISEB Foundation Exam Practice
ISTQB / ISEB Foundation Exam Practice
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5
 
ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
Fundamentals of Software Testing
Fundamentals of Software TestingFundamentals of Software Testing
Fundamentals of Software Testing
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6
 
CTFL Module 03
CTFL Module 03CTFL Module 03
CTFL Module 03
 
System testing
System testingSystem testing
System testing
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Test case design
Test case designTest case design
Test case design
 

Viewers also liked

Reviews checklists
Reviews checklistsReviews checklists
Reviews checklists
Oana Feidi
 

Viewers also liked (9)

STATIC TESTING
STATIC TESTINGSTATIC TESTING
STATIC TESTING
 
Review 어떻게 할까 20140820
Review 어떻게 할까 20140820Review 어떻게 할까 20140820
Review 어떻게 할까 20140820
 
Test design
Test designTest design
Test design
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Fagan Inspection
Fagan InspectionFagan Inspection
Fagan Inspection
 
손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.
 
Android - Intents - Mazenet Solution
Android - Intents - Mazenet SolutionAndroid - Intents - Mazenet Solution
Android - Intents - Mazenet Solution
 
An Introduction to Software Testing
An Introduction to Software TestingAn Introduction to Software Testing
An Introduction to Software Testing
 
Reviews checklists
Reviews checklistsReviews checklists
Reviews checklists
 

Similar to Static testing techniques

Similar to Static testing techniques (20)

03. static techniques
03. static techniques03. static techniques
03. static techniques
 
AiTi Education Software Testing Session 03
AiTi Education Software Testing Session 03AiTi Education Software Testing Session 03
AiTi Education Software Testing Session 03
 
3.static techniques
3.static techniques3.static techniques
3.static techniques
 
Bab 3
Bab 3Bab 3
Bab 3
 
Static nopri wahyudi
Static nopri wahyudiStatic nopri wahyudi
Static nopri wahyudi
 
Chapter Three Static Techniques
Chapter Three Static TechniquesChapter Three Static Techniques
Chapter Three Static Techniques
 
Lecture 10 Static Testing.ppt
Lecture 10 Static Testing.pptLecture 10 Static Testing.ppt
Lecture 10 Static Testing.ppt
 
Static techniques software development - Testing & Implementation
Static techniques software development - Testing & ImplementationStatic techniques software development - Testing & Implementation
Static techniques software development - Testing & Implementation
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 
Static Techniques (Chapter 3)
Static Techniques (Chapter 3)Static Techniques (Chapter 3)
Static Techniques (Chapter 3)
 
Testing 1 static techniques
Testing 1 static techniquesTesting 1 static techniques
Testing 1 static techniques
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Fundamentals_of_Software_testing.pptx
Fundamentals_of_Software_testing.pptxFundamentals_of_Software_testing.pptx
Fundamentals_of_Software_testing.pptx
 
Chapter 3 Static Techniques
Chapter 3 Static TechniquesChapter 3 Static Techniques
Chapter 3 Static Techniques
 
Unit3 software review control software
Unit3 software review control softwareUnit3 software review control software
Unit3 software review control software
 
Quality Control
Quality ControlQuality Control
Quality Control
 
Static techniques
Static techniquesStatic techniques
Static techniques
 
Marjuni.
Marjuni.Marjuni.
Marjuni.
 
chapter 7.ppt
chapter 7.pptchapter 7.ppt
chapter 7.ppt
 
Static techniques
Static techniquesStatic techniques
Static techniques
 

More from Mazenetsolution

More from Mazenetsolution (20)

Tally Auto E-mail Module | Mazenet Technologies
Tally Auto E-mail Module | Mazenet TechnologiesTally Auto E-mail Module | Mazenet Technologies
Tally Auto E-mail Module | Mazenet Technologies
 
Tally Auto SMS Module| Mazenet Technologies
Tally Auto SMS  Module| Mazenet TechnologiesTally Auto SMS  Module| Mazenet Technologies
Tally Auto SMS Module| Mazenet Technologies
 
Tally auto synchronization
Tally auto synchronization Tally auto synchronization
Tally auto synchronization
 
Print barcode using voucher- Mazenettechnologies
Print barcode using voucher- MazenettechnologiesPrint barcode using voucher- Mazenettechnologies
Print barcode using voucher- Mazenettechnologies
 
Copy user list | Tally | Tally Software | Accounting Software | Mazenet
Copy user list | Tally | Tally Software | Accounting Software | MazenetCopy user list | Tally | Tally Software | Accounting Software | Mazenet
Copy user list | Tally | Tally Software | Accounting Software | Mazenet
 
Auto synchronization | Tally Software | Mazenet Technologies
Auto synchronization | Tally Software | Mazenet TechnologiesAuto synchronization | Tally Software | Mazenet Technologies
Auto synchronization | Tally Software | Mazenet Technologies
 
Auto backup | Tally Coimbatore | Tally Software
Auto backup | Tally Coimbatore | Tally SoftwareAuto backup | Tally Coimbatore | Tally Software
Auto backup | Tally Coimbatore | Tally Software
 
Mazenet Technologies-Tally
Mazenet Technologies-TallyMazenet Technologies-Tally
Mazenet Technologies-Tally
 
Java - Servlet - Mazenet Solution
Java - Servlet - Mazenet SolutionJava - Servlet - Mazenet Solution
Java - Servlet - Mazenet Solution
 
Software Testing - Tool support for testing (CAST) - Mazenet Solution
Software Testing - Tool support for testing (CAST) - Mazenet SolutionSoftware Testing - Tool support for testing (CAST) - Mazenet Solution
Software Testing - Tool support for testing (CAST) - Mazenet Solution
 
Software Testing - Test management - Mazenet Solution
Software Testing - Test management - Mazenet SolutionSoftware Testing - Test management - Mazenet Solution
Software Testing - Test management - Mazenet Solution
 
Red Hat - LVM - Mazenet Solution
Red Hat - LVM - Mazenet SolutionRed Hat - LVM - Mazenet Solution
Red Hat - LVM - Mazenet Solution
 
PHP - Introduction to PHP - Mazenet Solution
PHP - Introduction to PHP - Mazenet SolutionPHP - Introduction to PHP - Mazenet Solution
PHP - Introduction to PHP - Mazenet Solution
 
Java- GUI- Mazenet solution
Java- GUI- Mazenet solutionJava- GUI- Mazenet solution
Java- GUI- Mazenet solution
 
Oracle- Introduction to Sql commands- Mazenet solution
Oracle- Introduction to Sql commands- Mazenet solutionOracle- Introduction to Sql commands- Mazenet solution
Oracle- Introduction to Sql commands- Mazenet solution
 
Process management in linux
Process management in linuxProcess management in linux
Process management in linux
 
Software Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet SolutionSoftware Testing- Principles of testing- Mazenet Solution
Software Testing- Principles of testing- Mazenet Solution
 
Java- JDBC- Mazenet Solution
Java- JDBC- Mazenet SolutionJava- JDBC- Mazenet Solution
Java- JDBC- Mazenet Solution
 
Software Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solutionSoftware Testing-Dynamic testing technique-Mazenet solution
Software Testing-Dynamic testing technique-Mazenet solution
 
Java- Updates in java8-Mazenet solution
Java- Updates in java8-Mazenet solutionJava- Updates in java8-Mazenet solution
Java- Updates in java8-Mazenet solution
 

Recently uploaded

Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
AnaAcapella
 

Recently uploaded (20)

UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdfUGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Simple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfSimple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to Add a Tool Tip to a Field in Odoo 17
How to Add a Tool Tip to a Field in Odoo 17How to Add a Tool Tip to a Field in Odoo 17
How to Add a Tool Tip to a Field in Odoo 17
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPSSpellings Wk 4 and Wk 5 for Grade 4 at CAPS
Spellings Wk 4 and Wk 5 for Grade 4 at CAPS
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
Economic Importance Of Fungi In Food Additives
Economic Importance Of Fungi In Food AdditivesEconomic Importance Of Fungi In Food Additives
Economic Importance Of Fungi In Food Additives
 
Our Environment Class 10 Science Notes pdf
Our Environment Class 10 Science Notes pdfOur Environment Class 10 Science Notes pdf
Our Environment Class 10 Science Notes pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 

Static testing techniques

  • 1. Static Testing 1 Principles 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing
  • 2. Contents  Reviews and the test process  Types of review  Static analysis
  • 3. People techniques  individual: desk-checking, data-stepping, proof-reading  group: Reviews (informal & formal): for consensus Walkthrough: for education Inspection (most formal): to find faults Static techniques do not execute codeStatic techniques do not execute code
  • 4. Benefits of reviews  Development productivity improvement  Reduced development timescales  Reduced testing time and cost  Lifetime cost reductions  Reduced fault levels  Improved customer relations  etc.
  • 5. Reviews are cost-effective  10 times reduction in faults reaching test, testing cost reduced by 50% to 80% Handbook of Walkthroughs, Inspections & Technical Reviews - Freedman & Weinberg  reduce faults by a factor of 10 Structured Walkthroughs - Yourdon
  • 6.  25% reduction in schedules, remove 80% - 95% of faults at each stage, 28 times reduction in maintenance cost, many others Software Inspection - Gilb & Graham
  • 7. What can be Inspected? Anything written down can be Inspected  policy, strategy, business plans, marketing or advertising material, contracts  system requirements, feasibility studies, acceptance test plans  test plans, test designs, test cases, test results
  • 8.  system designs, logical & physical  software code  user manuals, procedures, training material
  • 9. What can be reviewed?  anything which could be Inspected i.e. anything written down  plans, visions, “big picture”, strategic directions, ideas  project progress work completed to schedule, etc.  “Should we develop this” marketing options
  • 10. What to review / Inspect? Tests Tests Tests Tests Requirements Design Code Functions Integration T Unit Test Accept. Test System Test
  • 11. Costs of reviews  Rough guide: 5%-15% of development effort half day a week is 10%  Effort required for reviews planning (by leader / moderator) preparation / self-study checking meeting fixing / editing / follow-up recording & analysis of statistics / metrics process improvement (should!)
  • 12. Contents Reviews and the test process Types of review Static analysis Static testing 1 2 4 5 3 6
  • 13. Types of review of documents Informal Review undocumented  widely viewed as useful and cheap (but no one can prove it!) A helpful first step for chaotic organisations. Technical Review: (or peer review)  includes peer and technical experts, no management participation. Normally documented, fault-finding. Can be rather subjective.
  • 14. Decision-making Review:  group discusses document and makes a decision about the content, e.g. how something should be done, go or no-go decision, or technical comments
  • 15. Types of review of documents Walkthrough  author guides the group through a document and his or her thought processes, so all understand the same thing, consensus on changes to make Inspection:  formal individual and group checking, using sources and standards, according to generic and specific rules and checklists, using entry and exit criteria, Leader must be trained & certified, metrics required
  • 16. Reviews in general 1  Objectives / goals validation & verification against specifications & standards achieve consensus (excluding Inspection) process improvement (ideal, included in Inspection)
  • 17. Reviews in general 2  Activities planning overview / kick-off meeting (Inspection) preparation / individual checking review meeting (not always) follow-up (for some types) metrics recording & analysis (Inspections and sometimes reviews)
  • 18. Reviews in general 3  Roles and responsibilities Leader / moderator - plans the review / Inspection, chooses participants, helps & encourages, conducts the meeting, performs follow-up, manages metrics Author of the document being reviewed / Inspected
  • 19. Reviewers / Inspectors - specialised fault-finding roles for Inspection Managers - excluded from some types of review, need to plan project time for review / Inspection Others: e.g. Inspection/ review Co-ordinator
  • 20. Reviews in general 4  Deliverables Changes (edits) in review product Change requests for source documents (predecessor documents to product being reviewed / Inspected) Process improvement suggestions  to the review / Inspection process  to the development process which produced the product just reviewed / Inspected Metrics (Inspection and some types of review)
  • 21. Reviews in general 5  Pitfalls (they don’t always work!) lack of training in the technique (especially Inspection, the most formal) lack of or quality of documentation - what is being reviewed / Inspected
  • 22. Lack of management support - “lip service” - want them done, but don’t allow time for them to happen in project schedules Failure to improve processes (gets disheartening just getting better at finding the same thing over again)
  • 23. Inspection is different • the document to be reviewed is given out in advance • typically dozens of pages to review • instructions are "please review this" • not just product, sources • chunk or sample • training, roles
  • 24. Inspection is different • some people have time to look through it and make comments before the meeting (which is difficult to arrange) • the meeting often lasts for hours  entry criteria to meeting, may not be worth holding  2 max., often much shorter
  • 25. Inspection is different • "I don't like this" • much discussion, some about technical approaches, some about trivia • don't really know if it was worthwhile, but we keep doing it  Rule violations, objective, not subjective • no discussion, highly focused, anti-trivia  only do it if value is proven (continually)
  • 26. Inspection is more and better  entry criteria  training  optimum checking rate  prioritising the words  standards  process improvement  exit criteria  quantified estimates of remaining major faults per page typical review early Inspection mature Inspection effectiveness return on investment 10 - 20% unknown 30 - 40% 6 - 8 hrs / Insp hr 80 - 95% 8 - 30 hrs / Insp hr
  • 27. The Inspection Process Software Development Stage . . Planning Kick off Ind Chk Meet Edit Change Request Process Improvement Entry Next Software Development Stage Exit
  • 28. At first glance.. Here’s a document: review this (or Inspect it)
  • 29. Reviews: time and size determine rate Time Checking Rate Size 2 hrs? 100 pages? 50 pages per hour Checking Rate
  • 30. Review “Thoroughness”? ordinary “review” - finds some faults, one major, fix them, consider the document now corrected and OK major minor minor
  • 31. Inspection: time and rate determine size Time Checking Rate Size 2 hrs? Optimum: 1 page* per hour 2 pages (at optimum rate) Size * 1 page = 300 important words
  • 32. Inspection Thoroughness Inspection can find deep-seated faults: • all of that type can be corrected • but needs optimum checking rate
  • 33. Inspection surprises  Fundamental importance of Rules democratically agreed as applying define major issues / faults  Slow checking rates  Strict entry & exit criteria  Fast logging rates  Amount of responsibility given to author
  • 34. Contents  Reviews and the test process  Types of review  Static analysis
  • 35. What can static analysis do? Remember: static techniques do not execute the code  A form of automated testing check for violations of standards check for things which may be a fault
  • 36.  Descended from compiler technology a compiler statically analyses code, and “knows” a lot about it, e.g. variable usage; finds syntax faults static analysis tools extend this knowledge can find unreachable code, undeclared variables, parameter type mis-matches, uncalled functions & procedures, array bound violations, etc.
  • 37. Data flow analysis  This is the study of program variables variable defined* where a value is stored into it variable used where the stored value is accessed variable is undefined before it is defined or when it goes out of scope *defined should not be confused with declared x = y + z IF a > b THEN read(S) x is defined, y and z are used a and b are used, S is defined
  • 38. Data flow analysis faults n := 0 read (x) n := 1 while x > y do begin read (y) write( n*y) x := x - n end Data flow anomaly: n is re-defined without being used Data flow fault: y is used before it has been defined (first time around the loop)
  • 39. Control flow analysis  Highlights: nodes not accessible from start node infinite loops multiple entry to loops whether code is well structured, i.e. reducible whether code conforms to a flowchart grammar any jumps to undefined labels any labels not jumped to cyclomatic complexity and other metrics
  • 40. Unreachable code example  Macro definitions (different for different platforms the code runs on) Buffsize: 1000 Mailboxmax: 1000 IF Buffsize < Mailboxmax THEN Error-Exit ENDIF
  • 41.  Static Analysis finds the THEN clause unreachable, so will flag a fault
  • 42. Cyclomatic complexity  cyclomatic complexity is a measure of the complexity of a flow graph (and therefore the code that the flow graph represents)  the more complex the flow graph, the greater the measure  it can most easily be calculated as: complexity = number of decisions + 1
  • 43. Which flow graph is most complex? 1 2 3 5 What is the cyclomatic complexity?
  • 44. Example control flow graph Result = 0 Right = 0 DO WHILE more Questions IF Answer = Correct THEN Right = Right + 1 ENDIF END DO Result = (Right / Questions) IF Result > 60% THEN Print "pass" ELSE Print "fail” ENDIF do if r=r+1 end init if res pass fail end Pseudo-code:
  • 45. Other static metrics  lines of code (LOC)  operands & operators (Halstead’s metrics)  fan-in & fan-out  nesting levels  function calls  OO metrics: inheritance tree depth, number of methods, coupling & cohesion
  • 46. Limitations and advantages  Limitations: cannot distinguish "fail-safe" code from programming faults or anomalies (often creates overload of spurious error messages) does not execute the code, so not related to operating conditions  Advantages: can find faults difficult to "see" gives objective quality assessment of code
  • 47. Summary: Key Points  Reviews help to find faults in development and test documentation, and should be applied early  Types of review: informal, walkthrough, technical / peer review, Inspection  Static analysis can find faults and give information about code without executing it