Statistical Testing Jonas Abromaitis IFM-0/2.

Slides:



Advertisements
Similar presentations
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Advertisements

Statistics Hypothesis Testing.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Chapter 4 Quality Assurance in Context
Cleanroom Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
Design Concepts and Principles
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing and Quality Assurance
The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware.
Software Integration and Documenting
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Understand Application Lifecycle Management
12.1 Introduction Checklists are used as a technique to give status information in a formalized manner about all aspects of the test process. This chapter.
Software Testing and Quality Assurance Software Quality Assurance 1.
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
System Testing Beyond unit testing. 2 System Testing Of the three levels of testing, system level testing is closest to everyday experience We evaluate.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
Software testing techniques Software testing techniques Statistical Testing Presentation on the seminar Kaunas University of Technology.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Construction Lecture 19 Software Testing-2.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Software Quality Assurance and Testing Fazal Rehman Shamil.
UML - Development Process 1 Software Development Process Using UML.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Testing Integral part of the software development process.
Unit 3: Probability.  You will need to be able to describe how you will perform a simulation  Create a correspondence between random numbers and outcomes.
Sampling and Sampling Distribution
SaralTA Batch-07 Software Testing Presented By - Chittaranjan M.
Software Testing Strategies for building test group
OPERATING SYSTEMS CS 3502 Fall 2017

Ch3.5 Hypergeometric Distribution
Chapter 6 Inferences Based on a Single Sample: Estimation with Confidence Intervals Slides for Optional Sections Section 7.5 Finite Population Correction.
Software Testing.
Parts of a Lab Write-up.
Problem Solving How do we attack a large problem?
Cleanroom Software Engineering
Verification and Testing
Object oriented system development life cycle
Chapter 13 & 14 Software Testing Strategies and Techniques
Structural testing, Path Testing
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Software Development Cycle
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Object-Oriented Analysis
Strategies For Software Test Documentation
Software Reliability Models.
Lecture 09:Software Testing
Verification and Validation Unit Testing
Programming Fundamentals (750113) Ch1. Problem Solving
Software testing.
CS240: Advanced Programming Concepts
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Control Structure Testing
In the Senior Design Center
Chapter 7: Introduction to Sampling Distributions
Software Development Cycle
Software Testing “If you can’t test it, you can’t design it”
Research Design and Methods
Software Development Cycle
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Unit III – Chapter 3 Path Testing.
Presentation transcript:

Statistical Testing Jonas Abromaitis IFM-0/2

Introduction NIST* developed techniques for applying statistical methods to derive best sample test cases and provide a statistical level of confidence or probability that a program implements its functional specification correctly NIST* - National Institute of Standards and Technology

Introduction The concept of statistical testing was invented by Harlan Mills (IBM) The central idea is to use software testing as a means to assess the reliability of software as opposed to a debugging mechanism

Black-Box Conformance Testing Consists of developing a suite of tests to determine the correctness of an implementation that is built to the requirements of a functional specification.

Black-Box Conformance Testing Control-Flow Testing category - the objective is to model the functional specification as a directed graph and find input values for a minimal number of test cases to ensure that every achievable path is traversed by at least one of the test cases.

Markov chain model It allows test input sequences to be generated from multiple probability distributions, making it more general than many existing techniques

Markov chain model Analytical results associated with Markov chains facilitate informative analysis of the sequences before they are generated, indicating how the test is likely to unfold.

Usability testing Forecast Analyze Compare Change UI …...

Usage model Characterizes the population of intended uses of the software in the intended environment Statistical testing based on a software usage model ensures that the failures that will occur most frequently in operational use will be found early in the testing cycle.

Usage model Based on the software specification Can be developed in parallel with the software

Usage model Improves the specification, gives an analytical description of the specification, quantifies the testing costs and, with statistical testing, provides a basis from which inferences of software reliability may be made.

Usage model 1. Review and clarify the software specification 2. Identify expected users of the software, expected uses of the software, and expected system environment 3. Define a stratification of user and environment parameters

Usage model 4. Determine the desired levels of usage model granularity 5. Iteratively develop usage model structure 6. Verify the correctness of the structure against the specification

Usage model 7. Iteratively develop a probability distribution for the model 8. Verify the correctness of the probability distribution against any information available concerning intended usage of the software

Metrics (reliability) Probability of failure on demand Time between failures Failures count over some period of time

Metrics (usability) State life duration Probability of reaching state 'X' Count of reaching state 'X' Reaching some state only once or n times Total state switches during program run- time

How do we get probabilities? Specified! No?... Other similar systems! There is none?... Based on field data (there might be no info) Assumptions about expected use (I guess that my guess is correct!) Worst case... Just split probabilities equally

Binomial Trials The binomial model describes the number of successes in n independent trials, where each trial has probability of success p.

So what is it all about? Statistical testing Find small number of test cases to do the grand job Find how correct it is, rather than find bugs Know who, how and where will use the soft Don't wait for too late (early testing) You know the metrics – you know the project development state

Questions ?

Thank you 4 your attention! Questions for audience: How does Markov Chain graph looks like? How to find states reach probabilities? How is statistical testing associated with Black Box testing? Why would you want to know the reliability of the soft?