Dataflow Testing, Object-Oriented

Slides:



Advertisements
Similar presentations
Chapter 14 Testing Tactics
Advertisements

DATAFLOW TESTING DONE BY A.PRIYA, 08CSEE17, II- M.s.c [C.S].
A Survey of Program Slicing Techniques A Survey of Program Slicing Techniques Sections 3.1,3.6 Swathy Shankar
Course Outline Traditional Static Program Analysis –Theory Compiler Optimizations; Control Flow Graphs Data-flow Analysis – today’s class –Classic analyses.
Data Flow Coverage. Reading assignment L. A. Clarke, A. Podgurski, D. J. Richardson and Steven J. Zeil, "A Formal Evaluation of Data Flow Path Selection.
Whitebox Testing Fra: CS Fall Whitebox Testing AKA Structural, Basis Path Test Normally used at unit level Assumes errors at unit level are.
Course Outline Traditional Static Program Analysis –Theory Compiler Optimizations; Control Flow Graphs Data-flow Analysis – today’s class –Classic analyses.
CS412/413 Introduction to Compilers Radu Rugina Lecture 37: DU Chains and SSA Form 29 Apr 02.
1 Introduction to Data Flow Analysis. 2 Data Flow Analysis Construct representations for the structure of flow-of-data of programs based on the structure.
Systems V & V, Quality and Standards
Graph Coverage for Design Elements 1.  Use of data abstraction and object oriented software has increased importance on modularity and reuse.  Therefore.
Graph Coverage (2).
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
Topics in Software Dynamic White-box Testing: Data-flow Testing
Topics in Software Dynamic White-box Testing Part 2: Data-flow Testing
Introduction to Software Testing Chapter 2.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt
Software testing techniques Testing criteria based on data flow
Software Testing (Part 2)
White-Box Testing Techniques II Originals prepared by Stephen M. Thebaut, Ph.D. University of Florida Dataflow Testing.
Final Review  Different tests  Boundary Value Testing  Equivalence Class Testing  Decision Table Based Testing  Path Testing  Data Flow & P-Slice.
Software Testing and Maintenance Lecture 4 Graph Coverage for Design Element Paul Ammann & Jeff Offutt Instructor: Hossein Momeni Mazandaran.
1 testing17 Software Testing Functional, MCC, Dataflow Testing, Cause-Effect Graphing.
Article for last Tuesday u “Enhancing Software Testing by Judicious Use of Code Coverage Information” 1 540f07testing20nov06.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 08, 2005 Session 16.
1 Nasser Alsaedi. The ultimate goal for any computer system design are reliable execution of task and on time delivery of service. To increase system.
1 Graph Coverage (4). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Introduction to Software Testing (2nd edition) Chapter 7.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Graph Coverage for Design Elements 1.  Use of data abstraction and object oriented software has increased importance on modularity and reuse.  Therefore.
1 Test Coverage Coverage can be based on: –source code –object code –model –control flow graph –(extended) finite state machines –data flow graph –requirements.
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.
Structural Coverage. Measurement of structural coverage of code is a means of assessing the thoroughness of testing. Such metrics do not constitute testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Paul Ammann & Jeff Offutt
CS223: Software Engineering
Testing Object-Oriented Software Test Coverage Criteria
CSCE 747 Software Testing and Quality Assurance
Boundaries and C0,C1 Pressman pp
Software Testing and Maintenance 1
OOP What is problem? Solution? OOP
Data Coverage and Code Coverage
Types of Programming Languages
Lab 8 Data-Flow Testing.
Structural testing, Path Testing
Graph Coverage for Design Elements CS 4501 / 6501 Software Testing
White-Box Testing Techniques II
Paul Ammann & Jeff Offutt
Dataflow Testing G. Rothermel.
Mark Weiser University of Maryland, College Park IEEE CHI, 1981
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
White-Box Testing Techniques II
Chapter 10 Data Flow Testing Slice Testing
“White box” or “glass box” tests
Paul Ammann & Jeff Offutt
Software testing.
Structural Coverage.
Graph Coverage for Design Elements CS 4501 / 6501 Software Testing
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Paul Ammann & Jeff Offutt
Structural Coverage.
White-Box Testing Techniques II
Coursework 1 Due Tuesday, Feb 6, 2007 in the tutorial
Paul Ammann & Jeff Offutt
Software Testing and QA Theory and Practice (Chapter 5: Data Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Presentation transcript:

Dataflow Testing, Object-Oriented Software Testing Dataflow Testing, Object-Oriented

Data flow coverage Def x is a node where x is defined (given a value) 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) A def-free path is a path from a definition to a use that does not include another definition of that variable.

dcu - from every def to a c-use c-use (computation) 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

dpu - from every def to a p-use p-use (predicate) 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

du - from every def to every use 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

TTYP task Generate test case sets for triangle problem dpu dcu du

Object-oriented Software Testing Object-oriented testing Pressman pp 372-375,410-423 SOS ch 13

Quotes “It seems likely that more, not less testing will be needed to obtain high reliability in object-oriented systems” Binder (in Pressman)

Inheritance When do we need to retest the base class? When can we assume that the base class has already been tested?

Dynamic Binding When do we have to be concerned with dynamic bindings? virtual functions

Concerns about OO Testing Functional testing seems just as relevant to oo software as to traditional software Random and operational testing seem relevant to oo software Structural testing, C0 and C1, doesn’t seem effective for oo software, except ...

Coverage of functions Every function should be called at least once Overloaded functions need to have every version executed

Coverage of function calls Every MM pair (Method-message) should be executed. that is, every call to a method from a method should be executed if a function has more than one call to another method, all calls need to executed

Coverage of States An alternative view of testing is based on the states of a process Testing coverage can be every state every transition every pair of transitions etc.

Data Flow coverage Can we apply data flow coverage to object oriented software Def’s are often in one method, use in another

Schedule Thurs, Apr 13 Tues, Apr 18 Thurs, Apr 20 Reliability - SOS 10.3 - 10.3.3 PLQ Tues, Apr 18 Finish reliability, SQA task Thurs, Apr 20 Make-up exam for OCL