Software Testing Strategy
Software Testing Strategy
Defining a Software
Testing Strategy
by Gregory T. Daich
30 April 2002 - Version 1.5a
801-777-7172 - [email protected]
Presentation Objectives
Dangerous Assumptions
Significant New Policies
Test Strategy Concepts
DoD T&E Strategy
Questions
Pitfalls
■ Definitions
■ Acronyms
■ References
3
Dangerous Assumptions
DoD
– DoDD 5000.1, DoDI 5000.2, DoD 5000.2-R
(Defense Acquisition Directive, Instruction, and
Regulation)
– IEEE/EIA 12207.0, “Standard for Information
Technology – Software Life Cycle Processes”
which was “adopted” by DoD on 27 May 1998
Air Force
– Draft AFI 99-103 (Test and Evaluation (T&E))
Others
– ???
5
1 May 2002, Version 1.5a
Test Strategy Concepts
6
Purpose of a Test Strategy
8
1 May 2002, Version 1.5a
Software Development Pipeline
The test strategy needs to address the entire life cycle.
Operational Next Iteration Operational
Requirements
& Acceptance
(User Needs) Concurrent Test Planning Tests
& Project Plans
Government
System
Developmental
Requirements
& System Tests
System Software / Hardware
Design Integration & Test
Review Software Software
filters Requirements Item Test
Software Software
Feedback Architectural Subsystem Support
from Design Integration & Test includes
reviews PM, SQA,
and testing Software Unit Integration CM, etc.
Detailed Design & Test
Code Unit Test
[IEEE 12207] 9
System Evaluation Levels
Acceptance Test
ls
ve
Le
System
Test
What levels are you
st
Te
assigned to support?
Integration Test
What completion
Unit Test
criteria have been
Requirements, Design, Code met prior to your
Document Reviews test level?
Analysis
10
1 May 2002, Version 1.5a
Testing Focus
User Views
Acceptance Tests
Operational Tests
Analyst Views
System Tests
Qualification Tests
Designer Views
IF A=3 THEN Integration Tests
Y=X+2 Programmer Views
End IF
Unit Tests
OK
[DAIC02]
11
Contents of a Test Strategy
14
1 May 2002, Version 1.5a
Master Test Plan
Test strategy for each level is defined in the level’s
“Test Plan”
The detailed test cases are in the “Test Procedures”
Acronyms for the next slide (based on IEEE 12207.0)
Developer Government
(cont.)
15
1 May 2002, Version 1.5a
Master Test Plan (cont.)
MTP or TEMP
OTP
DTP
OTPP STP
DTPP ITP
OTPr STPP UTP
DTPr ITPP
STPr UTPP
ITPr
UTPr
(see previous slide for definitions of acronyms)
Integration and Unit Test Plans and Test Procedures
are often in the same document (i.e., ITPP or UTPP)
or in the Software Development File (SDF)
16
Software Integrity Levels
Criticality Description Level
High Selected function affects critical 4
performance of the system.
Major Selected function affects important 3
system performance.
Moderate Selected function affects system 2
performance, but workaround strategies
can be implemented to compensate for
loss of performance.
Low Selected function has noticeable effect on 1
system performance but only creates
inconvenience to the user…
[IEEE 1012]
17
Software Integrity Levels (continued)
Minimum V&V Tasks
V&V Activity Acquis. Develop
Support Reqmts. Design Implemnt. Test
SW Integrity Levels Levels Levels Levels Levels
Levels 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1
Acceptance XXX
V&V test exec.
& verification
Acceptance XXX
V&V test plan
generation &
verification
Interface XXX XX X XXX
Analysis
Management XX XX XX XX
& Tech. Rev.
support
Management XXX XXXX XX XX XXXX XXX X
review of V&V
...
[IEEE 1012]
18
DoD T&E Strategy
Provides information about risk and risk mitigation
Provides empirical data to validate models and
simulations
Evaluates technical performance and system
maturity
Determines whether systems are operationally
effective, suitable, and survivable
Addresses development and assessment of the
weapons support test systems
Includes:
– Developmental Test and Evaluation (DT&E)
– Operational Test and Evaluation (OT&E)
[DoD 5000.2-R]
19
Questions
20
Pitfalls
21
Pitfalls
test case?
(continued)
22
Pitfalls
24
Definitions
“Test”
– Glen Myers said back in 1979 in his book The Art
of Software Testing,
“Testing is the process of executing a program or
system with the intent of finding errors.”
[MYER79]
– This paved the way for significant improvements to
testing in many organizations.
“The process of operating a system or component
under specified conditions, observing or recording
the results, and making an evaluation of some aspect
of the system or component.”
[IEEE 610]
return
return 25
Definitions
27
1 May 2002, Version 1.5a
Definitions
“Evaluation”
– Not in IEEE 610.12
– “A systematic determination of the extent to which an
entity meets its specified criteria.”
[IEEE 12207]
“Software Test and Evaluation”
– Not formally defined in DoD regulations and guides
nor in IEEE standards
– Proposed: A systematic determination of the extent to
which an entity meets its specified criteria through
analysis, review, and operation of software-intensive
system’s (SIS) products and processes.
return
return 28
Definitions
29
Definitions
return
return 30
Definitions
31
Definitions
“Operational Effectiveness”
– “The overall degree of mission accomplishment of a
system when used by representative personnel in the
environment planned or expected ... for operational
employment of the system considering organization,
doctrine, tactics, survivability, vulnerability, and
threat ...”
[DAD], Glossary
32
Definitions
“Operational Suitability”
– “The degree to which a system can be placed
satisfactorily in field use with consideration being
given to availability, compatibility, transportability,
interoperability, reliability, wartime usage rates,
maintainability, safety, human factors, manpower
supportability, logistic supportability, natural
environmental effects and impacts, documentation,
and training requirements.”
[DAD], Glossary
return
return 33
Acronyms
ACAT Acquisition Category EOA Early Operational Assessment
AF Air Force FOT&E Follow-on Operational Test and
AFI Air Force Instruction Evaluation
ATP Acceptance Test Plan HWCI Hardware Configuration Item
ATPP Acceptance Test Plans and IEEE Institute of Electrical and Electronics
Procedures Engineers
ATPr Acceptance Test Procedures IOT&E Initial Operational Test and
ATPS Automated Test Planning System Evaluation
CM Configuration Management IPT Integrated Product Team
COI Critical Operational Issue ITP Integrated Test Plan
CONOPS Concept of Operations ITPP Integration Test Plans and
CTP Critical Technical Parameter Procedures
DAD Defense Acquisition Deskbook ITPr Integration Test Procedures
DoD Department of Defense JITC Joint Interoperability Test Command
DOT&E Director of Operational Test and KPP Key Performance Parameters
Evaluation LFT&E Live Fire Test and Evaluation
DSMC Defense Systems Management M&S Modeling and Simulation
College MAIS Major Automated Information
DT&E Developmental Test and Evaluation System
EIA Electronic Industries Association MDA Milestone Decision Authority
34
Acronyms
MDAP Major Defense Acquisition Program SQA Software Quality Assurance
MRTFB Major Range and Test Facility Base SRD Software Requirements Description
MTP Master Test Plan SRS System Requirements Specification
NDR Need Determination Record STP Software/System Test Plan
OA Operational Assessment STPP Software/System Test Plans and
OPP Operational Performance Procedures
Parameters STPr Software/System Test Procedures
ORD Operational Requirements STSC Software Technology Support
Document Center
OT Operational Test SWCI Software Configuration Item
OT&E Operational Test and Evaluation T&E Test and Evaluation
OTA Operational Test Agency TEMP Test and Evaluation Master Plan
OTRR Operational Test Readiness Review U.S.C. United States Code
PM Program Manager UTP Unit Test Plan
SAD Software Architecture Description UTPP Unit Test Plans and Procedures
SAIC Science Applications International UTPr Unit Test Procedures
Organization V&V Verification and Validation
SDD Software Design Description
SPD Software Product Description
35
References
[10 USC Sec139] Title 10, U.S. Code, Section 139, Director, Operational Test and Evaluation, 29 Sept. 2000,
Defense Acquisition Deskbook.
[AFI 99-103] AF Instruction 99-103 (Draft), “Air Force Test and Evaluation,” 14 February 2002.
[BACH02] Bach, James, “What is Exploratory Testing?”, www.satisfice.com/articles/what_is_et.htm.
[BLAC02] Black, Rex, (email message), 12 December 2001.
[DAD] Defense Acquisition Deskbook, http://web1.deskbook.osd.mil.
[DAIC02] Daich, Gregory T., “Software-Oriented Test and Evaluation Course,” Software Technology
Support Center, March 1, 2002.
[DoDI 5000.1] DoD Instruction, “Operation of the Defense Acquisition System,” Jan. 4, 2001.
[DoDD 5000.2] DoD Directive, “The Defense Acquisition System,” Change 1, Jan. 4, 2001.
[DoD 5000.2-R] DoD Regulation, “Mandatory Procedures for Major Defense Acquisition Programs (MDAPs) and
Major Automated Information System (MAIS) Acquisition Programs,” June 10, 2001.
[DSMCGlossary] Defense Systems Management College, Glossary; Defense Acquisition Acronyms and Terms,
Ninth Edition, November 1998.
[IEEE 610] IEEE 610.12-1990, “IEEE Standard Glossary of Software Engineering Terminology.”
[IEEE 730] IEEE 730-1998, “IEEE Standard for Software Quality Assurance Plans.”
[IEEE 1012] IEEE 1012-1998, “IEEE Standard for Software Verification and Validation.”
[IEEE 12207.0] IEEE/EIA 12207.0-1996, “Standard for Information Technology – Software Life Cycle Processes.”
[IEEE 12207.1] IEEE/EIA 12207.1-1997, “IEEE/EIA Guide for Information Technology, Software Life Cycle
Processes – Life Cycle Data.”
[MYER79] Myers, Glenford, The Art of Software Testing, John Wiley and Sons, 1979.
[WUDK98] http://phyun5.ucr.edu/~wudka/Physics7/Notes_www/node6.html, Jose Wudka 9/24/1998.
36
“Say…What’s a mountain goat doing way return
up here in a cloud bank?” return
I’ll go up and find out
what they need the
rest of you start testing!
return
return