Testing , Monitoring, and
Controlling CORBA-based Applications
|
|
|
|
|
Sudipto Ghosh |
|
Priya Govindarajan |
|
Aditya P. Mathur |
|
Baskar Sridharan |
|
Software Engineering Research Center |
|
Purdue University |
|
|
|
@ Tivoli, Rome |
|
Thursday July 15, 1999 |
Structure of a CORBA
Application
Needs of a tester
|
|
|
|
|
Test Adequacy: |
|
|
|
Goodness of system test. |
|
Parts of the system that need
additional testing. |
Needs of a tester
|
|
|
|
|
System behavior: |
|
|
|
Visualization of system state transition in the presence of
a given input sequence. |
|
Visualization of system state
transition in the presence of injected faults. |
Needs of a tester
|
|
|
|
|
System performance: |
|
|
|
Measurement of instantaneous and
average load distribution (Hardware and Software). |
|
Measurement of instantaneous and
average response time. |
|
|
|
|
Needs of a tester
|
|
|
|
|
System control: |
|
|
|
Temporary or permanent shut down of
selected services. |
|
Injection of an arbitrary stream of
requests directed at selected servers. |
|
|
How TDS meets a tester’s
needs?
|
|
|
|
|
|
Test adequacy: |
|
|
|
By measuring interface-based coverage: |
|
Method coverage |
|
Exception coverage |
|
iMutation Coverage |
|
|
Monitoring: Sample
Questions
|
|
|
|
State related: |
|
What is the current state of component
C? |
|
Performance related: |
|
What is the average round-trip time of
a message sent to component C ? |
|
Access related: |
|
Did client C’ access component C during
the past 24 hours ? |
Control: Sample Commands
|
|
|
|
Component related: |
|
Deny a set of services to some or all
clients of component C upon the
occurrence of event E |
|
start component C |
|
replicate component C |
|
send message m to component C |
Proposed Test Adequacy
Criteria
Proposed iMutant Operators
Slide 12
Slide 13
"How do the proposed
test..."
|
|
|
How do the proposed test adequacy
criteria compare with the traditional criteria? |
"How do the two
criteria..."
|
|
|
How do the two criteria compare? |
Slide 16
Monitoring: Strategy
Control: Strategy
States
|
|
|
Local: |
|
|
|
S : an arbitrary state. S could be: |
|
|
|
Component C processing request R |
|
Component C is inactive |
|
Component C is active |
Events
|
|
|
|
Local: |
|
|
|
E : an arbitrary event. E could be: |
|
Component C assumes state S |
|
E after time T (T: local time) |
|
E during interval [T1, T2] |
|
E1 or E2 |
|
E1, E2 (sequence) |
How TDS meets a tester’s
needs?
|
|
|
|
|
|
System test: |
|
|
|
By allowing the tester to combine
features for (V2.0) |
|
test adequacy measurement |
|
system performance measurement |
|
system behavior monitoring |
|
system control |
Slide 22
Goal
|
|
|
|
To Monitor and Control object B1. |
|
B1 implements interface Bank |
|
Construct event E: “Arrival of request
createAccount() to object B1” |
|
Monitor E |
|
Specify control operation: “Ignore all incoming requests on object
B1” |
|
|
Slide 24
Slide 25
Slide 26
Slide 27
Slide 28
Slide 29
Slide 30
Slide 31
Summary
|
|
|
|
|
TDS 1.1 demonstrated in May 99. |
|
Experiments with a system from Tivoli
begun in May 99. |
|
Implementation of the Monitoring and
Control component begun in June 99. |
|
Implementation of the
Architecture-Extraction component begins in August 99.. |
Slide 33
Slide 34
Slide 35
Slide 36