Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Testing and Quality Assurance

Similar presentations


Presentation on theme: "Software Testing and Quality Assurance"— Presentation transcript:

1 Software Testing and Quality Assurance
Lecture 19 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)

2 Lecture Outline Evaluating performance and scalability
Detailed class design model Testing models for additional qualities.

3 Evaluating performance and scalability:
Testing specific types of models: design models— architectural model (cont...) Evaluating performance and scalability: An architecture of a system should be evaluated beyond correctness, completeness and consistency. The test cases are symbolically executed and the message-sequence diagrams can be analyzed from a performance perspective. Sequence diagrams can also be used to evaluate scalability.

4 The detailed class design model populates the architectural model
Testing specific types of models: design models— detailed class design model The detailed class design model populates the architectural model with classes that will implement the interfaces defined in the architecture.

5 Testing specific types of models: design models— detailed class design model
This model typically includes: A set of class diagram The Object Constraint Language (OCL) pre- and post-conditions for every method of every class Activity diagrams of significant algorithms State diagram for each class The test cases at this level are very much like final system test cases.

6 Criteria for the class design model inspection:
Testing specific types of models: design models— detailed class design model (cont...) Criteria for the class design model inspection: The behavior in the interface of each class provides either a single way to accomplish a task or, if there are multiple ways, they provide the same behavior but with different preconditions Consistency Each class accurately implements the semantics of an interface. For those classes that correspond to interfaces in the architecture, the class’ specification must correspond to the interface specified by the architecture Correctness Classes are defined for each interface in the architecture. The preconditions for each method specify sufficient information so that the user can safely use the method. The postconditions for a method show error conditions as well as the normally expected result. Completeness Interpretation for the architectural design model Criteria

7 As the test progresses:
Testing specific types of models: design models— detailed class design model (cont...) As the test progresses: The executers select methods that will be invoked The state model of the receiver is checked to be certain the target object can receive the message The messages are then added to the sequence diagram and the state models are updated to reflect changes in the state.

8 Testing specific types of models: design models— detailed class design model (cont...)
Sequence diagrams will have dead-end objects in which testers will not attempt to examine the logic beyond that object. Implementation and code-based testing start after this point.

9 Testing models for additional qualities
Projects are chartered to achieve more aggressive objectives such as: The development of extensible designs The design of reusable frameworks Highly portable systems A change case is a use case that is not a requirement of the system, but it is an anticipated change to the system.

10 Testing models for additional qualities (cont...)
Explicitly state the objective that the change will address. The design will be easily extensible to accommodate new games. Construct a “change case” including a specific scenario that illustrates the objective. The framework is to be used to implement pinball games that are user configurable. The obstacles to be available include posts, flippers, and bumpers.

11 Testing models for additional qualities (cont...)
Create test cases by sampling from the range permitted by the change case. A pinball game is to be created. States may be added to Brickles state machine. Enumerate the work needed to achieve the objective by specifying the differences in state and behavior required for the new objectives. The stationarySprite class will be subclasses to provide the new obstacle.

12 Testing models for additional qualities (cont...)
Evaluate the current design relative to the design required to achieve the objective. The necessary base classes and methods are present. The needed attributed can be added without conflict with existing attributes. Repeat with additional test scenarios until all proposed changes are examined. The output of this process is a set of potential changes needed to achieve the desired system quality such as extensibility.

13 Guided inspection process checklist
Decide how completeness, consistency, and correctness will be judged for particular use in the model under test (MUT) Determine which scenarios to sample from the use case model to use as test cases. Create test cases by supplementing the scenarios with specific data Select the model/notation that will record the results of each execution Conduct tests Evaluate the results of the test executions to determine which tests the model passed and which it failed Record the results for use in guiding the repair and testing processes in the next iteration.

14 Key points Design models Architectural design model Detailed class design model Projects are chartered to achieve more aggressive objectives such as: The development of extensible designs The design of reusable frameworks Highly portable systems


Download ppt "Software Testing and Quality Assurance"

Similar presentations


Ads by Google