Professional Documents
Culture Documents
Overview
Welcome to this hands-on, learn-by-doing workshop. In the workshop well learn how to test a feature, or a set of related features, based on the systems use case(s). The question is: How can we utilize the use case to develop an effective set of test cases?
Collard & Company 2
Disclaimer: we will not have the time to cover these all in depth.
Collard & Company 4
Getting Value
Continue to ask yourself during the workshop: how does each idea or technique apply in my particular situation? At the end of the workshop, plan to develop a list of your personal followup action items.
Collard & Company 7
1. DECISION-DRIVEN TESTING
A Use Case Example How to Derive the Test Cases Path Coverage and Loop Testing The Impact of Assumptions
Collard & Company 9
18
Pre-Conditions Post-Conditions
Collard & Company 19
20
2. EQUIVALENCE
Two or more situations are equivalent if they produce essentially the same behavior. If one situation works correctly, we can simply assume the other(s) are correct too. (We do not have to test them all.)
Collard & Company 25
26
28
4. RISK-BASED TESTING
We cannot test everything. We need to make conscious decisions about where to focus the depth and intensity of testing.
30
Prioritization
The top 10% to 15% of the test cases uncover 75% to 90% of the significant defects. Risk prioritization is a method of choosing the 10% to 15% which are the most critical test cases.
Collard & Company 31
32
33
Types of Interactions
Data sharing (also called data coupling)
Defect propagation from feature to feature through corruption of common data (which is shared among features or processes). Exclusive data which should not be shared but accidentally is. Resource contention and lock-out: inability to access data when needed, because it is already in use by anther feature or process.
Resource sharing
Interference within a shared resource, such as a common software component. Most resource sharing problems actually fall into the first two categories: timing or data, but they are worth a separate category because they are hard to see. The occurrence of a failure is hidden within a software component or in a fleeting interaction between components.
Collard & Company 35
36