MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM...

38
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014 MTAT.03.159: Software Testing Lecture 05: Test Lifecycle, Documentation and Organisation (Textbook Ch. 6, 7, 8) Dietmar Pfahl email: [email protected] Spring 2014

Transcript of MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM...

Page 1: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

MTAT.03.159: Software Testing

Lecture 05: Test Lifecycle,

Documentation and

Organisation

(Textbook Ch. 6, 7, 8) Dietmar Pfahl email: [email protected] Spring 2014

Page 2: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Structure of Lecture 6

• Test Lifecycle

• Test Levels (Ch. 6)

• Test Planning and Documentation (Ch. 7)

• Test Organisation (Ch. 8)

– Organization Approaches (Kit’s book Ch. 13)

Page 3: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Management

• Goal

• Policy

• Plan

• Follow-up

• Reach India

• Go west

• Get three ships

• …

Page 4: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Planning

• Objectives

• What to test

• Who will test

• When to test

• How to test

• When to stop

Page 5: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

IEEE 829-2008:

Standard for

Software and

System Test

Documentation

Page 6: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Software Project Management Plan

Goals

• Business

• Technical

• Business/technical

• Political

Quantitative/qualitative

Policies

• High-level statements

of principle or courses

of action

• Govern the activities

implemented to

achieve stated goals

Page 7: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Hierarchy of test plans

Page 8: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Planning – different levels

Test

Policy

Test

Strategy

Detailed

Test Plan

Detailed

Test Plan

Detailed

Test Plan

Detailed

Test Plan

Company or

product level

Project level

Test levels (one for each within

a project, e.g. unit, system, ...)

Master test plan

Acceptance test plan

System test plan

Unit and integration test plan

Evaluation plan

Number of needed levels depends on context (product, project, company, domain, development process, regulations, …)

Master

Test Plan

Master

Test Plan

Page 9: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Purpose of test case (planning)

• Organization

– All testers and other project team members can review and use test

cases effectively

• Repeatability

– Know what test cases were last run and how so that you could

repeat the same tests

• Tracking

– What requirements or features are tested?

– Tracking information’s value depends on the quality of the test

cases

• Evidence of testing

– Confidence (quality)

– Detect failures

Page 10: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Defect Report (Test incident report)

• Summary

• Incident Description

• Impact

Lab 1

Page 11: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Defect Report (Test incident report)

Summary

• This is a summation/description

of the actual incident.

– Provides enough details to

enable others to understand

how the incident was

discovered and any relevant

supporting information

• References to:

– Test Procedure used to

discover the incident

– Test Case Specifications that

will provide the information to

repeat the incident

– Test logs showing the actual

execution of the test cases and

procedures

– Any other supporting

materials, trace logs, memory

dumps/maps etc.

Page 12: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Defect Report (Test incident report)

Incident Description

• Provides as much details on the

incident as possible.

– Especially if there are no other

references to describe the

incident.

• Includes all relevant information

that has not already been

included in the incident summary

information or any additional

supporting information

• Information:

– Inputs

– Expected Results

– Actual Results

– Anomalies

– Date and Time

– Procedure Step

– Attempts to Repeat

– Testers

– Observers

Page 13: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Defect Report (Test incident report)

Impact

• Describe the actual/potential

damage caused by the incident.

– Severity

– Priority

• Severity and Priority need to be

defined so as to ensure

consistent use and

interpretation, for example:

• Severity – The potential impact to

the system

– Mission Critical - Application will not

function or system fails

– Major - Severe problems but possible

to work around

– Minor – Does not impact the

functionality or usability of the process

but is not according to

requirements/design specifications

• Priority – The order in which the

incidents are to be addressed

– Immediate – Must be fixed as soon as

possible

– Delayed – System is usable but

incident must be fixed prior to next

level of test or shipment

– Deferred – Defect can be left in if

necessary doe to time or costs

Page 14: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test results report

• Test cases executed

• Versions tested

• Defects found and reported

Page 15: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Standards

• IEEE 829-1998 (revised: 2008)

Standard for Software Test Documentation

• IEEE 1012-1998

Standard for Software Verification and Validation

• IEEE 1008-1993

Standard for Software Unit Testing

---

• ISO 29119

Software Testing Concepts

Page 16: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test plan according to

IEEE Std 829-2008 (Appendix II)

a) Test plan identifier

b) Introduction

c) Test items

d) Features to be tested

e) Features not to be tested

f) Approach

g) Item pass/fail criteria

h) Suspension criteria and

resumption requirements

i) Test deliverables

j) Testing tasks

k) Environmental needs

l) Responsibilities

m) Staffing and training needs

n) Schedule

o) Risks and contingencies

p) Approvals

Page 17: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Plan (1)

a) Test plan identifier

b) Introduction

– Product to be tested, objectives, scope of the test plan

– Software items and features to be tested

– References to project authorization, project plan, QA plan, CM plan, relevant policies & standards

c) Test items

– Test items including version/revision level

– Items include end-user documentation

– Defect fixes

– How transmitted to testing

– References to software documentation

Slide not shown in lecture;

Only illustrative background info

Page 18: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Plan (2)

d) Features to be tested

– Identify test design / specification techniques

– Reference requirements or other specs

e) Features not to be tested

– Deferred features, environment combinations, …

– Reasons for exclusion

f) Approach

– How you are going to test this system • Activities, techniques and tools

– Detailed enough to estimate

– Completion criteria (e.g. coverage, reliability)

– Identify constraints (environment, staff, deadlines)

Slide not shown in lecture;

Only illustrative background info

Page 19: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Plan (3)

g) Item pass/fail criteria

– What constitutes success of the testing

– Coverage, failure count, failure rate, number of executed tests, …

– Is NOT product release criteria

h) Suspension and resumption criteria

– For all or parts of testing activities

– Which activities must be repeated on resumption

i) Test deliverables

– Test plan

– Test design specification, Test case specification

– Test procedure specification, Test item transmittal report

– Test logs, Test incident reports, Test summary reports

Slide not shown in lecture;

Only illustrative background info

Page 20: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Plan (4)

j) Testing tasks

– Including inter-task dependencies & special skills

– Estimates

k) Environment

– Physical, hardware, software, tools

– Mode of usage, security, office space

– Test environment set-up

l) Responsibilities

– To manage, design, prepare, execute, witness, check, resolve issues, providing environment, providing the software to test

m) Staffing and Training needs

Slide not shown in lecture;

Only illustrative background info

Page 21: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Plan (5)

n) Schedule

– Test milestones in project schedule

– Item transmittal milestones

– Additional test milestones (environment ready)

– What resources are needed when

o) Risks and Contingencies

– Testing project risks

– Contingency and mitigation plan for each identified risk

p) Approvals

– Names and when approved

Slide not shown in lecture;

Only illustrative background info

Page 22: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test plan quality criteria

Usefulness – Will the test plan effectively serve its intended functions?

Accuracy – Is the test plan document accurate with respect to any statements of

fact?

Efficiency – Does it make efficient use of available resources?

Adaptability – Will it tolerate reasonable change and unpredictability in the

project?

Clarity – Is the test plan self-consistent and sufficiently unambiguous?

Usability – Is the test plan document concise, maintainable, and helpfully

organized?

Compliance – Does the test plan meet externally imposed requirements?

Foundation – Is the test plan the product of an effective test planning process?

Feasibility – Is the test plan within the capability of the organization that must use

it?

Page 23: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Structure of Lecture 6

• Test Lifecycle

• Test Levels (Ch. 6)

• Test Planning and Documentation (Ch. 7)

• Test Organisation (Ch. 8)

– Organization Approaches (Kit’s book Ch. 13)

Page 24: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

7 approaches to test organisation

1. Each person’s responsibility

2. Each unit’s responsibility

3. Dedicated resource

4. Test organisation in QA

5. Test organisation in development

6. Centralized test organisation

7. Test technology centre

[Kit, Software Testing in the Real World Ch 13, 1995]

Page 25: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

1. Each person’s responsibility

+ Natural solution - Testing own software

Product

developers

M

P P P P

P

T

M: Manager

P: Programmer

T: Tester

Page 26: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

2. Each unit’s responsibility

+ Solves dependency

problem

- Two tasks

- Double competency?

Product

developers

M

P P P P

P

T

P

T

M: Manager

P: Programmer

T: Tester

Page 27: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

3a. Dedicated resource

+ Solves multiple task problem

+ Single team

- Management of two types

- Competency provision

Product

developers

M

P P P T

P T

M: Manager

P: Programmer

T: Tester

Page 28: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

3b. Dedicated resource on a large scale

+ Solves mgmt problem

of 3a

- Where to put the test

organiztion?

Product

developers

M

P P P P

Product

developers

M

P P P P

Test developers

TM

T T T T

Page 29: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

4. Test organisation in QA

+ Solves mgmt problem of 3b - Teamwork problems?

- TDG lost in QAO

- PDG not responsible for final product

Test Development

QAO

Group

Product Development

PDO

Group

Page 30: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

5. Test organisation in development

+ Solves mgmt problem of 4

+ May solve teamwork

problem of 4

- Dependent on management

communication

Test Development

Group

Product Development

PDO

Group

Page 31: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

6. Centralized test organisation

+ Solves mgmt problem of 5

+ Career path for test mgmt

- VP key for test

- Teamwork at low level?

- Consistency of methods?

Test Development

Group

Product Development

VP

Group

Page 32: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

7. Test technology centre

+ Solves consistency of

methods problem of 6

- VP key for test

- Teamwork at low

level?

Test Development

Group

Product Development

VP

Group

Test Technology

Group

SE

Page 33: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Which organization

should we choose?

• Depending on

– size

– maturity

– focus

• The solution is often a

mix of different

approaches

Page 34: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Criteria for choice of

organization

A. Support for decision making

B. Enhance teamwork

C. Independence / Autonomy

D. Balance testing – quality

E. Assist test management

F. Ownership of test technology

G. Resources utilization

H. Career path

Page 35: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Decision matrix

A B C D E F G H Sum

1

2

3

4

5

6

7

Page 36: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Specialist Skills – Technical

• education in software

engineering principles, and

methodologies

• strong coding skills and an

understanding of code structure

• understanding of testing

principles and practices

• understanding of basic testing

strategies, methods, and

techniques

• experience to plan, design, and

execute test cases and test

procedures on multiple levels

• networks, databases, and

operating systems

• configuration management

• test-related documents

• define, collect, and analyze test-

related measurement data

• testing tools and equipment

• quality issues

• process issues

Page 37: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014

Test Specialist Skills

– personal and managerial

• organizational, and planning skills

• keep track of, and pay attention to, details

• discover and solve problems

• be creative

• work in a variety of environments

• work with users and clients

• be able to resolve conflicts

• mentor and train others

• strong written and oral communication

skills

Page 38: MTAT.03.159: Software Testing - ut–References to project authorization, project plan, QA plan, CM plan, relevant policies & standards c) Test items –Test items including version/revision

MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014