SlideShare a Scribd company logo
1 of 31
Download to read offline
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

More Related Content

What's hot

An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testingAdam Stephensen
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case DesignSelvi Vts
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
 
Test vector compression in Digital Testing
Test vector compression in Digital Testing Test vector compression in Digital Testing
Test vector compression in Digital Testing Amr Abd El Latief
 
PCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewPCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewIOSRJVSP
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityShubham Narkhede
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLRahul R Pandya
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
Software development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiuSoftware development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiuArm
 
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREAUNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREAMarius Crisan
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testingMd Mamunur Rashid
 
Kernel debug log and console on openSUSE
Kernel debug log and console on openSUSEKernel debug log and console on openSUSE
Kernel debug log and console on openSUSESUSE Labs Taipei
 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit TestingJoe Tremblay
 

What's hot (20)

An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testing
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case Design
 
Status update-qemu-pcie
Status update-qemu-pcieStatus update-qemu-pcie
Status update-qemu-pcie
 
Hacking QNX
Hacking QNXHacking QNX
Hacking QNX
 
Ipc in linux
Ipc in linuxIpc in linux
Ipc in linux
 
Alpha and beta testing
Alpha and beta testingAlpha and beta testing
Alpha and beta testing
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Test vector compression in Digital Testing
Test vector compression in Digital Testing Test vector compression in Digital Testing
Test vector compression in Digital Testing
 
PCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-ReviewPCIe BUS: A State-of-the-Art-Review
PCIe BUS: A State-of-the-Art-Review
 
Design Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur UniversityDesign Pattern Notes: Nagpur University
Design Pattern Notes: Nagpur University
 
Unit Testing (C#)
Unit Testing (C#)Unit Testing (C#)
Unit Testing (C#)
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
 
system verilog
system verilogsystem verilog
system verilog
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
Software development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiuSoftware development in ar mv8 m architecture - yiu
Software development in ar mv8 m architecture - yiu
 
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREAUNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
UNIT DEVELOPMENT AND TESTING IN AUTOMOTIVE AREA
 
Fundamentals OF UAT
Fundamentals OF UATFundamentals OF UAT
Fundamentals OF UAT
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Kernel debug log and console on openSUSE
Kernel debug log and console on openSUSEKernel debug log and console on openSUSE
Kernel debug log and console on openSUSE
 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit Testing
 

Viewers also liked

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 DevelopmentTechWell
 
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 CloudTechWell
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New NormalTechWell
 
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 ArchitectureTechWell
 
Agile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthAgile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthTechWell
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test AutomationTechWell
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory TestingTechWell
 
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 HeardTechWell
 
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 FrameworkTechWell
 
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 ArchitectTechWell
 

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
 
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
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
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
 
Agile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to DepthAgile Requirements—From Breadth to Depth
Agile Requirements—From Breadth to Depth
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test Automation
 
Better Together: Group Exploratory Testing
Better Together: Group Exploratory TestingBetter Together: Group Exploratory Testing
Better Together: Group Exploratory Testing
 
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
 
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
 
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
 

Similar to Combinatorial Black-Box Testing with Classification Trees

Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Processguest1f2740
 
Testing process
Testing processTesting process
Testing processTerry Cho
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software TestingSagar Pednekar
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_designTestingGeeks
 
Test case design
Test case designTest case design
Test case design99pillar
 
When assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() failsWhen assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() failsMartin Skurla
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ssAshwiniPoloju
 
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 automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Tactics:Categories of Testing Techniques
Tactics:Categories of Testing TechniquesTactics:Categories of Testing Techniques
Tactics:Categories of Testing Techniqueskomal 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 2010TEST Huddle
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedMinh 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 approachClaudia Badell
 
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 approachTestingUy
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013Raluca 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 InformationTechWell
 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021Shelley Lambert
 

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

Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
Testing process
Testing processTesting process
Testing process
 
Dynamic analysis in Software Testing
Dynamic analysis in Software TestingDynamic analysis in Software Testing
Dynamic analysis in Software Testing
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
 
Test case design
Test case designTest case design
Test case design
 
When assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() failsWhen assertthat(you).understandUnitTesting() fails
When assertthat(you).understandUnitTesting() fails
 
Test data documentation ss
Test data documentation ssTest data documentation ss
Test data documentation ss
 
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
 
QualiSystems-Brief TestShell
QualiSystems-Brief TestShellQualiSystems-Brief TestShell
QualiSystems-Brief TestShell
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Tactics:Categories of Testing Techniques
Tactics:Categories of Testing TechniquesTactics:Categories of Testing Techniques
Tactics:Categories of Testing Techniques
 
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
 
Testify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeedTestify smart testoptimization-ecfeed
Testify smart testoptimization-ecfeed
 
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
 
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
 
Test case management with MTM 2013
Test case management with MTM 2013Test case management with MTM 2013
Test case management with MTM 2013
 
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
 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Qa documentation pp
Qa documentation ppQa documentation pp
Qa documentation pp
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
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 ArchitectureTechWell
 
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 StartTechWell
 
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 StrategyTechWell
 
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 SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
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 SanityTechWell
 
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 StrategyTechWell
 
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 DevOpsTechWell
 
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—LeadershipTechWell
 
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 TeamsTechWell
 
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 GameTechWell
 
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 TeamsTechWell
 
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 ImplementationTechWell
 
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 ProcessTechWell
 
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 AutomateTechWell
 
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 SuccessTechWell
 
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 TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
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
 
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
 
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
 
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
 
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
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
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
 
Ma 15
Ma 15Ma 15
Ma 15
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

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 - info@techwell.com - 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 peter.kruse@berner-mattner.com www.testona.net