1 software testing and quality assurance lecture 16 - test analysis & design models (chapter 4,...
Post on 19-Dec-2015
221 views
TRANSCRIPT
1
Software Testing and Quality Assurance
Lecture 16 - Test Analysis & Design Models (Chapter 4, A Practical Guide
to Testing Object-Oriented Software)
2
Lecture Outline To learn how to inspect the semantics
of UML models. To be able to setup an inspection
session.
3
Introduction Developers model the software they are
constructing because: It assists in understanding the problem
they are solving It helps manage the complexity of the
system being developed. High quality of models make a valuable
contribution to the project
4
Introduction (cont...) Guided inspection:
An enhanced inspection technique for verifying the models as they are created; and
For validating the completed models against project requirements.
5
Introduction (cont...) Reviews focus on what is in the model rather
than what should be in the model. Guided inspection applies the testing
perspective early in the development process.
Guided inspection requires valuable resources, and the time and attention of project personnel.
6
Introduction: the V ModelSystem Models
System Implementation
Architecture Models
Subsystem Integration
Component Models
Component Implementation
Guided Inspection
Code-b
ased
Tes
ting t
echn
iques
7
Place of guided inspection in the development process
The last activity in each phase in the development process should be a verification of the required qualities of the developed product.
Differences between succeeding models: The scope of the content The level of abstraction
8
Guided inspection in the development process: models and phases
Architectural design model and standard design patterns and algorithms
Each interface in the Architecture is implemented by one or more components
Detailed design
Standard architectural patterns and creativity of designers
Basic structure of interfaces and their interactions
Architectural design
The domain analysis model and the requirements model
Concepts needed to explain the specific problem; standard algorithm
Application analysis
The minds of the domain experts
Domain concepts, standard algorithms
Domain analysis
Transformed fromContentPhase/model
9
The basics of Guided inspection The guided inspection technique
provides a means of objectively and systematically searching a work product for faults by using explicit test cases.
The basic steps in guided inspection Define the test space Select values from the test space using a
specific strategy
10
The basics of Guided inspection Apply the test values to the product
being tested Evaluate the results and the percentage
of the model covered by the test Based on some criteria.
11
The basics of Guided inspection (cont...)
The previous steps are specialized to the following steps: Specify the scope and depth of the inspection Identify the basis models from which the model
under test (MUT) was created Develop test cases for each of the evaluation
criteria to be applied using the contents of the basis model as input.
Establish criteria for measuring test coverage.
12
The basics of Guided inspection (cont...) Perform the static analysis using the
appropriate checklist. “Execute” the test cases. Evaluate the effectiveness of tests using the
coverage measurement. If the coverage is insufficient, expand the test
suite and apply the additional tests, otherwise, terminate the testing.
13
The basics of Guided inspection : Example
Initial stages of developing Brickles Following work products have been
produced: Design-level class diagrams [Ref. Figure
2.18] State diagrams [Ref. Figure 2.19] Sequence diagrams [Ref. Figure 2.20]
Test the design model before starting coding
14
The basics of Guided inspection : Example (cont...) Assign the inspection team, the team includes
Two developers A system tester from the company Company’s process person (Moderator)
The tester will develop a set of test cases from the use case diagram.
The developers will show how the classes in the design model handle each test case.
The moderator will define the inspection boundaries, schedule the guided inspection sessions, etc
15
The basics of Guided inspection : Example (cont...)
Step 1: Specify the scope and depth of the inspection The scope is defined by a set of use cases.
We will cover all use cases The depth is defined by identifying levels of
containment in the composition hierarchies.
Test only those objects that represent the state of the match (BricklesDoc object)
16
The basics of Guided inspection : Example (cont...)
Step 2: Identify the basis models from which the model under test (MUT) was created Design Model
Design-level class diagrams [Ref. Figure 2.18] State diagrams [Ref. Figure 2.19] Sequence diagrams [Ref. Figure 2.20]
17
The basics of Guided inspection : Example (cont...)
Step 3: Develop test cases for each of the evaluation criteria to be applied using the contents of the basis model as input. Tester will write all test cases based on the
Use case diagrams like Figure 2.11, 2.12 (see next slide)
18
The basics of Guided inspection: Example― use cases for Brickles (cont...)
Use cases for Brickles
19
The basics of Guided inspection : Example (cont...)
Each test case should be in the following format
The use case: A player stops a Brickles match by selecting QUIT from the File Menu
Preconditions: The Player has stated the Brickles, has moved the paddle, and has broken some bricks
Test input: The player selects Quit Expected output: All game action freezes and
the game window disappears
20
The basics of Guided inspection : Example (cont...)
Step 4: Establish criteria for measuring test coverage. All use cases should be tested. Coverage
will be 100 % for use cases and 60 % for composition hierarchies.
21
The basics of Guided inspection : Example (cont...)
Step 5: Perform the static analysis using the appropriate checklist. Developers complete the design model
checklist [Ref. Figure 4.3] Developers compare class diagram from
analysis model [Ref. Figure 2.13] with the class diagram in the design model.
23
The basics of Guided inspection : Example (cont...)
Step 6: “Execute” the test cases. Moderator schedules a meeting and makes
the relevant material available to all involved
During the meeting, the developers show how test cases will be handled by the classes in the design model
24
The basics of Guided inspection : Example (cont...)
Step 7: Evaluate the effectiveness of tests using the coverage measurement. The moderator will note down the problems
found during the symbolic execution of test cases.
Founded bugs will be analyzed by the team and proper description for each bug will be developed.
25
The basics of Guided inspection : Example (cont...)
Step 8: If the coverage is insufficient, expand the test suite and apply the additional tests, otherwise, terminate the testing. The moderator will prepare and submit a report to
the project manager that contains: The problems found during the execution of the test
cases. Where execution terminated. The sequence diagram used to record the test execution.
26
Guided inspection issues Should test cases be available to the developers
prior the inspection test? No, developers should not have the scenarios prior
the inspection test. Should testers only use test cases for the current
increment in an inspection test? No, running a test scenario from a previous increment
as a regression check on the mode is a useful idea. Coverage in models
Higher the level of abstraction, the higher the level of coverage.
27
Key points The guided inspection technique provides a
means of objectively and systematically searching a work product for faults by using explicit test cases.
The basic steps in guided inspection Define the test space Select values from the test space using a specific
strategy Apply the test values to the product being tested Evaluate the results and the percentage of the
model covered by the test