SlideShare a Scribd company logo
1 of 26
Software Testing Foundations #4
Dynamic Analysis. Black Box Testing.
Nikita Knysh
nknysh@gmail.com
http://www.facebook.com/groups/istqb/
Agenda
• Dynamic Analysis Overview
• [Generic] Test Steps of Performing Tests
• Back Box Testing Techniques
  ▫   Equivalence Class Partitioning
  ▫   Boundary Value Analysis
  ▫   State Transition Testing
  ▫   Cause-effect Graphing, Decision Tables
  ▫   Use Case Testing
  ▫   More Techniques
Dynamic Analysis Overview
• The test object (program) must be executable.
• In component and integration testing, test bed
  (stubs and drivers) is used to make the test object
  executable.
• Test bed generators can be used.
[Generic] Test Steps of Performing Tests
• Determine conditions and preconditions for the test
  and the goals to be achieved.
• Specify the individual test cases (determine
  input, expected output and post-conditions).
  Writing test script (most often in programming
  language or similar notation).
• Determine how to execute test cases (chaining
  several test cases into test scenario / test
  sequence, define priorities of test cases).
Black Box Test Techniques
• Test cases are designed only by using the
  specification or the requirements of the test object.
• Point of Observation (PoO) is outside the test
  object. Point of Control (PoC) is outside the test
  object too (we only can choose adequate input test
  data).
• Reasonable in component tests but usually applied
  in higher test levels.
Black Box. Equivalence Class Partitioning.
• Equivalence Class – a group of values that are
  supposed to be processed by test object the same
  way.
• Equivalence classes for incorrect input must be
  tested as well.
• For every single equivalence class, a representative
  value (input value) should be chosen for testing. For
  every input value, expected output or reaction
  should be defined.
Black Box. Equivalence Class Partitioning #2
• Minimum test cases: every representative value of
  an equivalence class appears in at least one test
  case.
• Negative test cases: representatives of invalid
  classes should not be combined with representatives
  of other invalid classes.
             EC-coverage = (number of tested EC /
             total number of EC) * 100 %
The method is used in component, integration and
system testing.
Black Box. Boundary Value Analysis.
Checks the ‘border’ of the equivalence classes. On
every border, the exact boundary value and both
nearest adjacent values (inside and outside the
equivalence class) are tested.
It must be decided if it is sufficient to test a boundary
with two instead of pieces three test data.

            BV-Coverage = (number of tested BV /
            total number of BV) * 100 %
Black Box. Boundary Value Analysis #2
Rules for choosing boundary values:
• For ordered sets the first and last element is of special interest for
  the test.
• If complex data structures are given as in- or output, for instance an
  empty list or zero matrixes can be considered a boundary value.
• For numeric calculations, values that are close together as well as
  values that are far apart should be taken into consideration as
  boundary values.
• For invalid equivalence classes, boundary value analysis is only
  useful when different exception handling for the test object is
  expected depending on an equivalence class boundary.
• For lists and tables empty and full lists and the first and last
  element are of interest, as they often show failures due to wrong
  programming (Off-by-one problem).
Black Box. State Transition Testing.
• State diagrams illustrate the dependence of test
  object on history. These diagrams are the basis for
  designing tests.
• A finite-state machine consists of states
  (nodes), transitions (links), inputs and outputs.
Black Box. State Transition Testing #2
Black Box. State Transition Testing #3
Black Box. State Transition Testing #4
• Test intensity levels / completion criteria: (1) every
  state has been reached at least once, (2) every
  transition has been executed at least once, (3) every
  transition violating the specification has been
  checked.
• For highly critical applications also: (4) all
  combinations of transitions, (5) all transitions in any
  order with all possible states, multiple instances in
  succession.
Black Box. State Transition Testing #5
• State transition testing should be used where
  functionality is influenced by the state of the test
  object.
• Very useful in testing object-oriented systems.
• Is also a good technique for system test (e.g. GUI
  test).
Black Box. Cause Effect Graphing.
The technique uses the dependencies between inputs
and their effects on outputs for identification of the
test cases.
Black Box. Cause Effect Graphing #2
Black Box. Cause Effect Graphing #3
Each cause and effect should occur at least once with
"yes" and "no" in the table.

An optimized decision table does not contain all
possible combinations, but the impossible or
unnecessary combinations are not entered.
Black Box. Cause Effect Graphing #4
Black Box. Cause Effect Graphing #5
Test completion criteria: execute every column in the
decision table by at least one test case.

The graph and the table may grow very fast. This
technique is not easily applicable without adequate
tool support.
Black Box. Use Case Testing.
• Use cases and use case diagrams are the basis for
  determining test cases. Typical use of the system
  (user-system interaction) is checked.
• The technique is relevant for customer, developer
  and tester and is useful for system- and acceptance
  testing.
Black Box. Use Case Testing #2
Black Box. Use Case Testing #3
• Test cases:
  ▫ Each alternative (extension point) in the use case
    diagram should be covered by a test case,
  ▫ Concrete input data and expected results cannot be
    derived directly from use case – analysis needed to
    define them.

• Test completion criteria: every use case (including
  alternatives and extensions) and every possible
  sequence of use cases is tested at least once.
Black Box. Use Case Testing #4
• The approach is supported by test specification
  tools.
• However, there is no systematic method to
  determine further test cases to test what is not
  shown on the use case diagram (need to use other
  techniques).
Black Box. More Techniques.
• Syntax Testing is used for testing interpreters, command
  languages, compilers and protocol analyzers. May be
  applied if a formal spec of input syntax is available.
• Random Testing is used for selection of test values based
  on given statistical distribution of input values. Makes it
  possible to use statistical models for predicting or
  certifying system reliability.
• Smoke test is a ‘quick and dirty’ test which is primarily
  aimed at verifying a minimum reliability of the test
  object and concentrated on its main functions. Used to
  decide if the test object is mature enough to be tested
  further by more comprehensive test techniques. Used for
  first and fast test of software updates.
More about Black Box.
• Faults in specification are not detected (when
  techniques are used slavishly). If common sense is not
  used in test design, wrong requirements will lead to
  wrong test cases. Reviews must be used to find problems
  in specifications.
• Not required functionality is not detected or tested not
  enough because of absence of documentation and no
  influence on coverage criteria. Such extra functionality is
  often the cause of security problems.
• Black box methods verify the functionality. Correct
  working of a software system has the highest priority so
  black box techniques should always be applied.
Thank you!




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

More Related Content

What's hot

Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
5 black box and grey box testing
5   black box and grey box testing5   black box and grey box testing
5 black box and grey box testingYisal Khan
 
Test case techniques
Test case techniquesTest case techniques
Test case techniquesPina Parmar
 
Test Case Design
Test Case DesignTest Case Design
Test Case Designacatalin
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Mani Kanth
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case DesignSelvi Vts
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software TestingSagar Pednekar
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningSneha Singh
 
Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)1Arun_Pandey
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniquesFincy V.J
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing BugRaptors
 

What's hot (20)

Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
5 black box and grey box testing
5   black box and grey box testing5   black box and grey box testing
5 black box and grey box testing
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Test case techniques
Test case techniquesTest case techniques
Test case techniques
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Black-Box
Black-BoxBlack-Box
Black-Box
 
Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)Se (techniques for black box testing ppt)
Se (techniques for black box testing ppt)
 
Blackbox
BlackboxBlackbox
Blackbox
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case Design
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Testing
TestingTesting
Testing
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioning
 
Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)Sorfware engineering presentation (software testing)
Sorfware engineering presentation (software testing)
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 

Similar to Software Testing Foundations Part 4 - Black Box Testing

Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
Test Case Design
Test Case DesignTest Case Design
Test Case DesignVidya-QA
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and TechniqueFayis-QA
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and TechniqueANKUR-BA
 
Test Case Design & Technique
Test Case Design & TechniqueTest Case Design & Technique
Test Case Design & TechniqueRajesh-QA
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and TechniqueSachin-QA
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2Divya Tiwari
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4SIMONTHOMAS S
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic TestingJimi Patel
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdfTesting Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdfMuhammadShoaibHussai2
 
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.Tsuyoshi Yumoto
 
Random testing
Random testingRandom testing
Random testingCan KAYA
 

Similar to Software Testing Foundations Part 4 - Black Box Testing (20)

Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Test Case Design
Test Case DesignTest Case Design
Test Case Design
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Test Case Design & Technique
Test Case Design & TechniqueTest Case Design & Technique
Test Case Design & Technique
 
Test Case Design and Technique
Test Case Design and TechniqueTest Case Design and Technique
Test Case Design and Technique
 
Testing
TestingTesting
Testing
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 
CPP09 - Testing
CPP09 - TestingCPP09 - Testing
CPP09 - Testing
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software Testing
Software Testing Software Testing
Software Testing
 
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdfTesting Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
 
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge.
 
Random testing
Random testingRandom testing
Random testing
 
Unit2 for st
Unit2 for stUnit2 for st
Unit2 for st
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
 
Testing
TestingTesting
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 frameworksNikita Knysh
 
Fundamental Test Process New
Fundamental Test Process NewFundamental Test Process New
Fundamental Test Process NewNikita 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 ManagementNikita 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 ToolsNikita 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 TestingNikita 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 testingNikita 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 LifecycleNikita Knysh
 
ACC presentation for QA Club Kiev
ACC presentation for QA Club KievACC presentation for QA Club Kiev
ACC presentation for QA Club KievNikita Knysh
 

More from Nikita Knysh (8)

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 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

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Software Testing Foundations Part 4 - Black Box Testing

  • 1. Software Testing Foundations #4 Dynamic Analysis. Black Box Testing. Nikita Knysh nknysh@gmail.com http://www.facebook.com/groups/istqb/
  • 2. Agenda • Dynamic Analysis Overview • [Generic] Test Steps of Performing Tests • Back Box Testing Techniques ▫ Equivalence Class Partitioning ▫ Boundary Value Analysis ▫ State Transition Testing ▫ Cause-effect Graphing, Decision Tables ▫ Use Case Testing ▫ More Techniques
  • 3. Dynamic Analysis Overview • The test object (program) must be executable. • In component and integration testing, test bed (stubs and drivers) is used to make the test object executable. • Test bed generators can be used.
  • 4. [Generic] Test Steps of Performing Tests • Determine conditions and preconditions for the test and the goals to be achieved. • Specify the individual test cases (determine input, expected output and post-conditions). Writing test script (most often in programming language or similar notation). • Determine how to execute test cases (chaining several test cases into test scenario / test sequence, define priorities of test cases).
  • 5. Black Box Test Techniques • Test cases are designed only by using the specification or the requirements of the test object. • Point of Observation (PoO) is outside the test object. Point of Control (PoC) is outside the test object too (we only can choose adequate input test data). • Reasonable in component tests but usually applied in higher test levels.
  • 6. Black Box. Equivalence Class Partitioning. • Equivalence Class – a group of values that are supposed to be processed by test object the same way. • Equivalence classes for incorrect input must be tested as well. • For every single equivalence class, a representative value (input value) should be chosen for testing. For every input value, expected output or reaction should be defined.
  • 7. Black Box. Equivalence Class Partitioning #2 • Minimum test cases: every representative value of an equivalence class appears in at least one test case. • Negative test cases: representatives of invalid classes should not be combined with representatives of other invalid classes. EC-coverage = (number of tested EC / total number of EC) * 100 % The method is used in component, integration and system testing.
  • 8. Black Box. Boundary Value Analysis. Checks the ‘border’ of the equivalence classes. On every border, the exact boundary value and both nearest adjacent values (inside and outside the equivalence class) are tested. It must be decided if it is sufficient to test a boundary with two instead of pieces three test data. BV-Coverage = (number of tested BV / total number of BV) * 100 %
  • 9. Black Box. Boundary Value Analysis #2 Rules for choosing boundary values: • For ordered sets the first and last element is of special interest for the test. • If complex data structures are given as in- or output, for instance an empty list or zero matrixes can be considered a boundary value. • For numeric calculations, values that are close together as well as values that are far apart should be taken into consideration as boundary values. • For invalid equivalence classes, boundary value analysis is only useful when different exception handling for the test object is expected depending on an equivalence class boundary. • For lists and tables empty and full lists and the first and last element are of interest, as they often show failures due to wrong programming (Off-by-one problem).
  • 10. Black Box. State Transition Testing. • State diagrams illustrate the dependence of test object on history. These diagrams are the basis for designing tests. • A finite-state machine consists of states (nodes), transitions (links), inputs and outputs.
  • 11. Black Box. State Transition Testing #2
  • 12. Black Box. State Transition Testing #3
  • 13. Black Box. State Transition Testing #4 • Test intensity levels / completion criteria: (1) every state has been reached at least once, (2) every transition has been executed at least once, (3) every transition violating the specification has been checked. • For highly critical applications also: (4) all combinations of transitions, (5) all transitions in any order with all possible states, multiple instances in succession.
  • 14. Black Box. State Transition Testing #5 • State transition testing should be used where functionality is influenced by the state of the test object. • Very useful in testing object-oriented systems. • Is also a good technique for system test (e.g. GUI test).
  • 15. Black Box. Cause Effect Graphing. The technique uses the dependencies between inputs and their effects on outputs for identification of the test cases.
  • 16. Black Box. Cause Effect Graphing #2
  • 17. Black Box. Cause Effect Graphing #3 Each cause and effect should occur at least once with "yes" and "no" in the table. An optimized decision table does not contain all possible combinations, but the impossible or unnecessary combinations are not entered.
  • 18. Black Box. Cause Effect Graphing #4
  • 19. Black Box. Cause Effect Graphing #5 Test completion criteria: execute every column in the decision table by at least one test case. The graph and the table may grow very fast. This technique is not easily applicable without adequate tool support.
  • 20. Black Box. Use Case Testing. • Use cases and use case diagrams are the basis for determining test cases. Typical use of the system (user-system interaction) is checked. • The technique is relevant for customer, developer and tester and is useful for system- and acceptance testing.
  • 21. Black Box. Use Case Testing #2
  • 22. Black Box. Use Case Testing #3 • Test cases: ▫ Each alternative (extension point) in the use case diagram should be covered by a test case, ▫ Concrete input data and expected results cannot be derived directly from use case – analysis needed to define them. • Test completion criteria: every use case (including alternatives and extensions) and every possible sequence of use cases is tested at least once.
  • 23. Black Box. Use Case Testing #4 • The approach is supported by test specification tools. • However, there is no systematic method to determine further test cases to test what is not shown on the use case diagram (need to use other techniques).
  • 24. Black Box. More Techniques. • Syntax Testing is used for testing interpreters, command languages, compilers and protocol analyzers. May be applied if a formal spec of input syntax is available. • Random Testing is used for selection of test values based on given statistical distribution of input values. Makes it possible to use statistical models for predicting or certifying system reliability. • Smoke test is a ‘quick and dirty’ test which is primarily aimed at verifying a minimum reliability of the test object and concentrated on its main functions. Used to decide if the test object is mature enough to be tested further by more comprehensive test techniques. Used for first and fast test of software updates.
  • 25. More about Black Box. • Faults in specification are not detected (when techniques are used slavishly). If common sense is not used in test design, wrong requirements will lead to wrong test cases. Reviews must be used to find problems in specifications. • Not required functionality is not detected or tested not enough because of absence of documentation and no influence on coverage criteria. Such extra functionality is often the cause of security problems. • Black box methods verify the functionality. Correct working of a software system has the highest priority so black box techniques should always be applied.
  • 26. Thank you! http://www.facebook.com/groups/istqb/