Software Testing: A Selection of Papers by Elaine Weyuker Peter Greenwood for EEE 599.

Slides:



Advertisements
Similar presentations
Performance Testing - Kanwalpreet Singh.
Advertisements

Test process essentials Riitta Viitamäki,
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
OO Testing Problems Adequate Testing and OOP Perry/Kaiser.
Testing Concurrent/Distributed Systems Review of Final CEN 5076 Class 14 – 12/05.
Software Testing and QA Theory and Practice (Chapter 2: Theory of Program Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and.
Software Metrics. Views on Testing Categories of Metrics Review of several OO metrics CEN 5076 Class 7 – 10/17.
Software Testing and Quality Assurance
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Methodology for Architectural Level Reliability Risk Analysis Lalitha Krothapalli CSC 532.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
CSCI 5801: Software Engineering
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System/Software Testing
Software Testing. Definition To test a program is to try to make it fail.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
Item 2005 L A Rønningen. Reservation Model Pessimistic or Optimistic Approach 1-N Senders and 1-M Receivers Sender-oriented or Receiver-oriented Immediate.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Testing Theory cont. Introduction Categories of Metrics Review of several OO metrics Format of Presentation CEN 5076 Class 6 – 10/10.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
Coverage – “Systematic” Testing Chapter 20. Dividing the input space for failure search Testing requires selecting inputs to try on the program, but how.
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.
Software Testing Testing types Testing strategy Testing principles.
Software Performance Testing Based on Workload Characterization Elaine Weyuker Alberto Avritzer Joe Kondek Danielle Liu AT&T Labs.
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Software Architecture based Performance and Reliability Evaluation Vibhu S. Sharma Ph.D. Scholar CSE, IITk.
Slide 1 Chapter 11 Real –time Software Designs. Slide 2 Real-time systems l Systems which monitor and control their environment l Inevitably associated.
Software Reliability Research Pankaj Jalote Professor, CSE, IIT Kanpur, India.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
1. Black Box Testing  Black box testing is also called functional testing  Black box testing ignores the internal mechanism of a system or component.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Mutation Testing Breaking the application to test it.
An End-to-End Service Architecture r Provide assured service, premium service, and best effort service (RFC 2638) Assured service: provide reliable service.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 23, 1999.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Mutation Testing Laraib Zahid & Mariam Arshad. What is Mutation Testing?  Fault-based Testing: directed towards “typical” faults that could occur in.
SENG521 (Fall SENG 521 Software Reliability & Testing Preparing for Test (Part 6a) Department of Electrical & Computer Engineering,
Defect testing Testing programs to establish the presence of system defects.
CS223: Software Engineering Lecture 25: Software Testing.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
Real-time Software Design
TQS - Teste e Qualidade de Software (Software Testing and Quality) Software Testing Concepts João Pascoal Faria
Real-time Software Design
Hardware & Software Reliability
Software Testing An Introduction.
Real-time Software Design
Software testing strategies 2
Lecture 09:Software Testing
Fault Tolerance Distributed Web-based Systems
Software testing.
The Network Layer Network Layer Design Issues:
Dynamic Program Analysis
Network Planning & Capacity Management
Methodology for Architectural Level Reliability Risk Analysis
Network Planning & Capacity Management
Network Planning & Capacity Management
Presentation transcript:

Software Testing: A Selection of Papers by Elaine Weyuker Peter Greenwood for EEE 599

Apr 98EEE Weyuker Presentation2 Elaine Weyuker PhD (CS) Rutgers U ‘77 Software Testing Researcher at AT&T Bell Labs, Murray Hill, NJ CS Professor Courant Institute of NYU 30+ papers, primarily on Software Testing

Apr 98EEE Weyuker Presentation3 The Papers Axiomatizing Software Test Data Adequacy (TSE Dec 86) The Automatic Generation of Load Test Suites and the Assessment of the Resulting Software (TSE Sep 95, with Avitzer) Reliability Testing of Rule-Based Systems (Software Jun 96, with Avritzer and Ros)

Apr 98EEE Weyuker Presentation4 Goal of Presentation highlight some of Weyuker’s prolific work in software testing contrast the general and theoretical character of her early work with the specific and practical nature of her current work

Apr 98EEE Weyuker Presentation5 Axiomizing Software Test Data Adequacy (Dec 86) How much testing is enough to determine if a program is acceptable? –very important question –relatively little research activity (1986) –no industry standards test until testing time expired test until all cases in current test set pass

Apr 98EEE Weyuker Presentation6 When Should Testing Stop? Terminate when an adequacy criterion is met –a measure of how well the testing process has been performed –relates a test set to the program, the specification, or both –could relate a test set to the program’s operational profile

Apr 98EEE Weyuker Presentation7 Constraints of this Approach deals only with dynamic testing (running the program on test cases) does not involve any static testing (analysis of code, structure, etc.)

Apr 98EEE Weyuker Presentation8 Constraints (con’t) Weyuker’s paper deals only with program-based criteria –ignores specifications –most adequacy criteria are of this type –easier to automate

Apr 98EEE Weyuker Presentation9 Weyuker on Testing “The purpose of testing is to uncover errors, not to certify correctness.”

Apr 98EEE Weyuker Presentation10 The Axioms (1 & 2) Axiom 1: (Applicability) For every program, there exists a finite adequate test set. Axiom 2: (Nonexhaustive Applicability) There is a program P and a test set T such that P is adequately tested by T, and T is not an exhaustive test set.

Apr 98EEE Weyuker Presentation11 Axioms 3 & 4 Axiom 3: (Monotonicity) If T is adequate for P, and T is a subset of T’, then T’ is adequate for P. Axiom 4: (Inadequate Empty Set) The empty set is not adequate for any program.

Apr 98EEE Weyuker Presentation12 Axioms 5 & 6 Axiom 5: (Anti-extensionality) There are programs P and Q such that P is equivalent to Q, T is adequate for P, but T is not adequate for Q. Axiom 6: (General Multiple Change) There are programs P and Q which are the same shape, and a test set T such that T is adequate for P, but T is not adequate for Q.

Apr 98EEE Weyuker Presentation13 Axiom 7 Axiom 7: (Anti-decomposition) There exists a program P and a component Q such that T is adequate for P, T’ is the set of vectors of values that variables can assume on entrance to Q for some t of T, and T’ is not adequate for Q.

Apr 98EEE Weyuker Presentation14 Axiom 8 Axiom 8: (Anti-composition) There exist programs P and Q such that T is adequate for P and P(T) is adequate for Q, but P is not adequate for P;Q.

Apr 98EEE Weyuker Presentation15 Summary of Axiomatizing axioms are applied to 5 adequacy criteria –path, branch, statement, mutations, modified size path, branch, statement fail application and antidecompositon branch and statement also fail anticomposition

Apr 98EEE Weyuker Presentation16 Summary of Axiomatizing

Apr 98EEE Weyuker Presentation17 Criticism Zweben & Gourlay, On the Adequacy of Weyuker’s Test Data Adequacy Axioms (IEEE TSE Apr 89) –“The properties proposed by Weyuker are neither fundamental enough nor precise enough to serve as a useful formal system for discussing adequacy or comparing criteria”

Apr 98EEE Weyuker Presentation18 More Criticism Professor Norman Fenton, keynote address to 2nd QUALMS User Group Meeting, South Bank University, Jul 92 –“Elaine Weyuker … has presented a list of axioms … Measurement Theory reveals that some of these axioms are contradictory.”

Apr 98EEE Weyuker Presentation19 Dr. Weyuker’s Current Work

Apr 98EEE Weyuker Presentation20 Automatic Generation of Load Test Suites (Sep 95) develops 3 algorithms for automatic test case generation applies them to 5 real industrial software systems assess the results

Apr 98EEE Weyuker Presentation21 Failure Types Hard failure –complete loss of traffic ( ie cable break, power failure, router failure) Soft failure –degraded performance (ie activity burst) –important that this does not occur –telecoms designed with excess capacity –avoid permanent soft failure

Apr 98EEE Weyuker Presentation22 Goals a smoothly degrading system graceful recovery

Apr 98EEE Weyuker Presentation23 Load Testing Strategies system functionality has already been tested assess system performance under a known load black-box oriented based on system operational profile

Apr 98EEE Weyuker Presentation24 Typical Telecom Operational Profile number of different types of call average service demands and probability distribution of each call type average external arrival rate routing probabilities for each node this information is usually readily available

Apr 98EEE Weyuker Presentation25 Purpose of Algorithms tests resource allocation mechanisms associated with software systems system behavior under load is not measured by functionality testing each variable vector is a distinct system state

Apr 98EEE Weyuker Presentation26 Basis of Algorithms too many states to exhaustively test calculate probability of system being in each state (from operational profile) heuristically determine some threshold  generate a test case for those states where P(S) > 

Apr 98EEE Weyuker Presentation27 The Algorithms Deterministic State Testing (DST) –generate a test case for each state S where P(S) >  DST with State Transition Checking (TDST) –as for DST, but also generate test cases for every S’ reachable from S

Apr 98EEE Weyuker Presentation28 The Algorithms (con’t) DST with Length N Cycles (CDST) –as for DST, but also generate test cases for every S’ within a cycle of length N from S with a probability > 

Apr 98EEE Weyuker Presentation29 Target Systems Project 1:telephone call rerouter Project 2:800 number call traffic monitor Project 3:routing automator Project 4:transaction processing system Project 5: network interface software

Apr 98EEE Weyuker Presentation30 Testing Results automated test generation routines were developed for all five projects automated test results were presented for projects 1 & 2

Apr 98EEE Weyuker Presentation31 Project 1 Results telephone call rerouter software test results accurately predicted system performance testing revealed a serious architectural problem

Apr 98EEE Weyuker Presentation32 Project 2 Results 800 number call traffic monitor led to better requirements analysis used automated test case generation exclusively, replacing hand-crafting more test cases with more variety uncovered four potentially severe faults minimal additional cost

Apr 98EEE Weyuker Presentation33 Reliability Testing of Rule- Based Systems (Sep 96) applies same automatic test case generation algorithm to an industrial network surveillance system system was a reimplementation, so a large body of operational data was available from the original system system designed to run 24 hours/day; 365 days/year

Apr 98EEE Weyuker Presentation34 Approach system has very large state space 355 days of operational data from 93 switches were used to identify 857 states entered coverage required testing 843 states

Apr 98EEE Weyuker Presentation35 State Testing Requirements

Apr 98EEE Weyuker Presentation36 Findings historical data is useful for selecting test cases based on state probabilities selection algorithm must consider –reliability requirements –size of the (limited) state space –comprehensiveness of individual test cases

Apr 98EEE Weyuker Presentation37 Summary change of focus from theory to application extension from telecom to general application accomplished, respected, and prolific researcher in software testing and reliability