EECS 814 – Fall 2009 Jennifer Kaufman Testing Process Models Process Model of a Test Factory
Agenda
1. Introduction & Abstract
2. Organizational Models
3. Testing Process Models
5. Conclusion
4. Process Model of a Test Factory
12/12/2009 2
Introduction
“A proposal of a process model to create a
Test Factory” by:
Ana Sanz
Javier Garcia
Javier Saldana
Antonia Amescua
Presented at the ICSE „09 Workshop on
Software Quality
12/12/2009 3
Abstract
Software testing is being outsourced to
“Test Factories”
Test Factories must implement an
organizational model that includes a
defined testing process model
This research presents a testing process
model to manage a Test Factory
12/12/2009 4
Software Quality Assurance
According to Wikipedia, Software Quality
Assurance (SQA) consists of a means of
monitoring the software engineering
processes and methods used to ensure
quality.
SQA strives to minimize the cost of
guaranteeing quality throughout the
development process
12/12/2009 5
SQA & Testing
Validation ensures the right functions are
performed
Verification ensures the correct
performance of these functions
Testing is part of validation and verification
Inspections
Technical review
Unit testing
Integration testing
All are SQA activities12/12/2009 6
Outsourcing Testing
Software reliability is demanded by
customers
Complex systems require efficient SQA
activities – including more testing
Companies that do not have the testing
resources are beginning to outsource
testing
These organizations have been termed
“Test Factories”
12/12/2009 7
Test Factories
Designed to correctly perform validation
and verification activities
Dedicated resources and infrastructure for
complex testing
Can help reduce software development
costs
Lack organizational model to manage the
testing process
12/12/2009 8
Hypothesis
“If we have a well-defined organizational
model which allows the creation of Test
Factories, outsourcing testing-related
activities could be managed efficiently.”
A well-defined organizational model
includes:
Organizational structure
Process model
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 9
Organizational Models
Software testing can be organized in
various ways
Developers as testers
Independent test teams
Integrated test teams
QA/QC
Outsourcing & Test Factories
12/12/2009 10
Testing Process Models
Testing process improvement increases
client satisfaction, reduces defect rates,
and increases fulfillment of quality
objectives
There are numerous testing process
reference models
12/12/2009 11
Framework Quagmire
Ahern, D. M., Clouse, A., & Turner, R. (2001). CMMI Distilled. New York: Addison-Wesley.
12/12/2009 12
CMMI
Capability Maturity Model Integrated
Developed by the Software Engineering
Institute (SEI) at Carnegie Mellon
University
Works organizations to continually improve
software-intensive systems
Helps organizations to develop or acquire the
right software, defect free, within budget and
on time, every time
Carnegie Mellon University. (2009). CMMI Overview. Retrieved October 31, 2009, from Software Engineering Institute:
http://www.sei.cmu.edu/cmmi/index.cfm
.12/12/2009 13
CMMI
WHAT to do
Not HOW and WHO should do it
A benchmark of the maturity of an
organization‟s processes with industry
state of practice
Ad Hoc & Immature
Mature & Discipline
Business Goals
14
Carnegie Mellon University. (2009). CMMI Overview. Retrieved October 31, 2009, from Software Engineering Institute:
http://www.sei.cmu.edu/cmmi/index.cfm
.12/12/2009
CMMI
It helps integrate once separate
organizational functions
Set process improvement goals and
priorities
Provide guidance for quality processes
Provide a point of reference for appraising
current processes
CMMI does not fully support testing
process improvement 15
Carnegie Mellon University. (2009). CMMI Overview. Retrieved October 31, 2009, from Software Engineering Institute:
http://www.sei.cmu.edu/cmmi/index.cfm
.12/12/2009
TMM
Testing Maturity Model
Developed at the Illinois Institute of
Technology by professors Bob Carlson
and Ilene Burnstein and their graduate
students
It provides a guideline for test process
improvement
Compliments Capability Maturity Model
IIT Center for Professional Development. (2009). Software Testing Maturity Model (TMM). Retrieved December 10, 2009, from IIT Center
for Professional Development: http://www.iit.edu/cpd/itm/research/software_testing.shtml
12/12/2009 16
TMM
Six levels of maturity
1. Initial
Rush to code from requirements
No clear separation between design and code
phases
No attempt is made to use well known design
techniques or methods
2. Phased
Clear separation between the requirements
phase and design is phase
IIT Center for Professional Development. (2009). Software Testing Maturity Model (TMM). Retrieved December 10, 2009, from IIT Center
for Professional Development: http://www.iit.edu/cpd/itm/research/software_testing.shtml
12/12/2009 17
TMM
3. Systematic
Defined design process with a methodical
approach to design and the incorporation of
design activities in the project plan
Process can be taught and mastered, highly
repeatable
4. Integrated
Defined design process integrated with
development and testing processes
Portion of the code can be automatically
generated and is consistent in structure
Can be consistently maintainedIIT Center for Professional Development. (2009). Software Testing Maturity Model (TMM). Retrieved December 10, 2009, from IIT Center
for Professional Development: http://www.iit.edu/cpd/itm/research/software_testing.shtml12/12/2009 18
TMM
5. Managed
Design process managed by measures
Large scale reuse and use of components leads
to a high level of consistency
Minimize the knowledge gap between
management and software development staff
6. Optimal
Systems are based on composition of designs
Methodology is repeatable across people
Process lends itself to self-analysis seeking
corrections, efficiency, and improvements to the
product
12/12/2009 19
TMMi
Developed and promoted by the TMMi
Foundation
Compliments CMMI
Based on TMM
Guideline and reference framework for test
process improvement
TMMi Foundation. (2009). Test Maturity Model Integration. Retrieved December 10, 2009, from TMMi Foundation:
http://www.tmmifoundation.org/downloads/tmmi/TMMi%20Framework.pdf
12/12/2009 20
TMMi
• Defect Prevention
• Test Process Optimization
• Quality Control5. Optimization
• Test Measurement
• Software Quality Evaluation
• Advanced Peer Reviews4. Management
and Measurement
• Test Organization
• Test Training Program
• Test Life Cycle and Integration
• Non-Functional Testing
• Peer Reviews
3. Defined
• Test Policy and Strategy
• Test Planning
• Test Monitoring and Control
• Test Design and Execution
• Test Environment
2. Managed
1. Initial
TMMi Foundation. (2009). Test Maturity Model Integration. Retrieved December 10, 2009, from TMMi Foundation:
http://www.tmmifoundation.org/downloads/tmmi/TMMi%20Framework.pdf12/12/2009 21
TPI
Test Process Improvement model
Develop by Sogeti, an IT service provider
Supports the improvement of test
processes
Offers insight into the maturity of the test
processes within your organization
Helps define gradual and controllable
improvement steps
Sogeti. (2009). Test Process Improvement (TPI®): A step-by-step guide for improving your test process. Retrieved December 10, 2009, from
Sogeti:
http://www.ie.sogeti.com/Documents/Publications/Sogeti_Testing_Test_Process_Improvement_TPI_Step_by_step_guide_150609.pdf
12/12/2009 22
TPI
20 key areas for improvement
Life cycle model
Moment of involvement
Estimating and planning
Test specification
techniques
Static test techniques
Metrics
Test automation
Test environment
Office environment
Commitment and motivation
Test functions and training
Scope of methodology
Communication
Reporting
Defect management
Testware management
Test process management
Evaluation
Low-level testing
Sogeti. (2009). Test Process Improvement (TPI®): A step-by-step guide for improving your test process. Retrieved December 10, 2009, from
Sogeti:
http://www.ie.sogeti.com/Documents/Publications/Sogeti_Testing_Test_Process_Improvement_TPI_Step_by_step_guide_150609.pdf
12/12/2009 23
TPI
Each key area is given a maturity level
ranging from A to D
A Test Maturity Matrix established the
relations among areas
A set of checkpoints and improvements
are made after the assessment
Sogeti. (2009). Test Process Improvement (TPI®): A step-by-step guide for improving your test process. Retrieved December 10, 2009, from
Sogeti:
http://www.ie.sogeti.com/Documents/Publications/Sogeti_Testing_Test_Process_Improvement_TPI_Step_by_step_guide_150609.pdf
12/12/2009 24
TPI
Sogeti. (2009). Test Process Improvement (TPI®): A step-by-step guide for improving your test process. Retrieved December 10, 2009, from
Sogeti:
http://www.ie.sogeti.com/Documents/Publications/Sogeti_Testing_Test_Process_Improvement_TPI_Step_by_step_guide_150609.pdf
12/12/2009 25
TestPAI
Integrated with CMMI level 3 engineering
processes
Includes and defines all practices related
to testing
Same structure as CMMI
Proposes 5 specific goals and related
practices
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 26
What‟s Lacking
The 4 models discussed are helpful to
create a Test Factory, but not complete
No model examined integrate
organizational structure and a well-defined
process model
The authors proposed a process model of
a Test Factory
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 27
Proposed Process Model
3 categories of testing processes
Management
Technical
Support
Each process was defined by identifying
these elements:
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
Purpose
Description
Activities
Inputs/Outputs
Roles
Work Elements
Work Products
Technical Instructions
12/12/2009 28
Proposed Process Model
Support
Quality Assurance
Control and Monitoring
Configuration Management
Measurement and Analysis
Management
Testing Requirement Development
Testing Planning
Testing Design
TechnicalTesting Execution
• Validation Tests
• Verification Tests
• Acceptance Tests
Testing Report
12/12/2009 29
Management
Testing requirement development
Inputs: Analysis document, requirement
document, specification of client needs
Outputs: Contract between the organization
and the Test Factory, testing requirements
Description: If the feasibility study and project
scope are agreed upon, a contract is signed
and testing requirements are captured and
managed
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 30
Management
Testing Planning
Inputs: Analysis document, testing
requirement document
Outputs: Test plan
Description: A test plan is developed and
maintained. In addition to the normal
elements of a test plan, it includes sections of
the project plan which are necessary manage
the testing phase.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 31
Management
Testing Design
Inputs: Analysis document, design document,
testing requirement document, test plan
Outputs: Test plan, Test design specification,
test procedure specification
Description: Establish the information to
execute testing effectively and efficiently
including test plan tasks, schedule, risk,
resources, and cost
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 32
Technical
Testing Execution
Inputs: Test work package including artifacts
to be tested, project documentation and
testing documentation
Outputs: Result reporting
Description: Test cases and scripts and data
are required to prepare and execute tests. A
result report is prepared after execution. This
is comprised of verification tests, validation
tests and acceptance tests.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 33
Technical
Verification Tests
Inputs: Artifacts to be tested
Outputs: Result reporting
Description: Inspections, walkthroughs and
technical reviews are performed to review the
artifacts. Checklists can be used as a simple
and useful verification tool.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 34
Technical
Validation Tests
Inputs: Project documentation and testing
documentation
Outputs: Result reporting
Description: Unit tests, integration tests,
system tests, regression tests, stress tests,
performance tests and usability tests are
executed to check the system.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 35
Technical
Acceptance Tests
Inputs: Requirement document and testing
document
Outputs: Result reporting
Description: Acceptance tests are executed
by the customer or end user to ensure the
system meets the client‟s needs.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 36
Technical
Testing Report
Inputs: Result reporting
Outputs: Result summary reporting
Description: Testing results are analyzed and
evaluated and a brief report is drafted. This
process controls and manages incidents.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 37
Support
Quality Assurance
Inputs: Test work package
Outputs: Result audit reporting
Description: Verification that the activities
defined in the current process have been
carried out and that the appropriate
intermediate or final product is obtained.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 38
Support
Control and Monitoring
Inputs: Test plan, result monitoring reporting
Outputs: Result monitoring reporting
Description: To control and monitor the state
of the projects in regards to schedule, costs,
resources, milestones, commitments and
risks. This is a continuous process.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 39
Support
Configuration Management
Inputs: Any element involved in the project
Outputs: Information about the change
Description: Changes in the configuration
items must follow a formal process of change.
The impact is assessed and the change is
accepted or rejected.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 40
Support
Measurement and Analysis
Inputs: Project and process specifications
Outputs: Measurement reporting
Description: To control the processes
implemented in the organization. Information
collected is measured and analyzed based on
set indicators. A measurement report is
drafted.
Sanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 41
Use of The Model
The proposed model has been
implemented at several companies in
Spain
The proposed process model was adapted
for each implementation to include:
Justification for using a Test Factory
Metrics to measure the performance of the
model
Methodological guides to be considered when
testingSanz, A., Garcia, J., Saldana, J., & Amescua, A. (2009). A proposal of a proces model to create a Test Factory. WoSQ '09 (pp. 65-69).
Vancouver, Canada: IEEE.
12/12/2009 42
Conclusion
Test Factories is one way to structure
testing in organizations
Successfully managing a Test Factory
requires a customized management model
that includes
A process model
An organizational structure
12/12/2009 43
Conclusion
The proposed model defines:
The processes required to manage a testing
factory
Key elements to develop a contract for
outsourcing testing activities
The proposed model has been
implemented in several companies but the
results were not presented in this article
12/12/2009 44