SlideShare a Scribd company logo
W14
Session
10/26/2016 3:00:00 PM
Combinatorial Black-Box Testing with
Classification Trees
Presented by:
Peter Kruse
Berner & Mattner Systemtechnik GmbH
Brought to you by:
350 Corporate Way, Suite 400, Orange Park, FL 32073
888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - http://www.starcanada.techwell.com/
Peter Kruse
Berner & Mattner Systemtechnik GmbH
Software engineer and test consultant Peter Kruse works in the domain of
testing, including evolutionary testing and the classification tree method. He is an
experienced software developer and tester in the German automotive industry.
Peter's project experience includes hardware-in-the-loop testing, model driven-
development, ISO 26262, and evolutionary structural and functional testing.
Apart from combinatorial testing, Peter's focuses on improving the costs and
benefits in any test process and related test activity, striving to balance emerging
trends and ideas with approved methods.
COMBINATORIAL BLACK-BOX TESTING WITH
CLASSIFICATION TREES
PETER M. KRUSE
Test Process and Test Activities
Testmanagement, Testdokumentation
Test
Planning
Test
Design
Test
Evaluation
Test
Execution
Test
Implementation
Test Management / Test Documentation
e.g. Module Test, Integration Test, System Test
Specification Tested (Sub-)
System
Motivation: How to obtain and structure test goals and efforts –
in a reliable, standard-conform, reproducible way?
Test Process and Test Activities
Testmanagement, Testdokumentation
Test
Planning
Test
Design
Test
Evaluation
Test
Execution
Test
Implementation
Test Management / Test Documentation
Specification Tested (Sub-)
System
e.g. Module Test, Integration Test, System Test
Solution: Put emphasis here.
Motivation: How to obtain and structure test goals and efforts –
in a reliable, standard-conform, reproducible way?
Classification Tree Method
• Test Design Technique
• Systematic Process
• Graphical Representation of Test Problem
• Independent of Test Domain, Test Level and Test Object
• Input: (Functional) Specification of System under Test
• Output: Set of Tests to be Implemented
• Tool Support: TESTONA
• Recommended for Certified Tester
• Part of ISO 29119-4
Classification Tree Method Example
• Test object: Database Management System
Select a test object: decompose
Classification Tree Method Example
Input domain
Determine input data space
Select a test object: decompose
Classification Tree Method Example
Privileges Operation Access Method
Input domain
Identify relevant aspects (e.g.
from specification)
Determine input data space
Select a test object: decompose
Input domain
Classification Tree Method Example
Privileges Operation Access Method
Classify the input data
space into classes
Classification Tree Method Example
1
2
3
Input domain
Privileges Operation Access Method
Combine classes
into test cases
Classify the input data
space into classes
Classification Tree Method – Steps
This is how TESTONA structures test goals:
reliable, standard-conform, and reproducible.
Combine classes into
test cases
Identify relevant
aspects (e.g. from
specification)
Determine input data
space
Select a test object:
decompose
Classify the input data
space into classes
Privileges
Operation
Access Method
Test Generation with TESTONA
• Equivalence Class Testing
• Boundary Value Analysis
• Combinatorial Testing
• Constraints support (dependency rules)
• Minimal Combination (test each input value at least once)
• All-Pairs test (Pairwise)
• Mixed-Strength Generation
• Full Combination (Cartesian product of all input values)
• Prioritized and Statistical Testing
This is how TESTONA obtains test efforts:
reliable, standard-conform, and reproducible.
Combine classes
into test cases
Automate test
generation
TESTONA
TESTONA
• Graphical editor for test design (e.g. classification tree method, boundary value
analysis, equivalence classes, etc.)
• Automatic verification of test cases and dependency rules
• Automatic test case generation
• Tag approach for annotation of any
information and meta-data
• Generic and customized
tool coupling
Used by
EXPECTED TEST OUTCOMES
Test Oracle
William E. Howden (1978):
non-trivial challenge of
deciding whether a test case
has passed or failed
Non-automated Oracles
• Trivial case: Manual Assignment
Implicit Oracles
• Indirect evaluation (e.g. no exception)
Derived Oracles
• A posteriori (e.g. Regression Test)
Specified Oracles
• Based on (formal) Specification
Categorization by Barr, Harman, McMinn,
Shahbaz, and Yoo (2015)
Non-automated Oracle Example
• Manual assignment for each test case
Implicit Oracle Example
• Monitor system
No exceptions at
runtime,
CPU load, …
Derived Oracle Example
• Run once, record results, inspect, assign to tests
Specified Oracle Example
(New AND Success ↔ more) AND (Delete AND Success ↔ less)
(empty AND NOT New) OR (full AND New) ↔ Fail
TEST IMPLEMENTATION
(TEST SCRIPT GENERATION)
Code Generation: Motivation
Classification
Tree Test Cases
Specification
(Functional Requirements,
Agile Board, etc.)
Code Generation: Motivation
Classification
Tree Test Cases
TESTONA
generic
code
export
• Template-based export of test cases to JUnit, XML, text, ...
Specification
(Functional Requirements,
Agile Board, etc.)
Technical Details / Demonstration: JUnit
setDB("%CLASS%");
int oldCount = getCount();
setUser("%CLASS%");
perform("%CLASS%");
assertTrue(getCount() %CLASS% oldCount);
assertEquals(isSuccess(), %CLASS%);
Include these per mark in test case
@Test
public void %TEST% throws Exception {
}
Include this per test case
Technical Details / Demonstration: JUnit
setDB("%CLASS%");
int oldCount = getCount();
setUser("%CLASS%");
perform("%CLASS%");
assertTrue(getCount() %CLASS% oldCount);
assertEquals(isSuccess(), %CLASS%);
Include these per mark in test case
@Test
public void %TEST% throws Exception {
}
import org.junit.Assert.*;
public class Example {
}
Include this per test case
Include this once at start
Technical Details / Demonstration: JUnit
Technical Details / Demonstration: XML
<database>%CLASS%</database>
<user>%CLASS%</user>
<action>%CLASS%</action>
<expect val="count">%CLASS%</expect>
<expect val="ok">%CLASS%</expect>
Include these per mark in test case
<testcase>
</testcase>
<testspec>
</testspec>
Include this per test case
Include this once at start
Technical Details / Demonstration: XML
CONCLUSION
•Expected result prediction
•Test Script Generation
Conclusion
•Classification Tree Method to
structure test goals
•TESTONA to obtain test efforts
Peter M. Kruse @pmk99
peter.kruse@berner-mattner.com
www.testona.net
Combinatorial Black-Box Testing with Classification Trees
Ad

More Related Content

What's hot (20)

Windows Server 2019 -InspireTech 2019
Windows Server 2019 -InspireTech 2019Windows Server 2019 -InspireTech 2019
Windows Server 2019 -InspireTech 2019
Diana Carolina Torres Viasus
 
User and groups administrator
User  and  groups administratorUser  and  groups administrator
User and groups administrator
Aisha Talat
 
Regression testing
Regression testingRegression testing
Regression testing
Harsh verma
 
Technology transfer issues Related Hardware
Technology transfer issues Related HardwareTechnology transfer issues Related Hardware
Technology transfer issues Related Hardware
IGZ Software house
 
Software Testing
Software TestingSoftware Testing
Software Testing
Vishal Singh
 
Expert Systems
Expert SystemsExpert Systems
Expert Systems
Camille Santos
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
Khushboo Shaukat
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
Muhammed Afsal Villan
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system
Sarvesh Meena
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
Entando
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
Upekha Vandebona
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 
Linux kernel architecture
Linux kernel architectureLinux kernel architecture
Linux kernel architecture
Teja Bheemanapally
 
NFS(Network File System)
NFS(Network File System)NFS(Network File System)
NFS(Network File System)
udamale
 
10. compute-part-2
10. compute-part-210. compute-part-2
10. compute-part-2
Muhammad Ahad
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
Garuda Trainings
 
What is OutSystems?
What is OutSystems?What is OutSystems?
What is OutSystems?
Metizsoft Solutions Private Limited
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
enterprise network design architecture
enterprise network design architectureenterprise network design architecture
enterprise network design architecture
Amir Hossain
 
Software process
Software processSoftware process
Software process
Jennifer Polack
 
User and groups administrator
User  and  groups administratorUser  and  groups administrator
User and groups administrator
Aisha Talat
 
Regression testing
Regression testingRegression testing
Regression testing
Harsh verma
 
Technology transfer issues Related Hardware
Technology transfer issues Related HardwareTechnology transfer issues Related Hardware
Technology transfer issues Related Hardware
IGZ Software house
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
Khushboo Shaukat
 
Distributed Computing system
Distributed Computing system Distributed Computing system
Distributed Computing system
Sarvesh Meena
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
Entando
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
Upekha Vandebona
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 
NFS(Network File System)
NFS(Network File System)NFS(Network File System)
NFS(Network File System)
udamale
 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
Garuda Trainings
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
enterprise network design architecture
enterprise network design architectureenterprise network design architecture
enterprise network design architecture
Amir Hossain
 

Viewers also liked (10)

High-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software DevelopmentHigh-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software Development
TechWell
 
Build Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudBuild Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the Cloud
TechWell
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
TechWell
 
Objects vs. Images: Choosing the Right GUI Test Tool Architecture
Objects vs. Images: Choosing the Right GUI Test Tool ArchitectureObjects vs. Images: Choosing the Right GUI Test Tool Architecture
Objects vs. Images: Choosing the Right GUI Test Tool Architecture
TechWell
 
Agile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthAgile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to Depth
TechWell
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test Automation
TechWell
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory Testing
TechWell
 
Become an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardBecome an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be Heard
TechWell
 
How to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkHow to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation Framework
TechWell
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
TechWell
 
High-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software DevelopmentHigh-Performance Agile Testing in Software Development
High-Performance Agile Testing in Software Development
TechWell
 
Build Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the CloudBuild Your Open Source Performance Testing Platform in the Cloud
Build Your Open Source Performance Testing Platform in the Cloud
TechWell
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
TechWell
 
Objects vs. Images: Choosing the Right GUI Test Tool Architecture
Objects vs. Images: Choosing the Right GUI Test Tool ArchitectureObjects vs. Images: Choosing the Right GUI Test Tool Architecture
Objects vs. Images: Choosing the Right GUI Test Tool Architecture
TechWell
 
Agile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthAgile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to Depth
TechWell
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test Automation
TechWell
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory Testing
TechWell
 
Become an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be HeardBecome an Influential Tester: Learn How to Be Heard
Become an Influential Tester: Learn How to Be Heard
TechWell
 
How to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation FrameworkHow to Build a Fully Open Source Test Automation Framework
How to Build a Fully Open Source Test Automation Framework
TechWell
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
TechWell
 
Ad

Similar to Combinatorial Black-Box Testing with Classification Trees (20)

Testing process
Testing processTesting process
Testing process
Terry Cho
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
guest1f2740
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
Sagar Pednekar
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
TestingGeeks
 
Test case design
Test case designTest case design
Test case design
99pillar
 
When assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() failsWhen assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() fails
Martin Skurla
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ss
AshwiniPoloju
 
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
Maitree Patel
 
QualiSystems-Brief TestShell
QualiSystems-Brief TestShellQualiSystems-Brief TestShell
QualiSystems-Brief TestShell
Amy Ho, PMP, PMI-ACP
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
Steven Li
 
Tactics:Categories of Testing Techniques
Tactics:Categories of Testing TechniquesTactics:Categories of Testing Techniques
Tactics:Categories of Testing Techniques
komal yaqoob
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
TEST Huddle
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
Minh Nguyen
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
TestingUy
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Claudia Badell
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013
Raluca Suditu
 
Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
TechWell
 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021
Shelley Lambert
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
danielbilling
 
Qa documentation pp
Qa documentation ppQa documentation pp
Qa documentation pp
Bohdana Shaleva
 
Testing process
Testing processTesting process
Testing process
Terry Cho
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
guest1f2740
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
Sagar Pednekar
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
TestingGeeks
 
Test case design
Test case designTest case design
Test case design
99pillar
 
When assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() failsWhen assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() fails
Martin Skurla
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ss
AshwiniPoloju
 
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
Maitree Patel
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
Steven Li
 
Tactics:Categories of Testing Techniques
Tactics:Categories of Testing TechniquesTactics:Categories of Testing Techniques
Tactics:Categories of Testing Techniques
komal yaqoob
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
TEST Huddle
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
Minh Nguyen
 
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017 - Automating the Viewer: a cross-functional team approach
TestingUy
 
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approachMeetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Meetup TestingUy 2017: Automating the Viewer: a cross-functional team approach
Claudia Badell
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013
Raluca Suditu
 
Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
TechWell
 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021
Shelley Lambert
 
Ad

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
Ma 15Ma 15
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 
Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

Recently uploaded (20)

Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Top 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdfTop 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdf
AffinityCore
 
Odoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education ProcessOdoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education Process
iVenture Team LLP
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Microsoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptxMicrosoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptx
Mekonnen
 
Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025
fs4635986
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Top 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdfTop 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdf
AffinityCore
 
Odoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education ProcessOdoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education Process
iVenture Team LLP
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Innovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at allInnovative Approaches to Software Dev no good at all
Innovative Approaches to Software Dev no good at all
ayeshakanwal75
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Microsoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptxMicrosoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptx
Mekonnen
 
Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025
fs4635986
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 

Combinatorial Black-Box Testing with Classification Trees

  • 1. W14 Session 10/26/2016 3:00:00 PM Combinatorial Black-Box Testing with Classification Trees Presented by: Peter Kruse Berner & Mattner Systemtechnik GmbH Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - [email protected] - http://www.starcanada.techwell.com/
  • 2. Peter Kruse Berner & Mattner Systemtechnik GmbH Software engineer and test consultant Peter Kruse works in the domain of testing, including evolutionary testing and the classification tree method. He is an experienced software developer and tester in the German automotive industry. Peter's project experience includes hardware-in-the-loop testing, model driven- development, ISO 26262, and evolutionary structural and functional testing. Apart from combinatorial testing, Peter's focuses on improving the costs and benefits in any test process and related test activity, striving to balance emerging trends and ideas with approved methods.
  • 3. COMBINATORIAL BLACK-BOX TESTING WITH CLASSIFICATION TREES PETER M. KRUSE
  • 4. Test Process and Test Activities Testmanagement, Testdokumentation Test Planning Test Design Test Evaluation Test Execution Test Implementation Test Management / Test Documentation e.g. Module Test, Integration Test, System Test Specification Tested (Sub-) System Motivation: How to obtain and structure test goals and efforts – in a reliable, standard-conform, reproducible way?
  • 5. Test Process and Test Activities Testmanagement, Testdokumentation Test Planning Test Design Test Evaluation Test Execution Test Implementation Test Management / Test Documentation Specification Tested (Sub-) System e.g. Module Test, Integration Test, System Test Solution: Put emphasis here. Motivation: How to obtain and structure test goals and efforts – in a reliable, standard-conform, reproducible way?
  • 6. Classification Tree Method • Test Design Technique • Systematic Process • Graphical Representation of Test Problem • Independent of Test Domain, Test Level and Test Object • Input: (Functional) Specification of System under Test • Output: Set of Tests to be Implemented • Tool Support: TESTONA • Recommended for Certified Tester • Part of ISO 29119-4
  • 7. Classification Tree Method Example • Test object: Database Management System Select a test object: decompose
  • 8. Classification Tree Method Example Input domain Determine input data space Select a test object: decompose
  • 9. Classification Tree Method Example Privileges Operation Access Method Input domain Identify relevant aspects (e.g. from specification) Determine input data space Select a test object: decompose
  • 10. Input domain Classification Tree Method Example Privileges Operation Access Method Classify the input data space into classes
  • 11. Classification Tree Method Example 1 2 3 Input domain Privileges Operation Access Method Combine classes into test cases Classify the input data space into classes
  • 12. Classification Tree Method – Steps This is how TESTONA structures test goals: reliable, standard-conform, and reproducible. Combine classes into test cases Identify relevant aspects (e.g. from specification) Determine input data space Select a test object: decompose Classify the input data space into classes Privileges Operation Access Method
  • 13. Test Generation with TESTONA • Equivalence Class Testing • Boundary Value Analysis • Combinatorial Testing • Constraints support (dependency rules) • Minimal Combination (test each input value at least once) • All-Pairs test (Pairwise) • Mixed-Strength Generation • Full Combination (Cartesian product of all input values) • Prioritized and Statistical Testing This is how TESTONA obtains test efforts: reliable, standard-conform, and reproducible. Combine classes into test cases Automate test generation TESTONA
  • 14. TESTONA • Graphical editor for test design (e.g. classification tree method, boundary value analysis, equivalence classes, etc.) • Automatic verification of test cases and dependency rules • Automatic test case generation • Tag approach for annotation of any information and meta-data • Generic and customized tool coupling Used by
  • 16. Test Oracle William E. Howden (1978): non-trivial challenge of deciding whether a test case has passed or failed Non-automated Oracles • Trivial case: Manual Assignment Implicit Oracles • Indirect evaluation (e.g. no exception) Derived Oracles • A posteriori (e.g. Regression Test) Specified Oracles • Based on (formal) Specification Categorization by Barr, Harman, McMinn, Shahbaz, and Yoo (2015)
  • 17. Non-automated Oracle Example • Manual assignment for each test case
  • 18. Implicit Oracle Example • Monitor system No exceptions at runtime, CPU load, …
  • 19. Derived Oracle Example • Run once, record results, inspect, assign to tests
  • 20. Specified Oracle Example (New AND Success ↔ more) AND (Delete AND Success ↔ less) (empty AND NOT New) OR (full AND New) ↔ Fail
  • 22. Code Generation: Motivation Classification Tree Test Cases Specification (Functional Requirements, Agile Board, etc.)
  • 23. Code Generation: Motivation Classification Tree Test Cases TESTONA generic code export • Template-based export of test cases to JUnit, XML, text, ... Specification (Functional Requirements, Agile Board, etc.)
  • 24. Technical Details / Demonstration: JUnit setDB("%CLASS%"); int oldCount = getCount(); setUser("%CLASS%"); perform("%CLASS%"); assertTrue(getCount() %CLASS% oldCount); assertEquals(isSuccess(), %CLASS%); Include these per mark in test case @Test public void %TEST% throws Exception { } Include this per test case
  • 25. Technical Details / Demonstration: JUnit setDB("%CLASS%"); int oldCount = getCount(); setUser("%CLASS%"); perform("%CLASS%"); assertTrue(getCount() %CLASS% oldCount); assertEquals(isSuccess(), %CLASS%); Include these per mark in test case @Test public void %TEST% throws Exception { } import org.junit.Assert.*; public class Example { } Include this per test case Include this once at start
  • 26. Technical Details / Demonstration: JUnit
  • 27. Technical Details / Demonstration: XML <database>%CLASS%</database> <user>%CLASS%</user> <action>%CLASS%</action> <expect val="count">%CLASS%</expect> <expect val="ok">%CLASS%</expect> Include these per mark in test case <testcase> </testcase> <testspec> </testspec> Include this per test case Include this once at start
  • 28. Technical Details / Demonstration: XML
  • 30. •Expected result prediction •Test Script Generation Conclusion •Classification Tree Method to structure test goals •TESTONA to obtain test efforts Peter M. Kruse @pmk99 [email protected] www.testona.net