Software Quality Assurance
Software Quality Assurance
Assurance
1
What is Software Quality
Assurance?
2
What is Quality?
Problems:
• Intangible aspects of software quality can’t be
standardized
(i.e elegance and readability)
4
What are SQA, SQP, SQC,
and SQM?
SQA includes all 4 elements…
• Software Quality Assurance – establishment of network of
organizational procedures and standards leading to high-
quality software
2. Software Quality Planning – selection of appropriate
procedures and standards from this framework and adaptation
of these to specific software project
3. Software Quality Control – definition and enactment of
processes that ensure that project quality procedures and
standards are being followed by the software development
team
4. Software Quality Metrics – collecting and analyzing quality
data to predict and control quality of the software product
being developed 5
Software Development
Standards
6
Why are Standards Important?
7
SDS a Simplistic approach
Organizational Organizational
IPDS
Quality Manual SD Process STD’s
9
Product Standards
Organizational
Product STD’s
10
Quality Models
11
ISO - 9001 Elements
Quality System Requirements Software Quality Responsibilities
Management Responsibility Management Responsibility
Quality system Quality system
Contract review Contract review
Design Control Design Control
Document control Document control
Purchasing Purchasing
Purchaser supplied product -
Product identification and traceability Product identification and traceability
Process control Process control
Inspection and testing Inspection and testing
Inspection, measuring and test equipment -
Inspection and test status Inspection and test status
Control of non-conforming product -
Corrective action Corrective action
Handling, storage, preservation, packaging and shipping -
Quality records
Internal quality audits Quality records
Training Internal quality audits
Servicing Training
Statistical techniques -
Statistical techniques
12
Capability Maturity Model
KPA’s
13
CMM Level’s 2-5
14
CMM Integration Model
Architecture
15
CMM to CMMI Mapping
16
Documentation
17
Documentation Hierarchy
18
Process and Product Quality
Quality of development process directly affects the quality of
delivered products.
19
Quality Improvement – The Wheel of
6Sigma
Six Sigma
20
Quality Improvement – Six Sigma
Process
• Visualize – Understand how it works now and imagine how it will
work in the future
21
Continuity and Independence of
SQA
• Software Quality Assurance team must be independent in order to
take an objective view of the process and report problems to senior
management directly
22
Software Quality
Planning
Element II
23
Software Quality Plan
Tailoring - SQP should select those organizational
standards that are appropriate to a particular product
Standardization - SQP should use (call out) only
approved organizational process and product
standards
If new standards are required a quality improvement
should be initiated
Elements - SQP elements are usually based on the
ISO-9001 model elements
SQP is not written for software developers. It’s
written for SQE’s as a guide for SQC and for the
customer to monitor development activities
Things like software production, software product
plans and risk management should be defined in SDP,
IP
Quality Factor’s shouldn’t be sacrificed to achieve
efficiency. Don’t take the job if quality process can’t
24
be upheld
Software Quality
Control
25
Methods of Software Quality
Control
SQC involves overseeing the software development process to
ensure that the
procedures and STD’s are being followed
• TFR - test conducted as “RFR - run-for-record” with the SQE and the
customer. These tests include FAT and SAT. These tests
28
are
conducted to sell the end-product off to the customer. SQE is present
Quality Audits
29
Defect Detection
Formal bug finding activities include Quality Reviews and Tests
At Baseline Capture 0
System Requirements Analysis 0 79
E Preliminary Design 0 6 2 10
S
T Detailed Design 1 0 0 0 42
T
E Code 0 0 0 1 2 37
A
C Unit Test 0 0 0 0 0 0 0
G
T Software Integration 1 0 0 0 4 1 0 0
E
E Software Qualification Test 0 0 0 0 0 0 0 0 0
D System Integration 1 0 0 0 4 5 0 0 0
System Test 0 0 0 0 0 0 0 0
Post System Test 0 0 0 0 0 0 0 0 0
% Defects Originated in This Phase That Were Contained By This Phase 93% 33% 91% 81% 86%
% Defects Originated I n This Phase Out Of All Defects 44% 2% 6% 27% 22% 0% 0% 0%
30
A Bug’s Life
Postponed Rejected
P X
N A Engineer O R M T V
SCCB Engineer Software Lead Tester SCCB
Approves STR Accepts STR Resolves STR Verifies Fix
Plans Merge Agrees Closure
Integrator
Duplicate
Performs Merge
D
31
Software Configuration
Management
SCM – activities assuring that software products are properly identified
and their transition is tracked. In many mature organizations SCM is
not part of SQA responsibilities.
32
Software Quality
Metrics
33
Metrics Collection
of product is compromised
Software Product Metrics
36
Examples of Software Metric
37
Examples of OO Software Metric
38
Defect Prevention
Defect Prevention – establishment of practices that lower the reliance
on defect detection techniques to find majority of the bugs
39
The end
40