Test Plan

advertisement
MTAT.03.159: Software Testing
Lecture 05: Test Lifecycle,
Documentation and
Organisation
(Textbook Ch. 6, 7, 8)
Spring 2014
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Dietmar Pfahl
email: dietmar.pfahl@ut.ee
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)
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test Management
•
•
•
•
Goal
Policy
Plan
Follow-up
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
•
•
•
•
Reach India
Go west
Get three ships
…
Test Planning
•
•
•
•
•
•
Objectives
What to test
Who will test
When to test
How to test
When to stop
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
IEEE 829-2008:
Standard for
Software and
System Test
Documentation
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Software Project Management Plan
Goals
• Business
• Technical
• Business/technical
• Political
Quantitative/qualitative
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Policies
• High-level statements
of principle or courses
of action
• Govern the activities
implemented to
achieve stated goals
Hierarchy of test plans
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test Planning – different levels
Test
Policy
Number of needed levels
depends on context
Company or
product level
Test
Strategy
(product, project, company,
domain, development process,
regulations, …)
Master test plan
Acceptance test plan
Master
Master
Test
Test Plan
Plan
System test plan
Project level
Unit and integration test plan
Evaluation plan
Detailed
Detailed
Detailed
Detailed
Test
Plan
Test
Test
Plan
TestPlan
Plan
Test levels (one for each within
a project, e.g. unit, system, ...)
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Defect Report
(Test incident report)
• Summary
• Incident Description
• Impact
Lab 1
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
• 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.
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
• Information:
– Inputs
– Expected Results
– Actual Results
– Anomalies
– Date and Time
– Procedure Step
– Attempts to Repeat
– Testers
– Observers
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:
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
• 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
Test results report
• Test cases executed
• Versions tested
• Defects found and reported
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
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
i) Test deliverables
j) Testing tasks
k) Environmental needs
l) Responsibilities
m) Staffing and training needs
n) Schedule
o) Risks and contingencies
p) Approvals
Test Plan (1)
Slide not shown in lecture;
Only illustrative background info
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test Plan (2)
Slide not shown in lecture;
Only illustrative background info
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)
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test Plan (3)
Slide not shown in lecture;
Only illustrative background info
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test Plan (4)
Slide not shown in lecture;
Only illustrative background info
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test Plan (5)
Slide not shown in lecture;
Only illustrative background info
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
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?
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)
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
7 approaches to test organisation
1.
2.
3.
4.
5.
6.
7.
Each person’s responsibility
Each unit’s responsibility
Dedicated resource
Test organisation in QA
Test organisation in development
Centralized test organisation
Test technology centre
[Kit, Software Testing in the Real World Ch 13, 1995]
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
1. Each person’s responsibility
M: Manager
P: Programmer
T: Tester
M
T
Product
developers
P
P P P P
+ Natural solution
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
- Testing own software
2. Each unit’s responsibility
M
T
Product
developers
P
M: Manager
P: Programmer
T: Tester
T
P
P P P P
+ Solves dependency
problem
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
- Two tasks
- Double competency?
3a. Dedicated resource
M: Manager
P: Programmer
T: Tester
M
Product
developers
P
T
P P P T
+ Solves multiple task problem
+ Single team
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
- Management of two types
- Competency provision
3b. Dedicated resource on a large scale
M
M
TM
Product
developers
Product
developers
Test developers
P P P P
P P P P
T T T T
+ Solves mgmt problem
of 3a
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
- Where to put the test
organiztion?
4. Test organisation in QA
PDO
QAO
Product
Development
Group
Test
Development
Group
+ Solves mgmt problem of 3b
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
- Teamwork problems?
- TDG lost in QAO
- PDG not responsible for final
product
5. Test organisation in development
PDO
Product
Development
Group
+ Solves mgmt problem of 4
+ May solve teamwork
problem of 4
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test
Development
Group
- Dependent on management
communication
6. Centralized test organisation
VP
Product
Development
Group
+ Solves mgmt problem of 5
+ Career path for test mgmt
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test
Development
Group
- VP key for test
- Teamwork at low level?
- Consistency of methods?
7. Test technology centre
VP
Product
Development
Group
SE
Test
Development
Group
+ Solves consistency of
methods problem of 6
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Test
Technology
Group
- VP key for test
- Teamwork at low
level?
Which organization
should we choose?
• Depending on
– size
– maturity
– focus
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
• The solution is often a
mix of different
approaches
Criteria for choice of
organization
A.
B.
C.
D.
E.
F.
G.
H.
Support for decision making
Enhance teamwork
Independence / Autonomy
Balance testing – quality
Assist test management
Ownership of test technology
Resources utilization
Career path
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Decision matrix
A
B
C
D
1
2
3
4
5
6
7
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
E
F
G
H
Sum
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
• networks, databases, and
operating systems
• configuration management
• test-related documents
• define, collect, and analyze testrelated measurement data
• testing tools and equipment
• quality issues
• process issues
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
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
MTAT.03.159 / Lecture 05 / © Dietmar Pfahl 2014
Download