View
228
Download
0
Category
Preview:
Citation preview
Thomas L. Gilchrist tomg@tomgtomg.com
Testing Basics
Set 4: Strategies & Metrics
By
Thomas L. Gilchrist, 2009
Thomas L. Gilchrist tomg@tomgtomg.com
What are the Tradeoffs
…changes in one require compensation in others...
Thomas L. Gilchrist tomg@tomgtomg.com
Tradeoffs
• Schedule• Cost/Resources• Scope• Technology• Quality / Critical Success Factors
Thomas L. Gilchrist tomg@tomgtomg.com
How much testing?
…risk!...
Thomas L. Gilchrist tomg@tomgtomg.com
Testing and Risk
The degree of risk increases
The
deg
ree
of t
estin
g
Thomas L. Gilchrist tomg@tomgtomg.com
High
Low
High
Low
Where are you now?
Level of testing
Confidence in process
TREND
Testing and Risk
Thomas L. Gilchrist tomg@tomgtomg.com
Testing Goals
• Testing is about finding errors.• If you don’t find any errors,
testing is a waste of time.
Thomas L. Gilchrist tomg@tomgtomg.com
Testing and Risk
Maturity of the development process
The
cos
t to
fin
d an
err
or/b
ug
Thomas L. Gilchrist tomg@tomgtomg.com
Definitions
• Requirement– A condition or capability needed by
a user to solve a problem or achieve an objective
– A condition or capability that must be met or possessed by a system …to satisfy a contract, standard, specification or other formally imposed document.
Thomas L. Gilchrist tomg@tomgtomg.com
Test Terms
• Test Categories– Unit Testing– Integration Testing– System Testing– Acceptance Testing– Regression Testing
• Static Testing• Dynamic Testing
Thomas L. Gilchrist tomg@tomgtomg.com
The Test Process
Thomas L. Gilchrist tomg@tomgtomg.com
The Testing Process
• Step 1 - Set Test Objectives• Step 2 - Develop Test Plan• Step 3 - Execute Tests• Step 4 - Summarize and Report
Results
Thomas L. Gilchrist tomg@tomgtomg.com
General Workbench
InputSource
Materials
ProcessProduct
ENTRY
EXIT
Standards,templates, rulesand checklists
DoWork
Rework
Testing
Thomas L. Gilchrist tomg@tomgtomg.com
Testing Workbench
Test Process
Products for Test
Problems
Tested Products
ENTRY
EXIT
Test Toolbox
Test QC
Test Measures
Thomas L. Gilchrist tomg@tomgtomg.com
The Software Test Process
Step 1 - Develop Test Objectives Task 1 - Organize Test Team Task 2 - Perform Risk Assessment Task 3 - Set Test Objectives Task 4 - Quality Control
Step 2 - Develop Test Plan Task 1 - Define Business Functions Task 2 - Define Structural Functions Task 3 - Define Tests Task 4 - Create Function/Test Matrix Task 5 - Admin Test Requirements Task 6 - Formalize System Test Plan Task 7 - System Test Plan QC Task 8 - Develop Unit Test Plan Task 9 - Unit Test Plan QC
Step 3 - Execute Tests Task 1 - Select Test Tools Task 2 - Develop Test Cases Task 3 - Execute Tests Task 4 - Quality Control
Step 4 - Summarize and Report Results Task 1 - Record Defects Task 2 - Perform Data Reduction Task 3 - Develop Findings Task 4 - Formalize Report Task 5 - Quality Control
Thomas L. Gilchrist tomg@tomgtomg.com
Test Process “V” Diagram
BusinessNeed
DefineRequirements
DesignSystem
BuildSystem
Verify
AcceptanceTest
SystemTest
IntegrationTest
UnitTest
Verify
Verify
Verify
Validate
Validate
Validate
Validate
Validates
Validates
Validates
Validates
TestPlanning
TestObjectives
TestExecution(Static) Test
Execution(Dynamic) &Test Reporting
Thomas L. Gilchrist tomg@tomgtomg.com
The SEICMM
Thomas L. Gilchrist tomg@tomgtomg.com
Immature Vs Mature Organization
Immature Mature
Heroic Efforts of Dedicated Team
Repeating Proven Methods of an Organization
Not Managed Managed
People
Management
Technology
Process
Not Fully UtilizedOrganization
al Focus
No "Memory", Improvised
Repeatable, Followed,
Predictable
From: SEI CMM/Bill Curtis, et al.
Thomas L. Gilchrist tomg@tomgtomg.com
CMM Architecture
Level Key Process Areas
1Initial
Heroes*
5Optimizing
SystemCQI
Defect PreventionTechnology InnovationProcess Change Management
4Managed
SystemMeasurement
Process Measurement and AnalysisQuality Management
3Defined
EngineeringTechnicalPractices
Organizational Process FocusOrganizational Process DefinitionPeer ReviewsTraining ProgramIntergroup CoordinationSoftware Product EngineeringIntegrated Software Management
2Repeatable
ProjectManagement
Software Project PlanningSoftware Project TrackingSoftware Subcontract ManagementSoftware Quality AssuranceSoftware Configuration ManagementRequirements Management
Process Focus
From: SEI CMM/Bill Curtis, et al.
Thomas L. Gilchrist tomg@tomgtomg.com
Taking Action Based
On Data
Thomas L. Gilchrist tomg@tomgtomg.com
Measurement
• What’s you least favorite measurement?
• What’s your favorite measurement?
Thomas L. Gilchrist tomg@tomgtomg.com
Designing a Metric Program
G
Q
M* From "A Methodology for Collecting Valid Software Engineering Data"by Victor Basili and David Weiss. IEEE Transactions of Software Engineering,Vol. SE-10, No. 4, Nov. 1984
Thomas L. Gilchrist tomg@tomgtomg.com
Designing a Metric Program
Goal
Q
M* From "A Methodology for Collecting Valid Software Engineering Data"by Victor Basili and David Weiss. IEEE Transactions of Software Engineering,Vol. SE-10, No. 4, Nov. 1984
Thomas L. Gilchrist tomg@tomgtomg.com
Designing a Metric Program
Goal
Question
M* From "A Methodology for Collecting Valid Software Engineering Data"by Victor Basili and David Weiss. IEEE Transactions of Software Engineering,Vol. SE-10, No. 4, Nov. 1984
Thomas L. Gilchrist tomg@tomgtomg.com
Designing a Metric Program
Goal
Question
Metric* From "A Methodology for Collecting Valid Software Engineering Data"by Victor Basili and David Weiss. IEEE Transactions of Software Engineering,Vol. SE-10, No. 4, Nov. 1984
Thomas L. Gilchrist tomg@tomgtomg.com
Designing a Metric Program
Goal
Question
Metric* From "A Methodology for Collecting Valid Software Engineering Data"by Victor Basili and David Weiss. IEEE Transactions of Software Engineering,Vol. SE-10, No. 4, Nov. 1984
Thomas L. Gilchrist tomg@tomgtomg.com
Understanding Metric Data
• Data is not information!
DataData InformationInformation
From: “Understanding Variation”, D.J. Wheeler
Thomas L. Gilchrist tomg@tomgtomg.com
Understanding Metric Data
• Data is not information!
DataData InformationInformationAnalysisAnalysis
From: “Understanding Variation”, D.J. Wheeler
Thomas L. Gilchrist tomg@tomgtomg.com
Key Variation Concepts
• Variation exists everywhere• Two types
– Common causes (noise)– Special case (signal)
• Variation, waste, & predictability.
94% of all problems in an organization are due to common causes and only management can fix them.
(Deming, “Out of Crisis”)
Thomas L. Gilchrist tomg@tomgtomg.com
Run Charts
Metric
Time
Thomas L. Gilchrist tomg@tomgtomg.com
Specification Targets
Upper Specification Limit
Lower SpecificationLimit
Metric
Time
Voice of the customer
Thomas L. Gilchrist tomg@tomgtomg.com
Shewhart’s Control Charts
• Every data set has noise.• “Noise” confuses and clouds
single value comparisons.• Some data sets contain signal
(special causes).• Control charts separate
potential signals from noise.
Thomas L. Gilchrist tomg@tomgtomg.com
Control Chart
Metric
Time
Voice of the process
Thomas L. Gilchrist tomg@tomgtomg.com
Control Chart
Metric
Time
Voice of the process
Upper Control Limit
Lower Control Limit
Thomas L. Gilchrist tomg@tomgtomg.com
Signal and Noise
Upper Control Limit
Lower Control Limit
Metric
Time
Voice of the process"Special Cause"
"Common Cause"Region
Data excursions
Thomas L. Gilchrist tomg@tomgtomg.com
Serial Correlation
Metric
Time
Voice of the process
Upper Control Limit
Lower Control Limit
Thomas L. Gilchrist tomg@tomgtomg.com
Recommendations
• Improve measurement systems– Commit to measurement, not
guessing– Devise and use common
measurement tools and definitions– Train data collectors on metric
definitions
• Reduce process variation• Improve process results
Thomas L. Gilchrist tomg@tomgtomg.com
Variation In Software
• In software, when one process has wide variation, more than likely, they all have have wide variation.
• High precision in software measurement is unnecessary at this time.
Thomas L. Gilchrist tomg@tomgtomg.com
Suboptimization
Suboptimization occurs when one doesn’t think of the total system...it is about dependencies.
Thomas L. Gilchrist tomg@tomgtomg.com
X+Y=1
Suboptimization
X+Y=1
Suboptimization occurs when one doesn’t think of the total system...it is about dependencies.
Thomas L. Gilchrist tomg@tomgtomg.com
Suboptimization
X is big and Y is big = goodnessHow do we allocate resources between x and Y?What are some examples?
Suboptimization occurs when one doesn’t think of the total system...it is about dependencies.
X+Y=1X+Y=1
Recommended