Testing Workflow Purpose Purpose • Verify the result from implementation by testing

advertisement

Testing Workflow Purpose

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

Defects

Test Evaluation

Slide 6

Testing Workflow Model

TEST 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 tested e.g., usability testing of user interface or user manual

Slide 7

Testing Workflow – Test Case

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 CASE EXAMPLES

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 configurations

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 components

Slide 12

Testing Workflow Plan

·

Describes testing strategies, resources and schedule

Strategy

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 system

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 components

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 requirements, 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 interaction)

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 results

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

Reliability

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

Download