SENG521 (Fall SENG 521 Software Reliability & Testing Preparing for Test (Part 6a) Department of Electrical & Computer Engineering,

Slides:



Advertisements
Similar presentations
Programmability Issues
Advertisements

SENG521 (Fall SENG 521 Software Reliability & Testing Operational Profiles (Part 5b) Department of Electrical & Computer Engineering,
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
CmpE 104 SOFTWARE STATISTICAL TOOLS & METHODS MEASURING & ESTIMATING SOFTWARE SIZE AND RESOURCE & SCHEDULE ESTIMATING.
Optimal redundancy allocation for information technology disaster recovery in the network economy Benjamin B.M. Shao IEEE Transaction on Dependable and.
Experimental Design, Response Surface Analysis, and Optimization
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
Best-First Search: Agendas
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Chapter 12 Simple Regression
Chapter 4 Multiple Regression.
Evaluating Hypotheses
Testing an individual module
19 Costing Systems: Process Costing Principles of Accounting 12e
SENG521 (Fall SENG 521 Software Reliability & Testing Defining Necessary Reliability (Part 3b) Department of Electrical & Computer.
Correlation and Regression Analysis
BA 427 – Assurance and Attestation Services
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Overview Software Quality Assurance Reliability and Availability
Objectives of Multiple Regression
INTRODUCTION : Process costing is the type of costing applied in industries where there is continuous or mass production. The necessity for compilation.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Reliability Tools (Part 8a) Department of Electrical & Computer.
Physics 114: Lecture 15 Probability Tests & Linear Fitting Dale E. Gary NJIT Physics Department.
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Commercial Database Applications Testing. Test Plan Testing Strategy Testing Planning Testing Design (covered in other modules) Unit Testing (covered.
بسم الله الرحمن الرحيم * this presentation about :- “experimental design “ * Induced to :- Dr Aidah Abu Elsoud Alkaissi * Prepared by :- 1)-Hamsa karof.
Development of An ERROR ESTIMATE P M V Subbarao Professor Mechanical Engineering Department A Tolerance to Error Generates New Information….
Fundamentals of Data Analysis Lecture 4 Testing of statistical hypotheses.
Perfect Competition *MADE BY RACHEL STAND* :). I. Perfect Competition: A Model A. Basic Definitions 1. Perfect Competition: a model of the market based.
Statistical Analysis of Loads
Section 8.1 Estimating  When  is Known In this section, we develop techniques for estimating the population mean μ using sample data. We assume that.
Using Probability and Discrete Probability Distributions
Prerequisites: Fundamental Concepts of Algebra
Agenda Introduction Overview of White-box testing Basis path testing
Socio-technical Systems (Computer-based System Engineering)
TESTING FOR THE RELIABILITY OF A SOFTWARE SARAT CHANDRA YADAVALLI CSC 532 TERM PAPER.
BINOMIALDISTRIBUTION AND ITS APPLICATION. Binomial Distribution  The binomial probability density function –f(x) = n C x p x q n-x for x=0,1,2,3…,n for.
Statistical analysis Outline that error bars are a graphical representation of the variability of data. The knowledge that any individual measurement.
Managerial Economics Demand Estimation & Forecasting.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4b) Department of Electrical.
1. 2 To be able to determine which of the three measures(mean, median and mode) to apply to a given set of data with the given purpose of information.
5-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. May 28, 2009 Inventory # Chapter 5 Six Sigma.
O PTIMAL SERVICE TASK PARTITION AND DISTRIBUTION IN GRID SYSTEM WITH STAR TOPOLOGY G REGORY L EVITIN, Y UAN -S HUN D AI Adviser: Frank, Yeong-Sung Lin.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
IMPORTANCE OF STATISTICS MR.CHITHRAVEL.V ASST.PROFESSOR ACN.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
SENG521 (Fall SENG 521 Software Reliability & Testing Overview of Software Reliability Engineering Department of Electrical.
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Copyright © Cengage Learning. All rights reserved. 9 Inferences Based on Two Samples.
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4a) Department of Electrical.
Fundamentals of Data Analysis Lecture 4 Testing of statistical hypotheses pt.1.
CORRELATION-REGULATION ANALYSIS Томский политехнический университет.
Statistics 350 Lecture 2. Today Last Day: Section Today: Section 1.6 Homework #1: Chapter 1 Problems (page 33-38): 2, 5, 6, 7, 22, 26, 33, 34,
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Statistical analysis.
OPERATING SYSTEMS CS 3502 Fall 2017
Software Testing.
Activity-Based Costing and Management
Statistical analysis.
Authors: Maria de Fatima Mattiello-Francisco Ana Maria Ambrosio
Software Testing An Introduction.
Software Reliability Models.
Fault Injection: A Method for Validating Fault-tolerant System
Discrete Event Simulation - 4
Lecture # 2 MATHEMATICAL STATISTICS
Simultaneous Equations Models
Activity-Based Costing and Management
Presentation transcript:

SENG521 (Fall SENG 521 Software Reliability & Testing Preparing for Test (Part 6a) Department of Electrical & Computer Engineering, University of Calgary B.H. Far ( )

SENG521 (Fall Concepts /1 Run: Run: The smallest division of work that can be initiated by external intervention. Run is associated with input state (set of input variables) and runs with identical input state are of the same run type. Operation: Operation: An operation is a group of run types as conceived at the development stage. Test procedure: Test procedure: A controller that sets up environmental conditions and invokes randomly selected test cases at random times.

SENG521 (Fall Concepts /2 Types of test Feature Test: Feature Test: A single execution of an operation with interaction between operations minimized. Load Test: Load Test: Testing with field use data and accounting for interactions Regression Test: Regression Test: Feature tests after every build involving significant change, i.e., check whether a bug fix worked.

SENG521 (Fall Concepts /3 Direct input variable: Direct input variable: is a variables that controls the operation directly Example: arguments, selection menu, entered data field. Indirect input variable: Indirect input variable: is a variable that only influences the operations or its effects are propagated to the operation Example: traffic load, environmental variable

SENG521 (Fall Example Example of direct and indirect input variables for an operation

SENG521 (Fall What is a Test Case? A test case is a partial specification of a run through the naming of its direct input variables and their values. Test case is independent of operational mode The same test case can execute in different operational modes. Thus a test case can generate multiple runs each with different potential failure behavior

SENG521 (Fall Properties A “good” test case satisfies: It has a reasonable probability to catch an error It is not redundant It is the best of its breed It is neither too simple nor too complex It makes program failure obvious

SENG521 (Fall Example Test case is specified with its direct input variables In theory, it is possible to record all the input variables needed to initiate the runs that make up the whole execution space of the software

SENG521 (Fall Test Case & Run Specification of the indirect input variable gives a test case the necessary context so it can become a run. During feature and regression test, the influence of indirect input variables should be kept to minimum to ensure that the operation is reliable. Indirect input variables are effective during load test. The load test is divided into a number of operation modes each derived by a test procedure.

SENG521 (Fall Procedure The procedure involves two steps: 1)Preparing test cases (Test case management) Using either field data recording or operational profiles 2)Preparing test procedures Test procedure is a controller that sets up environmental conditions and invokes randomly selected test cases at random times. Prepare one test procedure for each operational mode using operational profile and the operation occurrence rate

SENG521 (Fall Test Cases Management The procedure for preparing test cases involve: 1.Estimate the number of new test cases needed for the current release 2.Allocate the number of new test cases among the systems to be tested 3.Allocate the number of new test cases for each system among its new operations 4.Specify the new test cases 5.Adding the new test cases to the ones already available (may be from a previous release)

SENG521 (Fall 1. Estimate New Test Cases Affected by two factors: time and cost Method: Method: Compute the number of test cases for the given Time: (available time X available staff)/ (average time to prepare a test case) Cost: (available budget) / (average preparation cost per test case) Select the minimum number of the two

SENG521 (Fall 2. Test Case Allocation: System Allocate the bulk of the test cases to the product itself. Give weight to the differing operations that have high occurrence probabilities. Do not allocate test cases to acquired components unless the newly acquired components are substituted for previous ones. Allocate test cases to acquired components based on their size relative to the product and the estimated risk. In the case of Fone Follower (example in Musa’s Book), the operating system represented a substantial part of the product and its reliability was unknown. Hence 500 test cases were allocated to the product and 200 to the operating system.

SENG521 (Fall 3. Test Case Allocation: Operations 1.Convert graphical representation of the operational profile to the tabular representation by walking through all the paths, obtain an occurrence probability for each operation (path) by multiplying the branch probabilities together. 2.Identify the rarely occurring critical new operations and determine how many test cases to pre-assign to each. 3.Determine the allocation probabilities for the other new operations. 4.Pre-assign one test case to each infrequent other new operation. 5.Assign the remaining test cases to the remaining other new operations in accordance with the allocation probabilities.

SENG521 (Fall Critical Operations A critical operation is one for which successful execution adds a great deal of extra value and failure causes a great deal of impact with respect to human life, cost, or system capability. An example of a critical operation is the SCRAM operation in nuclear power plants that shuts down a reactor when it starts to overheat. The operation that handles this condition is very rarely used, but it is extremely critical. Identify only the rarely occurring critical operations because sufficient test cases will be allocated to the frequently occurring critical operations because of their substantial occurrence probabilities.

SENG521 (Fall New Operations In the case of a new release, set the allocation probabilities for the new operations equal to the occurrence probabilities of the system operational profile. This is a satisfactory approximation; the sum of the occurrence probabilities for the other new operations will be very close to 1. For subsequent releases, divide the system occurrence probabilities for the other new operations by the total of the system occurrence probabilities for the other new operations.

SENG521 (Fall Infrequent Operations Infrequent operations are those that would not normally be assigned test cases by virtue of their occurrence probabilities. Ensure that we assign each operation at least one test case. The occurrence probability of an operation is often such that, because of the fact that runs usually substantially outnumber test cases, the operation might well invoke a run even though the occurrence probability might not normally result in test case selection. Thus determine the threshold occurrence probability below which you would not normally assign a test case to an operation. This is 0.5 divided by the number of new test cases. We then pre-assign one test case to each other new operation whose occurrence probability falls below the threshold.