1 testing17 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing.

Slides:



Advertisements
Similar presentations
Introduction to Software Testing Chapter 3.3 Logic Coverage from Source Code Paul Ammann & Jeff Offutt.
Advertisements

Systems V & V, Quality and Standards
Black Box Testing Csci 565 Spring 2009.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Data Flow Testing (DFT) Data flow testing is NOT the same as constructing Design Diagrams in the form of data-flow-diagrams (DFD) or E-R diagrams. It is.
1 testing18 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing.
Unit Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 27, 2007.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 16, 1999.
1 “White box” or “glass box” tests “White Box” (or “Glass Box”) Tests.
Software Testing and Quality Assurance
Software Testing and Quality Assurance
Testing an individual module
Chapter 18 Testing Conventional Applications
Software Testing and QA Theory and Practice (Chapter 4: Control Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Path testing Path testing is a “design structural testing” in that it is based on detailed design & the source code of the program to be tested. The methodology.
Equivalence Class Testing
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Software Systems Verification and Validation Laboratory Assignment 3
Software testing techniques Testing criteria based on data flow
Software Testing (Part 2)
Introduction to Software Testing
Final Review  Different tests  Boundary Value Testing  Equivalence Class Testing  Decision Table Based Testing  Path Testing  Data Flow & P-Slice.
5-1 Classifying Triangles Today we will be learning how to classify triangles according to length of sides and measurement of the angles.
Reference Paulo Alencar, University of Waterloo Frank Tsui, Southern Polytechnic State University.
Agenda Introduction Overview of White-box testing Basis path testing
1841f06detprob3 MM Stroustrup Ch26 u Comments? u Agree or disagree with his testing approach?
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.
Cause & Effect Graph Comparison Testing. Cause & Effect Graph This is basically a hardware testing technique adapted to software testing. It considers.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
Black-box Testing.
CS 217 Software Verification and Validation Week 7, Summer 2014 Instructor: Dong Si
Summarizing “Structural” Testing Now that we have learned to create test cases through both: – a) Functional (blackbox)and – b) Structural (whitebox) testing.
Software Testing. Software testing is the execution of software with test data from the problem domain. Software testing is the execution of software.
BASIS PATH TESTING.
1841f07subdomains2Aug23 Question u What is the main purpose of software testing?
Triangles 1st year P26 Chapter 4.
Chapter 8 Path Testing. Path testing Path testing is a “design structural testing” in that it is based on detailed design & the source code of the program.
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.
1 Test Coverage Coverage can be based on: –source code –object code –model –control flow graph –(extended) finite state machines –data flow graph –requirements.
1841f06detprob3 Testing Basics Detection probability.
1 Preview of Exam 2 - Thurs 4/3 u 150 pts u Readings SOS Articles OCL spec u x 11,both sides, handwritten cribsheet allowed (turn in with exam) u.
1841f06detprob4 Testing Basics Detection probability.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Software Testing Structural testing 540f07testing17oct25 1.
Software Testing Structural testing 1.
BASIS PATH TESTING.
Boundaries and C0,C1 Pressman pp
Software Testing.
Decision Table Testing
Software Engineering (CSI 321)
Dataflow Testing, Object-Oriented
Triangles.
Classifying Triangles
When is testing sufficient?
Path testing Path testing is a “design structural testing” in that it is based on detailed design & the source code of the program to be tested. The.
Structural testing, Path Testing
White Box Testing.
White-Box Testing.
Chapter 9 Path Testing–Part 1
UNIT-4 BLACKBOX AND WHITEBOX TESTING
“White box” or “glass box” tests
White-Box Testing Techniques III
Whitebox Testing.
Lecture 5 Binary Operation Boolean Logic. Binary Operations Addition Subtraction Multiplication Division.
Whitebox Testing.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Software Testing.
Unit III – Chapter 3 Path Testing.
Presentation transcript:

1 testing17 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing

2 testing17 Testing from Fall 04 u Test phases –Unit, Integration, System, Acceptance, Regression u Structural testing –C0, C1, Boundary u Random testing –Operational profile u Test plans

3 testing17 Functional Testing u Black Box testing u Deriving test cases from the requirements

4 testing17 Example Problem - Pay Program u reads in hours and wages u hours must be > 0 and < 80 u wages must be > 0 and < 100 u time and a half is paid for hours > 40 u output messages are –"wages in error" –"hours in error" –"no error"

5 testing17 pay example But plotting the domain is not always practical

6 testing17 Non-graphical functional testing u Build a matrix –every row is a condition from the problem –construct all the truth-table possibilities –indicate the output for every column –every column becomes a subdomain –create a test for every column u Identify important boundaries –create 2-on, 1-off test for each important boundary

7 testing17 condition < hTTTFTT h<80TTFTTT 40< hFTTFxx 0 < wTTTTTF w < 100TTTTFT outputn.e. hrs wag Solution

8 testing17 TTYP Task u Build a test matrix for the triangle problem –Given 3 inputs, interpret them as the lengths of the sides of a triangle –Output the type of triangle: »Scalene, isosceles, equilateral, not a triangle, bad inputs

9 testing17 Multiple Condition Coverage u For each decision –test case for true and test case for false –same as C1 u For each complex (involves logical operators) decision –test case for each combination of T/F for each relational operator –A || B requires TT, TF, FT, FF –Lazy evaluation => TX, FT, FF

10 testing17 TTYP Task – MCC u Generate the test sets to achieve multiple condition coverage for the “if a>=b+c || b>=a+c || c>=a+b” decision in the triangle problem

11 testing17 Data flow coverage u Def x is a node where x is defined (given a value) u Use x is a node where the value of x is used in an expression or a decision –C use is in a computation –P use is in a decision (predicate) u A def-free path is a path from a definition to a use that does not include another definition of that variable.

12 testing17 dcu - from every def to a c-use u c-use (computation) u if a variable is defined in node A and there are computational uses in node B and D, the dcu coverages requires an def-free path segment of either ABC or ACD

13 testing17 dpu - from every def to a p-use u p-use (predicate) u if a variable is defined in node A and it is used in a decision in C, the dpu coverage requires two def-free paths, one with segment of A...CD and one with A...CE

14 testing17 du - from every def to every use u if a variable is defined in node A and there are computational uses in node B and D, the du coverage requires a def-free path from node A to node B and a def-free path from node A to node D

15 testing17 TTYP task u Generate test case sets for triangle problem –dpu –dcu –du

16 testing17 Cause-Effect Graphing u Identify the basic conditions: b1, b2 (aka causes, atomic conditions) u Identify the effects as boolean expressions of the conditions u Identify combinations of the boolean expressions

17 testing17 Classic Example - boiler u Boiler should shut down if –Water level is below 20,000 lb –Water level is above 120,000 lb –Degraded mode and steam meter fails (Degraded mode if water pump has failed or pump monitor has failed)

18 testing17 Conditions for boiler u B1 – water below 20,000 lbs u B2 – water above 120,000 lbs u B3 – water pump has failed u B4 – pump monitor has failed u B5 – steam meter has failed u E1 – shut the boiler u E1 = (B1 or B2 or (B5 (B3 or B4))

19 testing17 TTYP u Identify the basic conditions for the triangle problem u Identify the effects (e.g. scalene) and their boolean conditions

20 testing17 Thursday, Apr 6 u OO testing –Pressman , –SOS ch 13 u PreLecture quiz –functional, mcc, data-flow,