Sergiy Vilkomir January 20, 2012

Slides:



Advertisements
Similar presentations
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Advertisements

Data Flow Coverage. Reading assignment L. A. Clarke, A. Podgurski, D. J. Richardson and Steven J. Zeil, "A Formal Evaluation of Data Flow Path Selection.
An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
(c) 2007 Mauro Pezzè & Michal Young Ch 9, slide 1 Test Case Selection and Adequacy Criteria.
Practical Approach to Teaching Software Testing Sashko Ristov 11th Workshop on “Software Engineering Education and Reverse Engineering” – August 22-27,
An Experimental Evaluation on Reliability Features of N-Version Programming Xia Cai, Michael R. Lyu and Mladen A. Vouk ISSRE’2005.
Software Testing and Quality Assurance
© 2006 Fraunhofer CESE1 MC/DC in a nutshell Christopher Ackermann.
Evaluating Ontology-Mapping Tools: Requirements and Experience Natalya F. Noy Mark A. Musen Stanford Medical Informatics Stanford University.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
1 Prediction of Software Reliability Using Neural Network and Fuzzy Logic Professor David Rine Seminar Notes.
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:
© SERG Dependable Software Systems (Mutation) Dependable Software Systems Topics in Mutation Testing and Program Perturbation Material drawn from [Offutt.
Strategies and Resources for Funding in the Natural Sciences Gary W. Small Department of Chemistry & Optical Science and Technology Center
1 Software Testing. 2 Path Testing 3 Structural Testing Also known as glass box, structural, clear box and white box testing. A software testing technique.
Acknowledgments We thank our families, the whole Enterprise Systems Group and specially Prof. Richard Page for their help and support. We also thank the.
White Box-based Coverage Testing (© 2012 Professor W. Eric Wong, The University of Texas at Dallas) 111 W. Eric Wong Department of Computer Science The.
Software Testing. Software testing is the execution of software with test data from the problem domain. Software testing is the execution of software.
Lesson - 5. Introduction While programming, we usually need to decide the path of the program flow according to the parameters and conditions. Actually.
Experimentation in Computer Science (Part 2). Experimentation in Software Engineering --- Outline  Empirical Strategies  Measurement  Experiment Process.
Development through partnership Infrastructure Delivery Management Toolkit: 2010 Edition Delivery Process 2: Project Management 1.
Computer Science 1 Systematic Structural Testing of Firewall Policies JeeHyun Hwang 1, Tao Xie 1, Fei Chen 2, and Alex Liu 2 North Carolina State University.
Effectiveness of Pair-wise Testing on Logical Expressions Presented by William Ballance.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
© 2005 Illinois Mathematics and Science Academy Evaluating information on the Web: How have college students learned to evaluate Internet information?
Software Engineering Experimentation
Medical Device Software Development
Applying Combinatorial Testing to Data Mining Algorithms
Strategic Information Systems Planning
Paul Ammann & Jeff Offutt
Fault Trees.
Overview Theory of Program Testing Goodenough and Gerhart’s Theory
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Paul Ammann & Jeff Offutt
Discussions on Software Reliability
Software Fault Interactions and Implications for Software Testing
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 2 Theory of Program Testing
Coverage-Based Test Design CS 4501 / 6501 Software Testing
Understanding Results
Introduction to Software Testing Chapter 3.1, 3.2 Logic Coverage
Structural testing, Path Testing
Detecting Faulty Empty Cells in Spreadsheets
Moonzoo Kim School of Computing KAIST
IPOG: A General Strategy for T-Way Software Testing
Introduction to Software Testing Chapter 3.2 Logic Coverage
INTRODUCTION TO HYPOTHESIS TESTING
Evaluation of (Deterministic) BT Search Algorithms
A Primal-Dual Solution to Minimal Test Generation Problem
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Evaluation of (Deterministic) BT Search Algorithms
Institute of Computing Tech.
Logic Coverage for Source Code CS 4501 / 6501 Software Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
Computing probabilities using Expect problem-solving Trees: A worked example Jim Blythe USC/ISI.
CHAPTER 4: Conditional Structures
Methodology Week 5.
Introduction to Software Testing Chapter 8.1 Logic Coverage
Automatic Test Generation for N-way Combinatorial Testing
Evaluation of (Deterministic) BT Search Algorithms
IPOG: A general strategy for t-way software testing by Lei, Yu, IEEE /2/2019 Mehra N Borazjany.
Software Verification and Validation
Whitebox Testing.
Testing Hypotheses I Lesson 9.
Introduction to Software Testing Chapter 3.2 Logic Coverage
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Introduction to Software Testing Chapter 3.1, 3.2 Logic Coverage
CS 791Graduate Topics in Computer Science [Software Engineering]
Presentation transcript:

Sergiy Vilkomir January 20, 2012 East Carolina University, Department of Computer Science, Software Testing Research Group Research Seminar Introduction to experimental investigation of effectiveness of software testing Sergiy Vilkomir January 20, 2012

Effectiveness of software testing We investigate effectiveness of software testing criteria A testing criterion is a rule, that tells us the requirements that a set of test cases should satisfy Criterion = Approach = Strategy = Method Effectiveness of testing criteria is the ability to detect failures in a software program. STRG January 20, 2012

Effectiveness of software testing The measure of effectiveness: the probability that one test set, randomly taken according to criterion C, will detect a fault. The definitions are very general and in practical investigations some specific areas are usually considered (specific criteria / types of software / types of faults) STRG January 20, 2012

Testing logical expressions One of the specific areas - testing logical expressions in software Often important for safety critical systems Example: if (P<140  T>280)  (P<150  T>260  N75) then shut_down_reactor Testing logical expressions has been extensively investigated Many criteria have been suggested, e.g. control-flow criteria (CC, DC, MC/DC, RC/DC, etc) STRG January 20, 2012

Pair-wise testing Combinations of either configuration parameter values or input parameter values are considered All possible pairs of values must be covered parameter = factor; value = level Pair-Wise: A value of each level for each factor must be combined with a value from every levels for each other factor. STRG January 20, 2012

Pair-wise – 13 tests All pair are here 1 a 1 true 50 2 a 2 false 60 3 a 3 true 70 4 b 1 false 60 5 b 2 true 50 6 b 3 false 70 7 c 1 true 70 8 c 2 false 50 9 c 3 true 60 10 d 1 false 50 12 d 2 true 70 12 d 3 * 60 13 * 3 * 50 An example 4 input parameters X - a, b, c, d Y - 1, 2, 3 Z - true, false S – 50, 60, 70 Total number of test combinations - 72 STRG January 20, 2012

Pair-wise testing Provides a small set of test cases. It is a practical alternative to testing all combinations. Example 1: 3 parameters with 3 values each All combinations: 27 test cases Pair-wise: 9 test cases Example 2: 75 parameters (35 – 2 values, 39 – 3 values, 1 – 4 values) All combinations: 5.5 x 1029 test cases Pair-wise: 28 test cases STRG January 20, 2012

Research area CC, DC, MC/DC, RC/DC Pair-wise testing Software input domain; Combinations of options, selections, and configurations CC, DC, MC/DC, RC/DC Logical expressions in software STRG January 20, 2012

Research Question How effective is the pair-wise and t-way approach for testing logical expressions in software ? It is a non-traditional area of application for the pair-wise approach According to our knowledge, the only one detailed investigation of using pair-wise approach for testing logical expression was made by Kobayashi et al (N. Kobayashi, T. Tsuchiya, and T. Kikuno, “Non-specification-based approaches to logic testing for software”, Information and Software Technology, 2002, Vol. 44, No. 2, pp. 123–121) STRG January 20, 2012

Our approach - experimental investigation Step 1. Consider sets of logical expression as case studies Step 2. For each expression, generate (using our own tool) faulty expressions for all possible faults of 5 different types Step 3. Generate pair-wise test sets using external tools Step 4. Apply these test sets to all faulty expressions and determine (using our own tool) if faults were revealed Step 5. Evaluate effectiveness of pair-wise testing STRG January 20, 2012

Details- in the next two presentations Two papers published and presented at international conferences One paper submitted New works in progress Interest from other researches STRG January 20, 2012

Thank you! Questions? STRG January 20, 2012