Chapter10

Chapter 10
Software Quality Assurance&
Test Plan
322 235 Software Testing
By
Asst.Prof.Dr.Wararat Songpan(Rungworawut)
Department of Computer Science,
Faculty of Science, Khon Kaen University
Quality
• What is “quality”?
• IEEE Glossary: Degree to which a
component, or process meets
(1) specified requirements
(2) customer or user needs or expectations
system,
What is SQA?
• Monitoring processes and products
throughout the software development
lifecycle to ensure the quality of the
delivered product(s)
• Monitoring the processes
o Provides management with objective feedback regarding
process compliance to approved plans, procedures,
standards, and analyses
• Monitoring the products
o Focus on the quality of product within each phase of the
SDLC
• e.g., requirements, test plan, architecture, etc.
o Objective: identify and remove defects throughout the
lifecycle, as early as possible
Process Assessment
• Use of standards and process models has a
positive impact on the quality of the software
product
o Disciplined, controlled development process
• Examples include:
o ISO 9001
o CMMI
o SPICE
• Developing a standard for software process assessment
• ISO joint committee, Europe, Australia
o IEEE 1074, IEEE 12207, …
Product Assessment
• Reviews, inspections, walkthroughs
o Specialized techniques available:
• How to review/assess requirements,
architecture, detailed designs, code
•
•
•
•
Testing
Simulation
Prototyping
Formal verification
o Model checking, theorem proving
Capability Maturity Model
Integration (CMMI)
• CMMI provides a way to focus and manage
hardware and software development from product
inception through deployment and maintenance.
• Model
Systems Engineering + Software Engineering (SE/SW)
• Representation options:
o Staged
o Continuous
CMMI Staged Representation - 5 Maturity Levels
Level 5
Optimizing
Process performance
continually improved through
incremental and innovative
technological improvements.
Level 4
Quantitatively
Managed
Processes are controlled using
statistical and other quantitative
techniques.
Level 3
Defined
Level 2
Managed
Level 1
Initial
Processes are well characterized and
understood. Processes, standards, procedures,
tools, etc.
Processes are planned, documented, performed,
monitored, and controlled at the project level. Often
reactive.
Processes are unpredictable, poorly controlled, reactive.
Slide 7 of 146
Maturity Level 1
Initial
• Maturity Level 1 deals with performed processes.
• Processes are unpredictable, poorly controlled,
reactive.
• The process performance may not be stable and
may not meet specific objectives such as quality,
cost, and schedule, but useful work can be done.
Maturity Level 2
Managed
• Maturity Level 2 deals with managed processes.
• A managed process is a performed process that is also:
o Planned and executed in accordance with policy
o Employs skilled people
o Adequate resources are available
o Controlled outputs are produced
o Stakeholders are involved
o The process is reviewed and evaluated for
adherence to requirements
• Processes are planned, documented, performed,
monitored, and controlled at the project level. Often
reactive.
• The managed process comes closer to achieving the
specific objectives such as quality, cost, and schedule.
Maturity Level 3
Defined
• Maturity Level 3 deals with defined processes.
• A defined process is a managed process that:
o Processes are well characterized, and understood,
are described in standards, procedures, tools and
methods
o The organizations set of standard processes, is
established and improved over time
o Establishing consistency across the organization
Maturity Level 4
Quantitatively Managed
• Subprocesses are selected that significantly
contribute to overall process performance
• As criteria in managing process the quantitative
objects for quality are established
• Quantitative objectives are based on:
o Needs of a customer
o End users
o Organization
o Process implements
• For these processes, detailed measures of process
performance are collected and statistically analyzed
Maturity Level 5
Optimizing
• Focuses on continually improving process
performance through:
o Incremental technological improvements
o Innovative technological improvements
• Both processes are the organization’s set of
measurable improvement activities
•
List CMMI company in Thailand
• http://www.swpark.or.th/cmmiproject/index.php/list-of-thaisoftware-companies-accredited-by-cmmi
• http://www.vlbcs.com/index.php?option=com_content&view=
article&id=85:-cmmi-company-achievedcmmi&catid=48:cmmi&Itemid=99
Example of Certification Organizations
(Tester & QA)
• Certified Software Tester (CSTE) certification is intended to
establish standards for initial qualification and provide
direction for the testing function through an aggressive
educational program.
• Source:
http://www.softwarecertifications.org/cste/
• ISEB/ISTQB® has created the world's most successful scheme
for certifying software testers.
• Source:
http://www.istqb.org/
Test Plan
• Software testing is a formal process carried out by a
committed testing team in which a piece of
software, parts of software or even multiple pieces
of software are examined to detect differences
between existing and required conditions
Test Planning Process
Understand
Context
Scope
Organise
Test Plan
Development
Identify &
Analyze
Risks
Analysed Risks
Schedule, Staffing
Profile
Draft
Test Plan
Approved
Test Plan
Test
Plan
Publish
Test Plan
Gain
Consensus
on Test Plan
Document
Test Plan
Identify
Risk
Treatment
Approaches
Determine
Staffing and
Scheduling
Treatment
Approaches
Design Test
Strategy
Test
Strategy
The Test Plan Document
• Test Plans follow a strict structure to ensure all
aspects of testing are covered. This is stated by the
ANSI/IEEE 829-1988 Test Plan Structure:
1. Plan Identifier
8. Suspension Criteria
2. Test Items
9. Test Deliverables
3. Risk Issues
10. Environmental
Requirements
4. Features to be Tested
11. Staffing/Training
Needs
5. Features not to be
Tested
12. Schedule of Test
6. Test Approach
13. Planning for risks
7. Pass/Fail Criteria
14. Approvals
Test Plan Document
in 322 235 Sw Testing