Lecture 2 May 21, 2013 Software Testing Research Dr. Sergiy Vilkomir 2013 REU Program at ECU Software Testing - Foundations, Tools, and Applications.

Slides:



Advertisements
Similar presentations
1 Alberto Montanari University of Bologna Basic Principles of Water Resources Management.
Advertisements

Orthogonal Array Testing Strategy
Andrea Calvagna – University of Catania - IT Angelo Gargantini – University of Bergamo – IT TAP 2009 – Zürich – 2nd July 2009 C OMBINING S ATISFIABILITY.
Lecture 8: Testing, Verification and Validation
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,
1 Lecture 2 Shortest-Path Problems Assignment Problems Transportation Problems.
An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
Copyright 2004 Koren & Krishna ECE655/DataRepl.1 Fall 2006 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing.
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.
IPOG: A General Strategy for T-Way Software Testing
Testing Techniques  Equivalence class analysis  Cause effect graphs  All pair testing.
Parity Declustering for Continous Operation in Redundant Disk Arrays Mark Holland, Garth A. Gibson.
RANJAN BHAMBROO Experimental Investigation of Effectiveness of Logical Expressions Using t-way Testing.
Today’s Agenda  HW #1 Due  Quick Review  Finish Input Space Partitioning  Combinatorial Testing Software Testing and Maintenance 1.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
Rick Kuhn Computer Security Division
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Describing Syntax and Semantics
SOFTWARE TESTING WHITE BOX TESTING 1. GLASS BOX/WHITE BOX TESTING 2.
Colour & Image in HTML Wah Yan College (Hong Kong) Mr. Li C.P.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
January 27, 2002 ECEN5033 University of Colorado -- Class Testing 1 Specifying interactions Remainder of slides assume Operations defined by a class are.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Automated Combinatorial Testing for Software Rick Kuhn and Raghu Kacker National Institute of Standards and Technology Gaithersburg, MD.
Black-Box Testing Techniques I Software Testing Lecture 4.
Basic Counting. This Lecture We will study some basic rules for counting. Sum rule, product rule, generalized product rule Permutations, combinations.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Research seminar 1. Dr. S. Vilkomir, Research directions in software testing. 2. Brandi Amstutz, Combinatorial Approach to Testing Mobile Applications:
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Requirements-based Test Generation for Functional Testing (© 2012 Professor W. Eric Wong, The University of Texas at Dallas) 1 W. Eric Wong Department.
The OWASP Foundation OWASP AppSec DC October This is a work of the U.S. Government and is not subject to copyright protection.
Black-Box Testing Techniques I
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
1 Combinatorial Algorithms Local Search. A local search algorithm starts with an arbitrary feasible solution to the problem, and then check if some small,
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Testing the programs In this part we look at classification of faults the purpose of testing unit testing integration testing strategies when to stop testing.
1 Input Space Partitioning(2). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 4  Section 4.1  Section
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Research seminar Introduction Sergiy Vilkomir April 16, 2014
Word Create a basic TOC. Course contents Overview: table of contents basics Lesson 1: About tables of contents Lesson 2: Format your table of contents.
Section 1.3 Each arrangement (ordering) of n distinguishable objects is called a permutation, and the number of permutations of n distinguishable objects.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
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.
Software Testing and Quality Assurance Practical Considerations (1) 1.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Software TestIng White box testing.
Overview Theory of Program Testing Goodenough and Gerhart’s Theory
SOFTWARE TESTING OVERVIEW
ISP Coverage Criteria CS 4501 / 6501 Software Testing
Ryan Lekivetz JMP Division of SAS Abstract Covering Arrays
Input Space Partition Testing CS 4501 / 6501 Software Testing
Software Fault Interactions and Implications for Software Testing
Effective Test Design Using Covering Arrays
6.5 Stochastic Prog. and Benders’ decomposition
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Sergiy Vilkomir January 20, 2012
Software Engineering Lecture #12.
IPOG: A General Strategy for T-Way Software Testing
Overview Part 2 – Circuit Optimization
Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can.
Automatic Test Generation for N-way Combinatorial Testing
IPOG: A general strategy for t-way software testing by Lei, Yu, IEEE /2/2019 Mehra N Borazjany.
6.5 Stochastic Prog. and Benders’ decomposition
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Lecture 2 May 21, 2013 Software Testing Research Dr. Sergiy Vilkomir 2013 REU Program at ECU Software Testing - Foundations, Tools, and Applications

Testing can show that defects are present, but cannot prove that there are no defects. Exhaustive testing is impossible 2/38 A restricted number of test cases should be selected There are different ways (testing methods/strategies/criteria/approaches) to select test cases There are no method that guarantee that software is 100% correct

Pair-Wise Pair-Wise: A value of each level for each factor must be combined with a value from every levels for each other factor. In other words, we must cover all possible pairs of values. Pair-wise testing provides a small set of test cases. It is a practical alternative to testing all combinations. Why? One test case covers several pairs ABC Test case greenredblue greenred covers greenblue pairs: redblue

Pair-Wise Pair-Wise: A value of each level for each factor must be combined with a value from every levels for each other factor. ABC red green redgreenred blue redblue green blue red greenred green blue greenbluegreen Exercise: Choose one pair and find a test case which covers this pair

Suppose that a program to be tested requires 3 inputs, one corresponding to each input variable. Each variable can take only one of two distinct values. Considering each input variable as a factor, the total number of factor combinations is 2 3. Let X, Y, and Z denote the three input variables and {X1, X2}, {Y1, Y2}, {Z1, Z2} their respective sets of values. All possible combinations of these three factors follow. Pairwise designs: Example

Now suppose we want to generate tests such that each pair appears in at least one test. There are 12 such pairs: (X1, Y1), (X1, Y2), (X1, Z1), (X1, Z2), (X2, Y1), (X2, Y2), (X2, Z1), (X2, Z2), (Y1, Z1), (Y1, Z2), (Y2, Z1), and (Y2, Z2). The following four combinations cover all pairs: The above design is also known as a pairwise design. It is a balanced design because each value occurs exactly the same number of times. There are several sets of four combinations that cover all 12 pairs. Pairwise designs: Reducing the combinations

Pairwise combinatorial testing Pairwise combination (instead of exhaustive) –Generate combinations that efficiently cover all pairs –Rationale: most failures are triggered by single values or combinations of a few values. Covering pairs reduces the number of test cases, but reveals most faults

Example: Display Control Display ModeLanguageFontsColorScreen size full-graphicsEnglishMinimalMonochromeHand-held text-onlyFrenchStandardColor-mapLaptop limited- bandwidth SpanishDocument- loaded 16-bitFull-size PortugueseTrue-color The total number of combinations – 432 (3x4x3x4x3) test cases

Pairwise combinations: 17 test cases LanguageColorDisplay ModeFontsScreen Size EnglishMonochromeFull-graphicsMinimalHand-held EnglishColor-mapText-onlyStandardFull-size English16-bitLimited-bandwidth-Full-size EnglishTrue-colorText-onlyDocument-loadedLaptop FrenchMonochromeLimited-bandwidthStandardLaptop FrenchColor-mapFull-graphicsDocument-loadedFull-size French16-bitText-onlyMinimal- FrenchTrue-color--Hand-held SpanishMonochrome-Document-loadedFull-size SpanishColor-mapLimited-bandwidthMinimalHand-held Spanish16-bitFull-graphicsStandardLaptop SpanishTrue-colorText-only-Hand-held Portuguese--MonochromeText-only PortugueseColor-map-MinimalLaptop Portuguese16-bitLimited-bandwidthDocument-loadedHand-held PortugueseTrue-colorFull-graphicsMinimalFull-size PortugueseTrue-colorLimited-bandwidthStandardHand-held Exercise: Choose one pair and find a test case which covers this pair

Number of test cases Example 1Example 2Example3 Number of factors235 Number of all combinations Number of pairwise test cases4917 System 1System 2 Number of factors61 29 – 2 levels 17 – 3 levels 15 – 4 levels – 2 levels 39 – 3 levels 1 – 4 levels Number of all combinations7.4 x x Number of pairwise test cases4128

In-class exercise Consider software with input parameters: –Dest: London, Paris, Chicago, NY –M: 1000, 2000, 3000 –Direct: Y, N Create test cases according to pair-wise approach. Number of all possible combinations? Number of pairs? Minimal number of test cases? 4 x 3 x 2 = 24 Dest - M: 4 x 3 = 12 Dest – Direct: 4 x 2 = 8 M – Direct: 3 x 2 = 6 Total: 26 Start with factors with max numbers of levels: Dest - M: 4 x 3 = 12 We need min 12 test cases

In-class exercise –Dest: London, Paris, Chicago, NY –M: 1000, 2000, 3000 –Direct: Y, N DestMDirect t1L t2L t3L t4P t5P t6P t7C t8C t9C t10N t11N t12N

In-class exercise –Dest: London, Paris, Chicago, NY –M: 1000, 2000, 3000 –Direct: Y, N DestMDirect t1L1 t2L2 t3L3 t4P1 t5P2 t6P3 t7C1 t8C2 t9C3 t10N1 t11N2 t12N3

In-class exercise –Dest: London, Paris, Chicago, NY –M: 1000, 2000, 3000 –Direct: Y, N DestMDirect t1L1Y t2L2N t3L3- t4P1- t5P2Y t6P3N t7C1N t8C2- t9C3Y t10N1Y t11N2N t12N3-

t-Wise t-Wise: A value of each level for each group of t factors must be combined. Sometimes: t-way (3-way, 4-way, etc) A natural extension is to require combinations of t values instead of 2 t-wise is expensive and benefits are not clear Example: 4-way 30 parameters 5 values each 3,800 test cases (could be too many)

Combinatorial Methods in Software Testing National Institute of Standards and Technology (NIST) 16/18 Presentation by Rick Kuhn, (NIST) at ECU, March 22, RG/seminars.html

Software Testing Study Software Testing is a part of ECU MSc SE program SENG 6265 Foundations of Software Testing SENG 6270 Software Verification and Validation

Software Testing Research Research - ? New Scientific approach: investigation, analysis, comparison, justification, etc. Publications

Project: Testing of Mobile Applications Android Development Tools Monkeyrunner tools from Android SDK Case study (testing) Robotium Calabash-Android Comparison, analysis Pair-wise approach for mobile testing Cloud Testing of Mobile Systems (CTOMS) framework