Testing Constrained Combinations Vera Pironska QA Engineer XAML Team 1 XAML Team 1 Telerik QA Academy Telerik QA Academy.

Slides:



Advertisements
Similar presentations
1. XP 2 * The Web is a collection of files that reside on computers, called Web servers. * Web servers are connected to each other through the Internet.
Advertisements

The 4 T’s of Test Automation:
Requirements Engineering Process
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 2 Getting Started.
Chapter 7 System Models.
Chapter 8 Software Prototyping.
Copyright © 2003 Pearson Education, Inc. Slide 3-1 Created by Cheryl M. Hughes The Web Wizards Guide to XML by Cheryl M. Hughes.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
ALGEBRA Number Walls
By Rick Clements Software Testing 101 By Rick Clements
Tutorial 9 – Creating On-Screen Forms Using Advanced Table Techniques
XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
Introduction to HTML, XHTML, and CSS
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
1 Chapter 12 File Management Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Programming Language Concepts
1 Advanced Tools for Account Searches and Portfolios Dawn Gamache Cindy Bylander.
O AK R IDGE N ATIONAL L ABORATORY U. S. D EPARTMENT OF E NERGY 1 Transitioning to Version 8 Building Data Entry Issues in NEAT/MHEA and Oak Ridge National.
Week 2 The Object-Oriented Approach to Requirements
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Tutorial AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
Intel VTune Yukai Hong Department of Mathematics National Taiwan University July 24, 2008.
Configuration management
Equivalence Partitioning
Software testing.
Testing Workflow Purpose
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Advanced Features AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
Database Design Process
Microsoft Access.
Chapter 3 Basic Logic Gates 1.
1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
XP New Perspectives on Introducing Microsoft Office 2003 Tutorial 1 1 Using Common Features of Microsoft Office 2003 Tutorial 1.
Chapter 11: The X Window System Guide To UNIX Using Linux Third Edition.
1 What is JavaScript? JavaScript was designed to add interactivity to HTML pages JavaScript is a scripting language A scripting language is a lightweight.
The world leader in serving science TQ ANALYST SOFTWARE Putting your applications on target.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Item Class User Friendly Maintenance  Copyright.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Chapter 10 Software Testing
Getting Familiar with Web Pages 1 2 The Internet Worldwide collection of interconnected computer networks that enables businesses, organizations, governments,
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT WORD Lesson 8 – Increasing Efficiency Using Word.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Level 1:Shows the total opportunities worldwide. Size of pie is proportional to size-of-prize. Shown in black color. Revenue breakup: How to read the slides.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 View Design and Integration.
Essential Cell Biology
12 January 2009SDS batch generation, distribution and web interface 1 ExESS IT tool for SDS batch generation, distribution and web interface ExESS IT tool.
PSSA Preparation.
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Essential Cell Biology
The DDS Benchmarking Environment James Edmondson Vanderbilt University Nashville, TN.
Organization Theory and Health Services Management
Chapter 13 Web Page Design Studio
Energy Generation in Mitochondria and Chlorplasts
The PLASTIC Model to HUTN transformation tool UDA.
Benchmark Series Microsoft Excel 2013 Level 2
Introduction to ikhlas ikhlas is an affordable and effective Online Accounting Solution that is currently available in Brunei.
Chapter 9: Using Classes and Objects. Understanding Class Concepts Types of classes – Classes that are only application programs with a Main() method.
Testing Independent Options
Test Design Techniques
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Introduction Telerik Software Academy Software Quality Assurance.
Testing Constrained Combinations Telerik Software Academy Software Quality Assurance.
Presentation transcript:

Testing Constrained Combinations Vera Pironska QA Engineer XAML Team 1 XAML Team 1 Telerik QA Academy Telerik QA Academy

What is Classification Trees Testing What is Classification Trees Testing Constructing Classification Trees and Test Cases Constructing Classification Trees and Test Cases Tool Support Tool Support CTE XL - Graphical Editor For Classification Trees CTE XL - Graphical Editor For Classification Trees Some Useful Tips Some Useful Tips 2

Main Concepts

In some cases separate factors in a system are constrained In some cases separate factors in a system are constrained Certain options for one factor won't coexist with certain options for another factor Certain options for one factor won't coexist with certain options for another factor 4

Classification Tree Method: Classification Tree Method: A black-box test design technique A black-box test design technique Test cases are designed to execute combinations of representatives of input and/or output domains Test cases are designed to execute combinations of representatives of input and/or output domains Test cases are described by means of a classification tree Test cases are described by means of a classification tree Based on the functional specification of the test object Based on the functional specification of the test object 5

Classification tree: Classification tree: 6 A tree showing equivalence partitions hierarchically ordered. Used to design test cases in the classification tree method.

Classification trees are used as a way to test constrained combinations of factors Classification trees are used as a way to test constrained combinations of factors They also allow us to test some factors more heavily than others They also allow us to test some factors more heavily than others 7

Help for easy generating and maintaining test cases Help for easy generating and maintaining test cases Classification trees can provide precise information about coverage Classification trees can provide precise information about coverage They help to reduce documentation They help to reduce documentation 8

Maintenance of test cases Maintenance of test cases Easier & more cost effective Easier & more cost effective Visibility of testing scope Visibility of testing scope For new projects For new projects Regression testing Regression testing User buy-in User buy-in Great visual for gaining acceptance Great visual for gaining acceptance Exports to other testing techniques and tools Exports to other testing techniques and tools 9

Main Steps of the Process

This is a simple example of a classification tree for an Adaptive cruise control system This is a simple example of a classification tree for an Adaptive cruise control system 11

Identifying aspects of interest Identifying aspects of interest The first activity performed for each testing problem when applying the technique of classification trees testing The first activity performed for each testing problem when applying the technique of classification trees testing Represent a collection of things that are supposed to interact in some interesting way Represent a collection of things that are supposed to interact in some interesting way Things, which combinations the tester wants to test Things, which combinations the tester wants to test E.g., blocks E.g., blocks 12

Identifying classifications within the areas of interest Identifying classifications within the areas of interest The things that are supposed to interact with each other The things that are supposed to interact with each other In some cases subclassifications for one or more classifications will be identified In some cases subclassifications for one or more classifications will be identified E.g., size, color, form E.g., size, color, form 13

Classes have to be identified for each classification Classes have to be identified for each classification Performed by using standard equivalence partitioning and boundary value analysis Performed by using standard equivalence partitioning and boundary value analysis Classifications identification can be recursively applied to classes Classifications identification can be recursively applied to classes 14

15 Aspect of interest Classification classes Another classification level Another class level

In order to derive test cases we need to define rules for combining the classifications in a tree In order to derive test cases we need to define rules for combining the classifications in a tree Do we want pairs of all factors? Do we want pairs of all factors? Triples of some factors? Triples of some factors? Are there exclusions, i.e., classes that can't combine? Are there exclusions, i.e., classes that can't combine? Etc. Etc. 16

Once the combination rules are defined – test cases can be generated Once the combination rules are defined – test cases can be generated Test cases can be defined by combining classes from different classifications Test cases can be defined by combining classes from different classifications A "leaf" is selected for each base classification A "leaf" is selected for each base classification Classes that belong to the same classification are non combinable Classes that belong to the same classification are non combinable By definition classes are disjunctive By definition classes are disjunctive 17

A Classification Tree specifies test cases, but it does not specify test data A Classification Tree specifies test cases, but it does not specify test data Implementation of a test case specification into concrete test data is a separate procedure Implementation of a test case specification into concrete test data is a separate procedure 18

Demo

For Classification Trees Testing

Usually classification trees and test cases are generated using a special tool Usually classification trees and test cases are generated using a special tool Supports drawing the classification trees Supports drawing the classification trees Allows automatic generation of test cases Allows automatic generation of test cases 21

Graphical Editor For Classification Trees

CTE XL is a graphical editor for classification trees CTE XL is a graphical editor for classification trees Has a free and a paid version Has a free and a paid version Source: Source: mattner-home/products/cte/index.html mattner-home/products/cte/index.html mattner-home/products/cte/index.html mattner-home/products/cte/index.html 23

CTE XL supports the following features CTE XL supports the following features Drawing and editing classification trees Drawing and editing classification trees Adding description and commentaries Adding description and commentaries Adding, repositioning trees, storing in libraries Adding, repositioning trees, storing in libraries Automated test case generation Automated test case generation User-defined dependency rules User-defined dependency rules Integration of requirement and test management tools Integration of requirement and test management tools 24

Minimal combination Minimal combination Creates a test suite that uses every class from each classification at least once in a test case Creates a test suite that uses every class from each classification at least once in a test case Pairwise combination Pairwise combination Creates a test suite that uses every class pair from disjunctive classifications at least once in a test case Creates a test suite that uses every class pair from disjunctive classifications at least once in a test case 25

Threewise combination (triple-wise) Threewise combination (triple-wise) Creates a test suite that uses every triple of classes from disjunctive classifications at least once in a test case Creates a test suite that uses every triple of classes from disjunctive classifications at least once in a test case Complete combination Complete combination Creates a test suite that uses every possible combination of classes from disjunctive classification in a test case Creates a test suite that uses every possible combination of classes from disjunctive classification in a test case 26

The objective of the Classification Tree Method is to determine a sufficient but minimum number of test case specifications The objective of the Classification Tree Method is to determine a sufficient but minimum number of test case specifications Well designed specifications reduce the number of tests Well designed specifications reduce the number of tests 27

Good Practices for Using CT

If your trees become too large If your trees become too large Break it down with references to the higher level tree (folding) Break it down with references to the higher level tree (folding) Start off small (high level) Start off small (high level) Give yourself time to apply the technique Give yourself time to apply the technique 29

Questions?

1.Create a classification tree for a life insurance program that calculates insurance premiums based on the following factors: Have the client been smoking (yes / no) Have the client been smoking (yes / no) Is the client disabled (yes / no) Is the client disabled (yes / no) Have the client been diagnosed with life threatening disease (yes / no) Have the client been diagnosed with life threatening disease (yes / no) 31 Continues …

Have the client been hospitalized in the past (yes / no) Have the client been hospitalized in the past (yes / no) BMI (Body-Mass Index) ( 39) BMI (Body-Mass Index) ( 39) Age (18-39 / / >59) Age (18-39 / / >59) Derive test cases by using every class from each classification at least once in a test case Derive test cases by using every class from each classification at least once in a test case 32

2.Derive test cases for all pairs from the example bellow : Suppose you need to test compatibility of various kiosk configurations based on three major factors, each set to one of the options shown: Operating System: Windows XP or Linux Operating System: Windows XP or Linux Browser: Internet Explorer (Windows only), Netscape, or Opera Browser: Internet Explorer (Windows only), Netscape, or Opera Connection: DSL, dial-up, or cable Connection: DSL, dial-up, or cable 33