Better by Design - bcs.org · system – Originally for Fire Brigade ... Mode-ARGH! Desk ... Source: Tom Gilb, Principles of Software Engineering Management
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Working with developers - designing for Testability
As applications become more complex, spreading over multi-tiers, across varying networks, and including different client configurations, application architecture testing will become increasingly mandatory
» GIGA GROUP
Transistors (1960s)
Design for Testabilitystandards (late 80s)
IntegratedCircuits (late 60s)
Large scaleICs (early 70s)
Assembly language (1960s)
UML (late 90s)
3GLs, 4GLs ( 70s & 80s )
Object Languages (early 90s)
Software
Design for Testabilitystandards (00s)
Source: Achieving eBusiness Quality by Design,Sam Guckenhiemer, Rational, Software Test Automation, 2001
Use Case Diagram Actors are identified by the same name
Actors are identified by the same name
Actors are identified by the same name
Actors are identified by the same name
Actors are identified by the same name
States should correspond State events should correspond with Sequence messages
1. Use Case steps should correspond with Sequence Diagram message2. Sequence begins in a state that satisfies the Use Case pre conditions3. Sequence ends in a state that satisfies the Use Case post conditions
Use Case Name is identicalDiagram Associations are described in DescriptionExtension PointscorrespondIncludes correspond
Use Cases correspond with Activities
Objects are identified by the same name
State trigger events areClass methods
Objects should correspond
Sequence messages are Class object methods
Actors are identified by the same name
1. States are identified by the same name2. Events, guard conditions and activities are identified the same
Actor HierarchyDiagram
Sequence Diagram
Class/Type Diagram
Activity Diagram State Diagram
Use Case TextualDescription
Use Case Diagram Actors are identified by the same name
Actors are identified by the same name
Actors are identified by the same name
Actors are identified by the same name
Actors are identified by the same name
States should correspond State events should correspond with Sequence messages
1. Use Case steps should correspond with Sequence Diagram message2. Sequence begins in a state that satisfies the Use Case pre conditions3. Sequence ends in a state that satisfies the Use Case post conditions
Use Case Name is identicalDiagram Associations are described in DescriptionExtension PointscorrespondIncludes correspond
Use Cases correspond with Activities
Objects are identified by the same name
State trigger events areClass methods
Objects should correspond
Sequence messages are Class object methods
Actors are identified by the same name
1. States are identified by the same name2. Events, guard conditions and activities are identified the same
Correctness
Consistency Clarity
Completeness
Source: The Road to UML is paved with Good Intentions,Dion Johnson, StarEast 2002
Learning from Engineering- design of experiments (DOE)
• DOE have been applied in Quality control in many engineering fields for several decades
• Aim : to maximise the amount of information gained in an experiment by optimising the combinations of independent variables
• In Software Testing Terms – Combination or Combinatorial Testing– E.g. “All Pairs”
Source: An Investigation of the Applicability of the Design of Experiments to Software Testing, D. Richard Kuhn & Michael J. Reilly, Proceedings, 27th NASA/IEEE Software Engineering Workshop, December 2002
Table 1.Number and percent of faults triggered by n-way Conditions
Conditions Browser Server Modules(values on n) (194 bugs) (171 bugs)