1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The...
-
Upload
osborne-obrien -
Category
Documents
-
view
215 -
download
0
Transcript of 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The...
![Page 1: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/1.jpg)
1
Testing Object-Oriented Software
A Presentation at a DFW ASEE Meeting
Dr. David C. KungThe University of Texas at Arlington
andAdvanced Software International Corporation
Arlington, Texas 76019-0015817-272-3785
![Page 2: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/2.jpg)
2
Overview of Presentation
• Why Object-Oriented Software Testing• The State-of-the-Research• OO Software Testing Research at UTA• OOTWorks Software Demonstration
![Page 3: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/3.jpg)
3
Why Object-Oriented Software Testing
• transition to OO development is not easy– OO conceptualization, design and programming
significantly impact the quality
– many developers’ mindset is still in procedural design and programming
– anti-design patterns are commonly found in OO design and OO code
![Page 4: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/4.jpg)
4
Case Study 1: Analysis of a Fedex Ship Manager Software
• This software was designed and implemented by a team of students taking an OO software engineering class
• It has nothing to do with Fedex
• The software was supposed to compute and display the shipment charges for all Fedex services from a given origin zip to a given destination zip
• This program is working but it has some design problems
• We show how OOTWorks can be used to detect these design problems
![Page 5: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/5.jpg)
5
Poor Conceptualization
NextAfternoon,OvernightExpress,Ground, etc. are services. They are not a RateChart.
It is better to use association.
![Page 6: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/6.jpg)
6
Poor Responsibility Assignment
There should not be a class called “RateCalculator”. The services are the “experts” who know how to calculate their own rates.
This design assigns the responsibility to the wrong object.
![Page 7: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/7.jpg)
7
Incorrect Use of Inheritance
Child classes must not repeat the same code as the parent class, failing to utilize the inheritance and polymorphism features. This increases the maintenance effort.
![Page 8: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/8.jpg)
8
Better Design
Better conceptualization.
The services use ZoneChart and Delivery Area Surcharge to calculate rates.
![Page 9: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/9.jpg)
9
Better Design
The subclasses inherit and use all of the methods of the superclass.
![Page 10: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/10.jpg)
10
Automatic Design Improvement The repeated code can be deleted from the subclasses.
![Page 11: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/11.jpg)
11
Automatic Design Improvement
![Page 12: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/12.jpg)
12
Why Object-Oriented Software Testing
• OO features introduce new testing problems– encapsulation leading to long method invocation
chains, more difficulty to understand the (overall) functionality
– inheritance and polymorphism: which method to execute is determined at run time
– multiple and/or repeated inheritance may cause incorrect interaction in child classes
– you cannot test a class, you can only test instances of a class
![Page 13: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/13.jpg)
13
0
100
200
300
400
500
600
700
800
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Invocation chains in the InterViews Library: 122 classes, >400 relationships
Chain Length
Num
ber
of C
hain
s
![Page 14: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/14.jpg)
14
Why Object-Oriented Software Testing
main () { Shape *p; …. p->print(); // which print() to // execute? … }
Shapeprint ()
Boxprint ()
Squareprint ()
![Page 15: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/15.jpg)
15
• objects engage in complex interdependent relationships– testing one object may require test stubs to simulate
other objects
– test stubs construction is costly and time consuming
– mutual or cyclic dependencies introduce additional complexity and costs in unit and integration testing
– need a test order for unit testing and integration testing
Why Object-Oriented Software Testing
![Page 16: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/16.jpg)
16
Complex Relationships
![Page 17: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/17.jpg)
17
• objects exhibit strong state dependent behaviors– how to identify states and transitions?
– how to identify state dependent interactions?
– how to generate test cases to test state behaviors?
– how to reduce the complexity of state behavior testing?
Why Object-Oriented Software Testing
![Page 18: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/18.jpg)
18
The State-of-the-Research
• OO software testing began in the 1990s• A number of test methods and techniques have
been proposed• There are various tools, some are free some are
not• The tester still has to do a lot of work
![Page 19: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/19.jpg)
19
The State-of-the-Research
• OO Test Methods and Techniques– incremental testing of class hierarchy
– test order
– object state testing
– class testing, cluster testing
– data flow analysis
– testing polymorphic relationships
– data flow analysis for exception handling mechanism
– OO regression testing
![Page 20: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/20.jpg)
20
OO Software Testing Research at UTA
• A reverse engineering technology• Plus a set of utilities to facilitate
• program understanding• design documentation • design analysis• design improvement • metrics calculation• test scheduling• change impact analysis• version comparison
• test case generation• test data generation • design improvement• code review & analysis• code improvement• test execution• result analysis• and more ...
• The result is the OOTWorks toolkit
![Page 21: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/21.jpg)
21
Why OOTWorks
• It improves productivity and quality in– Documentation
– Design and code reviews
– Testing, regression testing and maintenance
– Test planning and scheduling
• It reduces the time and effort required to prepare for CMM/ audit each year
![Page 22: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/22.jpg)
22
The OOTWorks Modules
ORD(Object Relation Diagram)
BBD
(Block Bench Diagram)
OSD(Object State Diagram) (Package Relation Diagram)
PRD
OID(Object Interaction Diagram)
![Page 23: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/23.jpg)
23
Object Relation Diagram (ORD)
• Visualization of– Classes, relationships, data members, function members,
and source code, selectable by the user
– Test order for unit and integration testing
– Change impact and version comparison
• Computation of various OO metrics• Useful for
– program comprehension and assessment
– documentation
– design and code review
– test scheduling and effort estimation
![Page 24: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/24.jpg)
24
An Object Relation Diagram
![Page 25: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/25.jpg)
25
Object Relation Diagram (ORD)
• Generation of a cost-effective schedule – for implementing the classes (required code skeleton)
– for changing the classes
– for code review of the classes
– for testing the classes
– it effectively reduces time, effort and costs to accomplish above tasks
![Page 26: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/26.jpg)
26
Generation of Cost-Effective Test Order
Classes with test order 1:0 should be tested before classes with test order 2:0 to reduce the test effort.
![Page 27: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/27.jpg)
27
Test Stubs Required for Randomly Selected Test Sequences
![Page 28: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/28.jpg)
28
Saving from Test Order
• Average one person-hour is required to construct a test stub.
• For the InterViews library, 191.88 person-hours, or close to 5 person-weeks are required.
• Using test order, only one test stub is needed, the saving in effort and costs are tremendous even for this small program.
![Page 29: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/29.jpg)
29
Generation of Test Schedule
Critical path
Testing of classes on the critical path must be completed on time to ensure that the test process will be completed on time.
![Page 30: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/30.jpg)
30
Object Relation Diagram (ORD)
• Computation of various OO metrics– Fan-in and fan out
– Depth of inheritance tree
– Number of lines of code
– Length of invocation chain
– Cyclomatic complexity
– Number of children, etc.
• Useful for assessing program quality and spot potential problem areas
![Page 31: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/31.jpg)
31
Various OO Metrics
![Page 32: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/32.jpg)
32
Object Relation Diagram (ORD)
• Change impact analysis and visualization– Compare change alternatives
• Version comparison and visualization– Compare two versions/releases to identify changes and
their impact
– Visualizing the two versions/releases to facilitate code review and inspection to ensure that changes are made properly
– Useful for maintenance, release review and regression testing to reduce time, effort and costs
![Page 33: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/33.jpg)
33
Change and Impact Analysis
![Page 34: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/34.jpg)
34
Block Branch Diagram (BBD)
![Page 35: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/35.jpg)
35
Block Branch Diagram (BBD)
for test input preparation
for test case preparation
for test stub preparation
![Page 36: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/36.jpg)
36
An Overly Complex Method Is Difficulty to Comprehend and Test
![Page 37: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/37.jpg)
37
Block Branch Diagram
• Useful for white-box testing (basis path, data flow)
• Useful for state transition construction
• Useful for black-box testing
– Boundary value analysis
– Functional testing
• Initialize parameters
• Initialize input values
• Identify and construct test stubs
• Analysis of test results (changed variables)
• Used for sequence diagram reverse engineering
![Page 38: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/38.jpg)
38
Object State Diagram
• Hierarchical, concurrent, communicating state machines
• Generated from C++/Java source code using a reverse engineering approach
• Represents the dynamic state dependent behavior of objects
![Page 39: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/39.jpg)
39
allowVend: unsigned
0,0
0,0 1,M
1,M
CoinBox()
CoinBox()
Reset()
Reset() Vend()
AddQtr()
[curQtrs > 0]AddQtr()
AddQtr()
ReturnQtrs()[allowVend !=0] Vend()
S0 S1
S0 S1
curQtrs: unsigned
An Object State Diagram for an incorrect coin box class
![Page 40: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/40.jpg)
40
(S0, S0)
(S0, S0)
(S0, S0)
(S0, S0)
(S1, S1)
(S1, S1)
(S0, S1)
(S1, S1)
(S1, S0)
Reset(), ReturnQtr()
Reset(), ReturnQtr()
ReturnQtr()AddQtr()
AddQtr()
AddQtr()
Reset()
(S0, S0) (S1, S0)
ReturnQtr()Reset()AddQtr()Vend()
Vend()
Test tree showing the execution sequences of a COSD
![Page 41: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/41.jpg)
41
off, off, off
heat,off,off cool,off,off
off, off, off
SS, FR, AR
SS.heat SS.cool
heat, on, off off, off, off
off, on, off
off, off, offcool, on, offheat, on, off
off, on, off cool, on, on
SS.offFR.turnOn SS.off
SS.off
SS.heat
SS.cool
FR.turnOff
SS.off AR.turnOnSS: Season SwitchFR: Furnace RelayAR: A/C Relay
Test tree showing a flaw in a thermostat system.
![Page 42: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/42.jpg)
42
Sequence Diagram
• A sequence diagram describes the object interaction through time ordered message passing.
• Elements and their Notations– Objects
• Placed at top of the diagram across the horizontal axis
– Lifelines • Dotted lines extending down the vertical axis
– Messages and Stimulus• Horizontal solid labeled arrow.
– Focus of Control• Tall thin rectangle along the vertical axis.
![Page 43: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/43.jpg)
43
Sequence Diagram Example
![Page 44: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/44.jpg)
44
Sequence Diagram Showing a Use Case
![Page 45: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/45.jpg)
45
Usefulness of Sequence Diagram
• Understanding how use cases are implemented• Automatic generation of test cases and test data to
test the implementation• Facilitating design and code review• Check if some behavioral design patterns are
propertly implemented
![Page 46: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/46.jpg)
46
Some Application Data
• OOTWorks can process millions of lines of source code and thousands of classes
• Parsing of a 50,000 line C++ files finishes in 20 seconds
• Platform independent (Windows, Linux, Unix,Soloaris, Mac, etc.)
• Display and print very large ORD diagrams• Has been applied to real world applications with
satisfactory results
![Page 47: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/47.jpg)
47
Some Example Applications
– Identification of isolated classes
– Identification of possibly poorly designed OO software• no use of inheritance and/or aggregation
• only one parent class, all the other classes are direct children of the parent class
• classes with several thousand lines of code
• classes with very high fan-in and/or fan-out metrics
• high cyclomatic complexity
• classes having excessive number of methods may indicate poor cohesion (or too much responsibilities)
• etc.
![Page 48: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/48.jpg)
48
ORD
BBD
selected class &method
Functional Tests
Generation
Structural Tests
Generation
TestsTests
Execution
Result Analysis
Tester
using variablesused and changed
using basis paths &symbolic execution
interactivetesting
batchtesting
Possible Test Process
![Page 49: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/49.jpg)
49
ORD
OSD
selected classes
Method Sequence Tests Generation
Fault Analysis
TestsTests
Execution
Result Analysis
Tester
analysis results
Possible Test Process
![Page 50: 1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.](https://reader036.fdocuments.net/reader036/viewer/2022062518/56649ea15503460f94ba4653/html5/thumbnails/50.jpg)
50
Developer
Tester
SQA
Project Manager
• time, effort and cost control• productivity and quality improvement• test scheduling
• program understanding• documentation• verification• change impact analysis• metrics
• test order• program understanding• test cases and test data preparation• regression test• metrics
Maintenance
• version comparison• change impact analysis• regression test
• verification• design and code review• metrics• documentation
Summary