SlideShare a Scribd company logo
1 of 16
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 (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

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

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 

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/