Sie sind auf Seite 1von 28

Testing Workflow Purpose


Verify the result from implementation by testing

each build
Plan the tests in each iteration
Integration tests for every build within theiteration
System tests for the end of the iteration

Design and implement tests by creating

test cases that specify what to test
test procedures that specify how to perform the tests
executable test components to automate the tests

Slide 1

Testing Workflow Flow

Slide 2

Testing Workflow with Phases

Slide 3

Testing Workflow in Phases

Generally, when there is an implementation
result, there is a test --- so Test at each build

Inception phase:
initial test planning, prototype testing

Elaboration phase:
test architectural baseline

Construction phase:
significant testing at each build

Transition phase:
re-test fixes and regression tests
Slide 4

Testing Workflow Other Tasks

Regression tests:
in a new build, re-apply tests from old builds
to make sure nothing broke in new build
Evolve test model
create new test cases for next build
refine prior test cases into regression tests
remove obsolete tests and corresponding
test procedures and components

Slide 5

Testing Workflow Models

Test model artifacts
Test cases
Test procedures
Test components
Test subsystem packages for complex test

Other artifacts
Test Plan
Test Evaluation
Slide 6

Testing Workflow Model

Describes how executable components (e.g.,
builds) in the implementation model are tested by
integration tests and system tests
Describes how specific system aspects are to be
e.g., usability testing of user interface or
user manual

Slide 7

Testing Workflow Test Case

Specifies one way to test the system
What to test (requirements)
With which inputs
Expected results
Test conditions and constraints

Slide 8

Testing Workflow Test Cases

Test a use case or a scenario in a use case
(black box) actor interaction, pre-conditions,
action sequences, post-conditions
Test a use-case realization (white box)
verify interaction between components.
Installation tests, configuration tests, negative
(abuse) tests, stress tests
Organize similar tests in input/result matrix
Family of test for different paths through a use case
Slide 9

Testing Workflow Special Tests

Installation tests verify the system can be installed on the customer
platform and that it executes correctly when installed
Configuration tests verify the system works correctly in different
Negative tests (abuse tests) what causes failure
Test outside the intended design, e.g., wrong
configuration, wrong input, etc.
Reveals weaknesses in design
Stress tests show problems with insufficient
or shared resources
Slide 10

Testing Workflow Procedures

Specify how to perform one or several test cases or
parts of them
Instructions for tester in manual test case
Instructions for interacting with test automation tool to
create executable test components, then instructions to
integrate and execute those test components
One test procedure may cover several test cases
One test case may require several test procedures
Test procedure instructions often reflect flow-of events
descriptions, including input values, how to enter input
values, and how to verify results
Slide 11

Testing Workflow Components

Automate one or several test procedures or parts
Provide test inputs, control and monitor test
execution, and possibly analyze and report results

Developed with scripting languages, programming

languages, or test automation tools
test drivers, test harnesses, and test scripts

Complex test cases and procedures may require formal

analysis, design, and implementation modeling of the test
Slide 12

Testing Workflow Plan

Describes testing strategies, resources and schedule

What kind of tests to perform for each iteration
Test objectives
Required level of test and code coverage
Test acceptance criteria
Trade-off cost vs. improved quality and reduced risk
Test Plan may be defined in conjunction with the model artifacts
from other workflows
analysis (black box)
design and implementation (white box)
Tests may include artifact reviews
Slide 13

Testing Workflow Results

Results are the output data of the test and/or the behavior
of the system during test
Analysis of results: pass or defect
Defect: a system anomaly (software fault or a
defect found in artifact review)
capture symptom in
sufficient detail to allow problem resolution
capture defect in problem and resolution tracking

Test evaluation: summary of overall test results

test-case coverage, code coverage
defects and defect status
Slide 14

Testing Workflow Results

Slide 15

Testing Workflow Workers

Test designer:
responsible for integrity of the test model
plan tests: test goals and schedule
select and define test cases, test procedures
evaluate test results

Component engineer:
responsible for development of test
that automate some of the
test procedures
consider independent test


Slide 16

Testing Workflow Workers

Integration tester:
perform integration tests and report defects
may be same person as system integrator in
implementation workflow

System tester:
perform system tests and report defects
focus on externally observable behavior
consider users, beta customers, etc. as testers

Slide 17

Testing Workflow THE PLAN

Plan the Tests Strategy and Resources
Define Integration Tests
Define System Tests
Design Regression Tests
Define and Mutate Test Cases
Implement Tests
Evaluate Tests

Slide 18

Testing Workflow THE PLAN

Plan the Tests Strategy and Resources
Describe testing strategy
Inputs: use case model, supplemental
design model
Develop test cases and procedures that
have a minimum of overlap
test the most important test cases
test high risk requirement items
Estimate resources
Estimate human and system resources

Schedule the testing effort

Slide 19

Testing Workflow THE PLAN

Define Integration Tests
Derive test cases from use-case realizations design (component
Develop tests with minimal overlap that test an
interesting path or scenario through use case
Primarily consider interaction diagrams
Combinations of actor input, output and system
start state that lead to interesting scenarios that
employ the classes that participate in the diagrams
Slide 20

Testing Workflow THE PLAN

Define System Tests
Test system as a whole
Test combinations of use cases instantiated under
different conditions
Hardware configurations
System loads
Number of actors
Database size, etc.
Prioritize combinations
required or are likely to function in parallel
likely to influence each other if in parallel
involve multiple processes
frequently use system resources or
use them in complex and unpredictable ways

Slide 21

Testing Workflow THE PLAN

Design Regression Tests
Modify test cases from earlier builds to be used
as regression tests in subsequent builds
Make more flexible and resilient to changes to the
system under test
Specifically address previously found defects
Automate where possible

Slide 22

Testing Workflow THE PLAN

Define and Mutate Test Cases
Work test case by test case and suggest testing
procedures for each one
Reuse existing test cases
May need to modify them to be reusable
Align test procedures to subsystems under test
Minimize overlap
Isolates change to test resulting from change
to subsystem
Slide 23

Testing Workflow THE PLAN

Implement Tests
Create test components from test procedures
With test automation tools
Perform or specify actions
Record actions as a test component
When programming explicitly
Design and implement using test procedures
Provide input and output data generation, visualization,
interpretation and management utilities

Use spreadsheets and database applications

Slide 24

Testing Workflow THE PLAN

Evaluate Tests
Perform the integration tests relevant to a build
Manually perform test procedures
Compare test results with the expected test results
Investigate test results that deviate from the expected
Faulty system and/or faulty test?
Report defects to the component engineer responsible for
the components likely to contain the fault
Report defects to the test designers for evaluation of overall test
Slide 25

Testing Workflow THE PLAN

Evaluate Tests (cont)
Test designers prepare metrics of test acceptance with
respect to system quality level
Test completeness and coverage
Percentage of test cases executed
Percentage of code and paths tested
Categorize defect severity
Analyze trends of discovered defects
Compare with prior experience to predict amount of testing still
required to reach an acceptable defect leve
Slide 26

Testing Workflow THE PLAN

Evaluate Tests (cont)
Suggest actions
Suggest further tests
Relax test criteria
Deliver parts of the system that passed;
rework and retest parts that failed

Document test completeness, reliability and actions

Slide 27

Testing Workflow SUMMARY

Test Model
Test cases specify what to test
Test procedures specify how to perform tests
Test components automate test procedures
Test Plan

Test Evaluation
Defects to be fed into other core work
Slide 28