Pairwise Testing. A case study (from Lee Copeland’ book) A web-based application has been written to work with eight different browsers – IE 5.0, 5.5,

Slides:



Advertisements
Similar presentations
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Tutorial AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
Advertisements

An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Inpainting Assigment – Tips and Hints Outline how to design a good test plan selection of dimensions to test along selection of values for each dimension.
1 Chapter 4 Experiments with Blocking Factors The Randomized Complete Block Design Nuisance factor: a design factor that probably has an effect.
Chapter 4 Randomized Blocks, Latin Squares, and Related Designs
K-Map Simplification COE 202 Digital Logic Design Dr. Aiman El-Maleh
IPOG: A General Strategy for T-Way Software Testing
Testing Techniques  Equivalence class analysis  Cause effect graphs  All pair testing.
Testing Independent Options
CIS 2033 based on Dekking et al. A Modern Introduction to Probability and Statistics Slides by Michael Maurizi Instructor Longin Jan Latecki C9:
Chapter 11 Contingency Table Analysis. Nonparametric Systems Another method of examining the relationship between independent (X) and dependant (Y) variables.
1.2 Row Reduction and Echelon Forms
Linear Equations in Linear Algebra
Today’s Agenda  HW #1 Due  Quick Review  Finish Input Space Partitioning  Combinatorial Testing Software Testing and Maintenance 1.
Mutual Information Mathematical Biology Seminar
Testcover.com Copyright © 2008 Testcover.com, LLC. All rights reserved. Pairwise Testing Comes of Age George B. Sherwood, Ph.D. Thursday May 8, 1:30 p.m.
The Phoenix Recovery System: Rebuilding from the ashes of an Internet catastrophe Flavio Junqueira, Ranjita Bhagwan, Keith Marzullo, Stefan Savage, and.
1 Portability Hohmann Chapter The Perceived Advantage of Portability By supporting multiple platforms, we can address new markets.
Chapter 16 Chi Squared Tests.
MAE 552 Heuristic Optimization Instructor: John Eddy Lecture #16 3/1/02 Taguchi’s Orthogonal Arrays.
Exam 1 – 115a. Basic Probability For any event E, The union of two sets A and B, A  B, includes items that are in either A or B. The intersection, A.
Inference.ppt - © Aki Taanila1 Sampling Probability sample Non probability sample Statistical inference Sampling error.
Testing an individual module
Software Architecture in Practice
Camera Calibration CS485/685 Computer Vision Prof. Bebis.
1 Software Testing and Quality Assurance Lecture 25 – Testing Interactions (Chapter 6)
Chapter 18 Testing Conventional Applications
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Equivalence Class Testing
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
January 27, 2002 ECEN5033 University of Colorado -- Class Testing 1 Specifying interactions Remainder of slides assume Operations defined by a class are.
Pairwise Alignment, Part I Constructing the Values and Directions Tables from 2 related DNA (or Protein) Sequences.
Customer Service and Support Sutherland Global Services Consultant Learning Services Microsoft Store.
Using Advanced Formatting and Analysis Tools. 2 Working with Grouped Worksheets: Grouping Worksheets  Data is entered simultaneously on all worksheets.
We will use Gauss-Jordan elimination to determine the solution set of this linear system.
The OWASP Foundation OWASP AppSec DC October This is a work of the U.S. Government and is not subject to copyright protection.
Agenda Introduction Overview of White-box testing Basis path testing
FUNCTION NOTATION AND EVALUATING FUNCTIONS SECTIONS 5.1 & 14.1B.
Web Controlled of Robot Georgi Chakarov Ivelin Stoyanov.
Testing Independent Options Telerik Software Academy Software Quality Assurance.
Testing Interactions Among Software Components Alan Williams School of Information Technology and Engineering, University of Ottawa
Estimating Component Availability by Dempster-Shafer Belief Networks Estimating Component Availability by Dempster-Shafer Belief Networks Lan Guo Lane.
1 Boundary Value Testing Chapter 5. 2 Introduction Input domain testing is the most commonly taught (and perhaps the most commonly used) software testing.
The Software Development Process
Probabilistic Analysis and Randomized Algorithm. Average-Case Analysis  In practice, many algorithms perform better than their worse case  The average.
Experimental Algorithmics Reading Group, UBC, CS Presented paper: Fine-tuning of Algorithms Using Fractional Experimental Designs and Local Search by Belarmino.
Two-Way (Independent) ANOVA. PSYC 6130A, PROF. J. ELDER 2 Two-Way ANOVA “Two-Way” means groups are defined by 2 independent variables. These IVs are typically.
Testing in the Small (aka Unit Testing, Class Testing) 1209.
ANOVA, Regression and Multiple Regression March
Mixed Covering Arrays on Graphs Presenter: Latifa Zekaoui Joint work with Karen Meagher and Lucia Moura to appear in the Journal of Combinatorial Designs.
Dynamic Programming1. 2 Outline and Reading Matrix Chain-Product (§5.3.1) The General Technique (§5.3.2) 0-1 Knapsack Problem (§5.3.3)
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Testing Constrained Combinations Telerik Software Academy Software Quality Assurance.
Black Box Unit Testing What is black-box testing? Unit (code, module) seen as a black box No access to the internal or logical structure Determine.
Table of Contents Matrices - Definition and Notation A matrix is a rectangular array of numbers. Consider the following matrix: Matrix B has 3 rows and.
Section 7.6 Functions Math in Our World. Learning Objectives  Identify functions.  Write functions in function notation.  Evaluate functions.  Find.
Introduction to PHP and MySQL – Creating Database-Driven Websites
Testing in the Small (aka Unit Testing, Class Testing)
Software Engineering (CSI 321)
CS 174: Server-Side Web Programming February 12 Class Meeting
Computer Science Testing.
IPOG: A General Strategy for T-Way Software Testing
Web Page Concept and Design :
FUNCTION NOTATION AND EVALUATING FUNCTIONS
Automatic Test Generation for N-way Combinatorial Testing
UNIT SELF-TEST QUESTIONS
UNDERSTANDING FUNCTIONS
Web Servers (IIS and Apache)
Presentation transcript:

Pairwise Testing

A case study (from Lee Copeland’ book) A web-based application has been written to work with eight different browsers – IE 5.0, 5.5, 6.0, Netscape 6.0, 6.1, 7.0, Mozilla 1.1 and Opera 7. The software runs three different plug-ins – RealPlayer, Media Player or none; runs on six different client operating systems – Windows 2000, ME, XP, Linux, Mac OS X, and Solaris 9. The application resides in three different servers – IIS, Apache and Web Logic, running three different server operating systems – Windows 2000, XP and Linux. Number of possible combinations of input 8 x 3 x 6 x 3 x 3 = 1296 Is it possible to test each one of these combinations?

Another Case Study The valid phone numbers in La Crosse starts with an area code 608, zone code from the set {781, 784, 785, 786, 788, 789} and the offset from the set {0001 – 9998}. It accepts input in one of five different formats: (XXX)-XXX-XXXX (XXX) XXX XXXX XXX-XXX-XXXX XXX XXX XXXX Using the above information, the number of possible VALID phone numbers will be 1 * 6 * 9998 * 5 =

How to reduce the number of test cases? Test all possible combinations Will delay the project Choose some test cases randomly Not guaranteed to identify all errors Choose an efficient algorithm that generates the test cases, and at the same time identifies most errors Even if does not identify all errors, still identifies several of them and reduces testing time What is this most efficient algorithm?

Pairwise Testing Identify all pairs of input parameters Rationale Most errors occur when a function/module is combined with another function/module Several case studies show that pairwise testing identified most of the errors and significantly reduced testing efforts Brownlie of AT&T NIST

Example 1 Consider three input parameters X, Y and Z each having two possible values as below: X  {X1, X2} Y  {Y1, Y2} Z  {Z1, Z2} Number of possible combinations = 2 * 2 * 2 = 8 This can be reduced to only 4 by using all pairs technique. See the next slide

Example 1 (continued) XYZ X1Y1Z1 X1Y1Z2 X1Y2Z1 X1Y2Z2 X2Y1Z1 X2Y1Z2 X2Y2Z1 X2Y2Z2 XYZ X1Y1Z1 X1Y2Z2 X2Y2Z1 X2Y1Z2

Example 2 Consider 3 inputs A, B, C. Assume A has two possible values – A1 and A2 B has 3 possible values – B1, B2 and B3 C has two possible values – C1 and C2 Exhaustive combinations approach requires 2 x 2 x 3 = 12 test cases Pairwise testing requires only 6 cobinations See the table in the next slide

Example 2 (continued) ABC A1B1C1 A1B2C2 A1B3C1 A2B1C2 A2B2C1 A2B3C2

Orthogonal Array A matrix of numbers Number of columns indicates the number of input parameters Number of rows indicates the number of test cases Each entry A ij indicates one of the possible values of the input parameter j, as considered in the test case i. The table in the previous slide is an orthogonal array

Serial number Parameter 1Parameter 2 1P1 2P2P1 3 P2 4 Orthogonal array of 2 input parameters, each having 2 possible values

Notation for Orthogonal array Notation: L r C 1 1 C 2 1 …C n 1 where ‘r’ represents the number of rows in the orthogonal array which also indicates the number of test cases to be generated ‘C i ’ represents the number of possible values for the i th input If two inputs ‘i’ and ‘j’ have same number of possibilities, i.e., C i = C j, then it can be represented as ‘C i 2’ instead of ‘C i 1 C j 1’

Serial number Parameter 1Parameter 2 1P1 2P2P1 3 P2 4 Orthogonal array of 2 input parameters, each having 2 possible values Represented by the notation L or L 4 2 2

Properties of Orthogonal Array Every pair of columns i and j indicate all possible pairs of i th and j th input parameters If a pair of input parameters is duplicated in another row, then every pair of input parameters must be duplicated in the table Forces the table to be “balanced”

Orthogonal Array S.No L array Value in each cell ranges from 1 to 3. Array with 9 rows and 4 columns Every pair of columns contains all possible pairs of input values between 1 and 3

L array S.No Balanced Orthogonal array

S.No L array

Using Orthogonal Arrays for Testing Step 1: Identify the input parameters Step 2: Determine the number of choices for each input parameter Step 3: Determine an orthogonal array with one column for each input parameter and values in each column corresponding to the range of values for that input parameter

Using Orthogonal Arrays for Testing (continued) Step 4: Replace the number in each cell by the corresponding value in the input domain Step 5: Construct test cases using the orthogonal array

Example Construct the orthogonal array for the following problem: A web-based application has been written to work with eight different browsers – IE 5.0, 5.5, 6.0, Netscape 6.0, 6.1, 7.0, Mozilla 1.1 and Opera 7. The software runs three different plug-ins – RealPlayer, MediaPlayer or none; runs on six different client operating systems – Windows 2000, ME, XP, Linux, Mac OS X, and Solaris 9. The application resides in three different servers – IIS, Apache and WebLogic, running three different server operating systems – Windows 2000, XP and Linux. See Lee Copeland’s book for the table

Observations The problem requires L x orthogonal array The closest bigger orthogonal array is L x The table contains 64 rows Additional entries are filled up by the tester Not all combinations of input parameters are represented in the array Only all possible pairs are included in the array

Allpairs Algorithm Constructs all possible pairs of input parameters directly No constraints as in orthogonal arrays For the same case study, this algorithm generates only 48 rows in the table The table generated in this algorithm is “unbalanced”

Another case study

Some pairwise testing tools Hexawise from XBOSOFT AllPairs from James Bach (free) PICT (Pairwise Independent Combinatorial Testing) Tool AETG (Automatic Efficient Test Generator) © XBOSOFT

Limitations Generating orthogonal array or allpairs table is not easy Need commercial or third-party tool support No evidence of which method is better High probability combinations get little attention Dependencies among input variables are not exploited

References Lee Copeland, “A Practitioner’s Guide to Software Test Design”, Artech House Publishers, 2004, ISBN: X A.S. Hedayat et al., “Orthogonal Arrays: Theory and Applications”, Springer-Verlag, NY, J. Czerwonka, “Pairwise Testing in Real World”, Proceedings of the 24 th Pacific Northwest Software Quality Conference, 2006.

References (continued) W. Uthaileang et al., “Pair-wise Testing Applied with Online Registration”, 4 th Joint International Conference on Information and Communication Technology (JICTEE-2014), 5-8 March 2014, Chiang Rai, Thailand.