SlideShare a Scribd company logo
Software Testing Foundations #3
Static Testing
Nikita Knysh
nknysh@gmail.com
http://www.facebook.com/groups/istqb/
Agenda
• Reviews
• Static Analysis
Reviews in brief figures
• Cost of reviews is 10-15% of development budget
• Savings are about 14-25% (calculation includes
  review efforts).
• More than 70% of defects in documents can be
  found before they go to next work steps.
Review Objective and Types
Objective
• To decide if the review object has met the
  requirements and complies with the standards, as
  well as to find defects.

Major types of reviews:
• Reviews of tech products
• Project review aka Management review
Review Steps
•   Planning
•   Overview (Kick-off)
•   Preparation
•   Review Meeting (Examination)
•   Re-work
•   Follow-up
Review Roles
•   Manager
•   Moderator
•   Author
•   Reviewer (Inspector)
•   Recorder
Review Types
•   Walkthrough
•   Inspection
•   Technical review
•   Informal review
Review Type: Walkthrough
• Informal procedure where author presents
  document to reviewers (and chairs the meeting).
• Main focus is on meeting.
• Preparation is smallest among review types or
  omitted; follow-up is optional.
• Suitable for small teams (<=10 members). Can be
  used for checking ‘non-critical’ documents.
Review Type: Inspection
• Most formal review process – uses formal evaluation
  criteria.
• Checklists with formal inspection criteria (entry- and
  exit-criteria) are used.
• Focus: finding unclear points and possible defects,
  measuring document quality, improving quality of
  the product, development and inspection processes.
• Follow-up and re-inspection are formally regulated.
Review Type: Technical Review
• Focus: assessing document’s compliance with
  specification, fitness for its intended purpose and
  compliance to standards.
• Some of reviewers should not be project participants.
  Management does not participate.
• Based on only ‘official’ specs and specified review tasks.
• Most effort lies in the preparation work.
• Review meeting normally not attended by author.
• Consequences of review result are decided by
  management but not by review participants.
Review Type: Informal Review
• Follows general review procedure in a simplified way.
  Usually initiated by author.
• Is a kind of cross-read of one or more colleagues.
• Examples: pair programming, buddy testing, code
  swapping.
• Results should not be explicitly documented – a list
  of remarks or revised document is enough.
• Very common review type. Takes little effort.
Static Analysis
• Commonly, only program code can be static-analyzed,
  but sometimes there are also models (UML). Outputs in
  e.g. XML or HTML can be static-analyzed as well.
• Only makes sense with support of tools – documents
  must follow certain formal structure.
• Best practice is to perform it before review as it is
  automated and so cheaper to perform.
• Usually practiced by developers in component (by coding
  guidelines) and integration (by interface guidelines)
  testing.
Flaws Detected by Static Analysis
•   Syntax violation
•   Deviation from conventions and standards
•   Control flow anomalies
•   Data flow anomalies
Data Flow Analysis
Variables can be defined (d), referenced (r) and
undefined (u).

Anomalies:
• ur – undefined then read or used
• du – defined then gets invalid or undefined without
  use
• dd – defined twice without use of first value
Control Flow Analysis
• Cyclomatic (McCabe) number:
      c(G) = e – n + 2
      where e - graph edges,
      n - graph nodes.

• If c(G) > 10 then rework of program code needed.
• c(G) specifies number of independent paths in the
  program part.
• c(G) used to estimate testability & maintainability.
Thank you!

       http://www.facebook.com/groups/istqb/

More Related Content

Viewers also liked

Mt s4 types
Mt s4 typesMt s4 types
Mt s4 types
TestingGeeks
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Pune
sanjayjadhav8789
 
Mutation Testing
Mutation TestingMutation Testing
Mutation Testing
ESUG
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Drive test learning
Drive test learningDrive test learning
Drive test learning
Kshitij Verma
 
Software Testing
Software TestingSoftware Testing
Software Testing
Mousmi Pawar
 
WCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive TestingWCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive Testing
S Mohib Naqvi
 

Viewers also liked (7)

Mt s4 types
Mt s4 typesMt s4 types
Mt s4 types
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Pune
 
Mutation Testing
Mutation TestingMutation Testing
Mutation Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Drive test learning
Drive test learningDrive test learning
Drive test learning
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
WCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive TestingWCDMA Tems Parameters Investigation and Drive Testing
WCDMA Tems Parameters Investigation and Drive Testing
 

More from Nikita Knysh

Overview of test process improvement frameworks
Overview of test process improvement frameworksOverview of test process improvement frameworks
Overview of test process improvement frameworks
Nikita Knysh
 
Fundamental Test Process New
Fundamental Test Process NewFundamental Test Process New
Fundamental Test Process New
Nikita Knysh
 
Software Testing Foundations Part 7 - Basics of Test Management
Software Testing Foundations Part 7 - Basics of Test ManagementSoftware Testing Foundations Part 7 - Basics of Test Management
Software Testing Foundations Part 7 - Basics of Test Management
Nikita Knysh
 
Software Testing Foundations Part 8 - Test Tools
Software Testing Foundations Part 8 - Test ToolsSoftware Testing Foundations Part 8 - Test Tools
Software Testing Foundations Part 8 - Test Tools
Nikita Knysh
 
Software Testing Foundations Part 5 - White Box Testing
Software Testing Foundations Part 5 - White Box TestingSoftware Testing Foundations Part 5 - White Box Testing
Software Testing Foundations Part 5 - White Box Testing
Nikita Knysh
 
Software Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box TestingSoftware Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box Testing
Nikita Knysh
 
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingSoftware Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Nikita Knysh
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleSoftware Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Nikita Knysh
 
ACC presentation for QA Club Kiev
ACC presentation for QA Club KievACC presentation for QA Club Kiev
ACC presentation for QA Club Kiev
Nikita Knysh
 

More from Nikita Knysh (9)

Overview of test process improvement frameworks
Overview of test process improvement frameworksOverview of test process improvement frameworks
Overview of test process improvement frameworks
 
Fundamental Test Process New
Fundamental Test Process NewFundamental Test Process New
Fundamental Test Process New
 
Software Testing Foundations Part 7 - Basics of Test Management
Software Testing Foundations Part 7 - Basics of Test ManagementSoftware Testing Foundations Part 7 - Basics of Test Management
Software Testing Foundations Part 7 - Basics of Test Management
 
Software Testing Foundations Part 8 - Test Tools
Software Testing Foundations Part 8 - Test ToolsSoftware Testing Foundations Part 8 - Test Tools
Software Testing Foundations Part 8 - Test Tools
 
Software Testing Foundations Part 5 - White Box Testing
Software Testing Foundations Part 5 - White Box TestingSoftware Testing Foundations Part 5 - White Box Testing
Software Testing Foundations Part 5 - White Box Testing
 
Software Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box TestingSoftware Testing Foundations Part 4 - Black Box Testing
Software Testing Foundations Part 4 - Black Box Testing
 
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testingSoftware Testing Foundations Part 6 - Intuitive and Experience-based testing
Software Testing Foundations Part 6 - Intuitive and Experience-based testing
 
Software Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software LifecycleSoftware Testing Foundations Part 2 - Testing in Software Lifecycle
Software Testing Foundations Part 2 - Testing in Software Lifecycle
 
ACC presentation for QA Club Kiev
ACC presentation for QA Club KievACC presentation for QA Club Kiev
ACC presentation for QA Club Kiev
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 

Software Testing Foundations Part 3 - Static Testing

  • 1. Software Testing Foundations #3 Static Testing Nikita Knysh nknysh@gmail.com http://www.facebook.com/groups/istqb/
  • 3. Reviews in brief figures • Cost of reviews is 10-15% of development budget • Savings are about 14-25% (calculation includes review efforts). • More than 70% of defects in documents can be found before they go to next work steps.
  • 4. Review Objective and Types Objective • To decide if the review object has met the requirements and complies with the standards, as well as to find defects. Major types of reviews: • Reviews of tech products • Project review aka Management review
  • 5. Review Steps • Planning • Overview (Kick-off) • Preparation • Review Meeting (Examination) • Re-work • Follow-up
  • 6. Review Roles • Manager • Moderator • Author • Reviewer (Inspector) • Recorder
  • 7. Review Types • Walkthrough • Inspection • Technical review • Informal review
  • 8. Review Type: Walkthrough • Informal procedure where author presents document to reviewers (and chairs the meeting). • Main focus is on meeting. • Preparation is smallest among review types or omitted; follow-up is optional. • Suitable for small teams (<=10 members). Can be used for checking ‘non-critical’ documents.
  • 9. Review Type: Inspection • Most formal review process – uses formal evaluation criteria. • Checklists with formal inspection criteria (entry- and exit-criteria) are used. • Focus: finding unclear points and possible defects, measuring document quality, improving quality of the product, development and inspection processes. • Follow-up and re-inspection are formally regulated.
  • 10. Review Type: Technical Review • Focus: assessing document’s compliance with specification, fitness for its intended purpose and compliance to standards. • Some of reviewers should not be project participants. Management does not participate. • Based on only ‘official’ specs and specified review tasks. • Most effort lies in the preparation work. • Review meeting normally not attended by author. • Consequences of review result are decided by management but not by review participants.
  • 11. Review Type: Informal Review • Follows general review procedure in a simplified way. Usually initiated by author. • Is a kind of cross-read of one or more colleagues. • Examples: pair programming, buddy testing, code swapping. • Results should not be explicitly documented – a list of remarks or revised document is enough. • Very common review type. Takes little effort.
  • 12. Static Analysis • Commonly, only program code can be static-analyzed, but sometimes there are also models (UML). Outputs in e.g. XML or HTML can be static-analyzed as well. • Only makes sense with support of tools – documents must follow certain formal structure. • Best practice is to perform it before review as it is automated and so cheaper to perform. • Usually practiced by developers in component (by coding guidelines) and integration (by interface guidelines) testing.
  • 13. Flaws Detected by Static Analysis • Syntax violation • Deviation from conventions and standards • Control flow anomalies • Data flow anomalies
  • 14. Data Flow Analysis Variables can be defined (d), referenced (r) and undefined (u). Anomalies: • ur – undefined then read or used • du – defined then gets invalid or undefined without use • dd – defined twice without use of first value
  • 15. Control Flow Analysis • Cyclomatic (McCabe) number: c(G) = e – n + 2 where e - graph edges, n - graph nodes. • If c(G) > 10 then rework of program code needed. • c(G) specifies number of independent paths in the program part. • c(G) used to estimate testability & maintainability.
  • 16. Thank you! http://www.facebook.com/groups/istqb/