Software Fault Interactions and Implications for Software Testing

Slides:



Advertisements
Similar presentations
What makes an image memorable?
Advertisements

Pseudo-Exhaustive Testing for Software Rick Kuhn Vadim Okun National Institute of Standards and Technology Gaithersburg,
IPOG: A General Strategy for T-Way Software Testing
Prioritizing User-session-based Test Cases for Web Applications Testing Sreedevi Sampath, Renne C. Bryce, Gokulanand Viswanath, Vani Kandimalla, A.Gunes.
Today’s Agenda  HW #1 Due  Quick Review  Finish Input Space Partitioning  Combinatorial Testing Software Testing and Maintenance 1.
Large Scale Findability Analysis Shariq Bashir PhD-Candidate Department of Software Technology and Interactive Systems.
CSE 322: Software Reliability Engineering Topics covered: Dependability concepts Dependability models.
1 Software Testing and Quality Assurance Lecture 31 – Testing Systems.
1 Software Testing and Quality Assurance Lecture 37 – Software Quality Assurance.
Rick Kuhn Computer Security Division
The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software.
SUNY Morrisville-Norwich Campus-Week 12 CITA 130 Advanced Computer Applications II Spring 2005 Prof. Tom Smith.
Parameterizing Random Test Data According to Equivalence Classes Chris Murphy, Gail Kaiser, Marta Arias Columbia University.
16.5 Introduction to Cost- based plan selection Amith KC Student Id: 109.
Reliability Modeling for Design Diversity: A Review and Some Empirical Studies Teresa Cai Group Meeting April 11, 2006.
To accompany Quantitative Analysis for Management, 8e by Render/Stair/Hanna Markov Analysis.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
Test coverage Tor Stålhane. What is test coverage Let c denote the unit type that is considered – e.g. requirements or statements. We then have C c =
January 27, 2002 ECEN5033 University of Colorado -- Class Testing 1 Specifying interactions Remainder of slides assume Operations defined by a class are.
Chapter 6: Integrity and Security Thomas Nikl 19 October, 2004 CS157B.
Automated Combinatorial Testing for Software Rick Kuhn and Raghu Kacker National Institute of Standards and Technology Gaithersburg, MD.
OSMA2003 Center for Reliability Engineering 1 Integrating Software into PRA Presented by C. Smidts Center for Reliability Engineering University of Maryland.
Application of the Direct Optimized Probabilistic Calculation Martin Krejsa Department of Structural Mechanics Faculty of Civil Engineering VSB - Technical.
The OWASP Foundation OWASP AppSec DC October This is a work of the U.S. Government and is not subject to copyright protection.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Timed Test Cases Generation Based on MSC-2000 Test Purposes Abdeslam En-Nouaary and Gang Liu Department of Electrical and Computer Engineering Concordia.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Center for Reliability Engineering Integrating Software into PRA B. Li, M. Li, A. Sinha, Y. Wei, C. Smidts Presented by Bin Li Center for Reliability Engineering.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
Introduction Previously, you learned how to graph logarithmic equations with bases other than 10. It may be necessary to convert other bases to common.
Intelligent Robot Lab Pusan National University Intelligent Robot Lab Chapter 7. Forced Response Errors Pusan National University Intelligent Robot Laboratory.
A PRELIMINARY EMPIRICAL ASSESSMENT OF SIMILARITY FOR COMBINATORIAL INTERACTION TESTING OF SOFTWARE PRODUCT LINES Stefan Fischer Roberto E. Lopez-Herrejon.
Shadow Detection in Remotely Sensed Images Based on Self-Adaptive Feature Selection Jiahang Liu, Tao Fang, and Deren Li IEEE TRANSACTIONS ON GEOSCIENCE.
8.1 – Sequences and Series. Sequences Infinite sequence = a function whose domain is the set of positive integers a 1, a 2, …, a n are the terms of the.
Evaluating Hypotheses. Outline Empirically evaluating the accuracy of hypotheses is fundamental to machine learning – How well does this estimate accuracy.
Calculation of Software Failure Probability and Test Case Selection February 14, 2007 Kim, Sung Ho.
CS1022 Computer Programming & Principles
Unit 3 Vibrationdata Sine Sweep Vibration.
Chapter 11 Designing Inputs, Outputs, and Controls.
Achieving High Software Reliability
Software Testing Day 1: Preliminaries
Random Testing: Theoretical Results and Practical Implications IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 2012 Andrea Arcuri, Member, IEEE, Muhammad.
Ryan Lekivetz JMP Division of SAS Abstract Covering Arrays
Lab Roles and Lab Report
AGU Paper Number: IN43B-1697 Evolving a NASA Digital Object Identifiers System with Community Engagement Lalit Wanchoo1 and Nathan.
Ryan Lekivetz & Joseph Morgan, JMP
Ch. 8 – Sequences, Series, and Probability
Combinatorial Testing
Chapter 15 QUERY EXECUTION.
Sergiy Vilkomir January 20, 2012
Sampling Distribution
Sampling Distribution
IPOG: A General Strategy for T-Way Software Testing
Test coverage Tor Stålhane.
Counting Statistics and Error Prediction
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Normal Probability Distributions
Normal Probability Distributions
Chapter 8 Confidence Intervals.
Regression Testing.
Automatic Test Generation for N-way Combinatorial Testing
Large Scale Findability Analysis
A SIEM for the Forensic Analysis of Database Management System Logs
Vector Spaces COORDINATE SYSTEMS © 2012 Pearson Education, Inc.
Chapter 5: Sampling Distributions
Presentation transcript:

Software Fault Interactions and Implications for Software Testing Presented By: Sai Praneeth Purighella.

Introduction For example, 20 inputs, each having 10 possible values, yield a total of 1020 combinations of settings. Only a few hundred test cases can be built and executed under most budgets Empirical research into quality and reliability suggests that software failures in a variety of domains were caused by combinations of relatively few parameters. If ‘n’ be the number of parameters involved, then testing all n-tuples of parameters is effectively equivalent to exhaustive testing (pseudo exhaustive). The number of conditions required to trigger a failure is referred as the failure-triggering fault interaction (FTFI) number.

Related Work Nair et al.’s case study of combinatorial testing for a small subsystem of a screen-based administrative database. Wallace and Kuhn’s review of medical device recall data gathered by FDA. Smith et al.’s investigation on the pairwise testing of RAX software on NASA’s Deep Space 1 mission.

Empirical Analysis Analysis of 329 error reports from development and integration of a large distributed system at NASA Goddard Space Flight Center. Results of analysis are shown in last column of Table 1 and in Table 2. Distribution of failure-triggering conditions appears to follow a power law. (See figure 1, last four columns of Table 1).

Figure 1

Implications of Testing Consider the example with 20 inputs, each with 10 possible values. Exhaustive testing requires 1020 test cases. But empirical studies show that most failures are triggered by a single erroneous parameter. However, all could be triggered by fewer than 6 parameters.

Background Calculations Consider the problem of n-tuples of k-parameters, each of which has ‘v’ possible values. The number of n-tuples drawn from k- parameters is

Implications (Continued) Since each parameter has ‘v’ values, total number of test cases would be C(k,n).vn. Let us see at the example previously considered. For a given number N, of test cases, and a specifies level n-tuple, how many values can or must be covered can becalculated using the expression: vn<=N, so n log v <= log N.

Conclusions If all errors in a particular class of software are triggered by finite combinations of ‘n’ values or less, then testing all combinations of n or fewer values would provide a form of “pseudoexhaustive testing”. Appropriate levels of ‘n’ appear to be 4<=n<=6 when considering pseudoexhaustive testing, according to dependability requirements. This approach might not be good effective real-time or other software that depends on testing event sequences, but may be applicable to subsystems within real-time software. Many more empirical studies of other classes of software are needed to evaluate the applicability of combinatorial testing for other classes of systems.

Thank You One and All!