SlideShare a Scribd company logo
1
Software Quality Assurance
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
2
What is Software Quality
Assurance?
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
3
What is Quality?
Quality – developed product meets it’s specification
Problems:
• Development organization has requirements exceeding customer's
specifications (added cost of product development)
• Certain quality characteristics can not be specified in
unambiguous terms (i.e. maintainability)
• Even if the product conforms to it’s specifications, users may
not consider it to be a quality product (because users may not be involved in
the development of the requirements)
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
4
Quality Management – ensuring that required level of
product quality is achieved
• Defining procedures and standards
• Applying procedures and standards to the product and process
• Checking that procedures are followed
• Collecting and analyzing various quality data
Problems:
• Intangible aspects of software quality can’t be standardized
(i.e elegance and readability)
What is Quality Management?
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
5
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
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
6
Software Development Standards
SDS
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
7
Why are Standards Important?
• Standards provide encapsulation of best, or at least most
appropriate, practice
• Standards provide a framework around which the quality
assurance process may be implemented
• Standards assist in continuity of work when it’s carried out by
different people throughout the software product lifecycle
Standards should not be avoided. If they are too extensive
for the task at hand, then they should be tailored.
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
8
SDS a Simplistic approach
In most mature organizations:
• ISO is not the only source of SDS
• Process and Product standards are derived independently
• Product standards are not created by SQA
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
9
Quality Models
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
10
ISO - 9001 Elements
• Quality System Requirements
• Management Responsibility
• Quality system
• Contract review
• Design Control
• Document control
• Purchasing
• Purchaser supplied product
• Product identification and traceability
• Process control
• Inspection and testing
• Inspection, measuring and test equipment
• Inspection and test status
• Control of non-conforming product
• Corrective action
• Handling, storage, preservation, packaging
and shipping
• Quality records
• Internal quality audits
• Training
• Servicing
• Statistical techniques
• Software Quality Responsibilities
• Management Responsibility
• Quality system
• Contract review
• Design Control
• Document control
• Purchasing
• -
• Product identification and traceability
• Process control
• Inspection and testing
• -
• Inspection and test status
• -
• Corrective action
• -
• Quality records
• Internal quality audits
• Training
• -
• Statistical techniques
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
11
Capability Maturity Model KPA’s(CMM)
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
12
CMM Integration Model Architecture
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
13
Quality Improvement – The Wheel of 6Sigma
Six Sigma
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
14
Quality Improvement – Six Sigma Process
• Visualize – Understand how it works now and imagine how it
will work in the future
• Commit – Obtain commitment to change from the stakeholders
• Prioritize – Define priorities for incremental improvements
• Characterize – Define existing process and define the time
progression for incremental improvements
• Improve – Design and implement identified improvements
• Achieve – Realize the results of the change
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
15
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
• If prescribed process is inappropriate for the type of software
product which is being developed, then it should be tailored
• The standards must be upheld no matter how small the task.
Prototyping doesn’t mean no standards. It means tailored standards.
• Quality is FREE, if it’s Everyone’s Responsibility!
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
16
Software Quality Planning
Element II
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
17
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 be upheld
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
18
Software Quality Control
Element III
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
19
Methods of Software Quality Control
SQC involves overseeing the software development process to ensure that the
procedures and STD’s are being followed
The following activities constitute SQC:
• Quality Reviews - in-process reviews of processes and products
Reviews are the most widely used method of validating the quality of processes and
products. Reviews make quality everyone's responsibility. Quality must be built-in.
SQE is responsible for writing Quality Engineering Records (QERs) documenting their
participation in these reviews.
• Tests - end-result verifications of products. These verifications are conducted after the
software has been developed. Test procedures are followed during conduct of these
activities. SQE is responsible for keeping the logs and some times for writing the test
report.
• Quality Audits - in-process verifications of processes. These audits are conducted
periodically (twice a month) to assess compliance to the process STD’s.
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
20
Quality Reviews
• Peer reviews - reviews of processes and products by groups of people. These
reviews require pre-review preparation by all participants. If a participant is not
prepared, then the review is not effective. This type of review requires
participation of the SQE, moderator, recorder, author(s), and one or more critical
reviewers. All issues found during these reviews are documented on AR forms.
• Walkthroughs - reviews of products by groups of people mostly without
preparation. For example a requirements traceability review is a walkthrough. It
involves tracing a requirement from customer requirements to the test procedures.
All issues found during these reviews are documented on CAR forms.
• Desk inspections - reviews of products by individuals. These reviews involve
people reviewing products by themselves (not in a group) and then submitting
their comments to the author(s). The issues found during these reviews are
treated in informal manner.
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
21
Tests
• Engineering Dry-run - test conducted by engineering without SQE. These tests
include Unit Tests and engineering dry-runs of the formal tests. These engineering dry-
runs are used to verify correctness and completeness of the test procedures. Also, these
is the final engineering verification of the end-product before sell-off to SQE. All
issues found during these tests are documented on STR forms.
• SQE Dry-run - test conducted by SQE. These tests include PQT, FAT and SAT dry-
runs. These tests are used to verify the end-product before the formal test with the
customer. An SQE is sometimes responsible for writing the test report. However, if a
separate test group is available, then SQE is relived of this obligation. All issues found
during these tests are documented on STR forms.
• TFR - test conducted as “RFR - run-for-record” with the SQE and the customer.
These tests include FAT and SAT. These tests are conducted to sell the end-product off
to the customer. SQE is present at all such tests. All issues found during these tests are
documented on STR forms.
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
22
Quality Audits
• SQE Audits - audits conducted by SQE to verify that the process STD’s are
being followed. Examples of these audits are IPDS compliance, Configuration
Control, and Software Engineering Management. All findings for these audits are
documented on QER forms. The results of the audits are distributed to the next
level of management (above project level). If the issue(s) are not fixed then the
findings are elevated to upper management.
• Independent Audits - audits conducted by ISO generalists or other independent
entities to verify that the process STD’s are being followed. These audits are
usually conducted on a division/facility level. The results of these audits are
distributed to upper management.
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
23
Software Quality Metrics
Element IV
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
24
Metrics Collection
• Software measurement - the process of deriving a numeric value
for some attribute of a software product or a software process. Comparison of these
values to each other and to STD’s allows drawing conclusions about the quality of
software products or the process.
• The focus of the metrics collecting programs is usually on collecting metrics on
program defects and the V&V process.
• Metrics can be either Control Metrics or Predictor Metrics
• Most of the “Ilities” can not be measured directly unless there’s historical data.
Instead tangible software product attributes are measured and the “Ility” factors are
derived using predefined relationships between measurable and synthetic attributes.
• The boundary conditions for all measurements should be established in advance
and then revised once a large databank of historical data has been established
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
25
The Process of Product Measurement
1. Decide what data is to be collected
2. Assess critical (core) components first
3. Measuring component characteristics might require automated tools
4. Look for consistently (unusually only works in a factory) high or low values
5. Analysis of anomalous components should reveal if the quality of product is
compromised
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
26
Predictor and Control Metrics
Examples of Predictor Analysis:
• Code Reuse: SLOC = ELOC = Ported Code
• Nesting Depth: ND > 5 = Low Readability
• Risk Analysis: # STR P1 > 0 at SAT = Low Product Reliability
Examples of Control Analysis:
• STR aging: Old STRs = Low Productivity
• Requirements Volatility: High Volatility = Scope Creep
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
27
Software Product Metrics
There are two categories of software product metrics:
1. Dynamic metrics – this metrics is collected by measuring elements
during program’s execution. This metrics help to asses efficiency and
reliability of a software product. The parameters collected can be
easily measured (i.e. execution time, mean time between failures)
2. Static metrics – this metrics is collected by measuring parameters of
the end products of the software development. This metrics help to
asses the complexity, understandability, and maintainability of a
software product. The SLOC size and ND are the most reliable
predictors of understandability, complexity, and maintainability.
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
28
Examples of Software Metric – Chapter 24
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
29
Examples of OO Software Metric – Chapter 24
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW
30
The end
Prepared by, Dr.T.Thendral, Assistant
Professor, SRCW

More Related Content

PPTX
Software quality assurance
University of Sargodha
 
PPTX
Software Quality Assurance
Saqib Raza
 
PPT
Software Quality Assurance
Sachithra Gayan
 
PPTX
Software Quality Assurance
ShashankBajpai24
 
PPT
Software quality assurance lecture 1
Abdul Basit
 
PPTX
Software quality assurance
Er. Nancy
 
PPTX
Software testing ppt
Poonkodi Jayakumar
 
PPT
Software Quality Management
Krishna Sujeer
 
Software quality assurance
University of Sargodha
 
Software Quality Assurance
Saqib Raza
 
Software Quality Assurance
Sachithra Gayan
 
Software Quality Assurance
ShashankBajpai24
 
Software quality assurance lecture 1
Abdul Basit
 
Software quality assurance
Er. Nancy
 
Software testing ppt
Poonkodi Jayakumar
 
Software Quality Management
Krishna Sujeer
 

What's hot (20)

PPTX
Software quality assurance
Aman Adhikari
 
PPTX
Ch 3 software quality factor
Kittitouch Suteeca
 
PPTX
Software design
Syed Muhammad Hammad-ud-Din
 
PDF
Types of software testing
Prachi Sasankar
 
PPT
Risk management(software engineering)
Priya Tomar
 
PPTX
Requirements analysis and modeling
Syed Zaid Irshad
 
PPTX
Software Development Process
Amira Elsayed Ismail
 
PPTX
Software testing
balamurugan.k Kalibalamurugan
 
PPTX
UNIT TESTING.pptx
DrTThendralCompSci
 
PPT
The Software Development Process
Cesar Augusto Nogueira
 
PPTX
EFFECTIVE MODULAR DESIGN.pptx
DrTThendralCompSci
 
PPTX
verification and validation
Dinesh Pasi
 
PPT
Software design
Benazir Fathima
 
PPTX
SOFTWARE TESTING.pptx
DrTThendralCompSci
 
PPTX
Software design and Software engineering.pptx
DrTThendralCompSci
 
PDF
Software requirements
Dr. Loganathan R
 
PPT
PROCESS MODELS.ppt
DrTThendralCompSci
 
PPTX
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
PPT
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
PDF
Introduction to software engineering
Hitesh Mohapatra
 
Software quality assurance
Aman Adhikari
 
Ch 3 software quality factor
Kittitouch Suteeca
 
Types of software testing
Prachi Sasankar
 
Risk management(software engineering)
Priya Tomar
 
Requirements analysis and modeling
Syed Zaid Irshad
 
Software Development Process
Amira Elsayed Ismail
 
UNIT TESTING.pptx
DrTThendralCompSci
 
The Software Development Process
Cesar Augusto Nogueira
 
EFFECTIVE MODULAR DESIGN.pptx
DrTThendralCompSci
 
verification and validation
Dinesh Pasi
 
Software design
Benazir Fathima
 
SOFTWARE TESTING.pptx
DrTThendralCompSci
 
Software design and Software engineering.pptx
DrTThendralCompSci
 
Software requirements
Dr. Loganathan R
 
PROCESS MODELS.ppt
DrTThendralCompSci
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Chapter 15 software product metrics
SHREEHARI WADAWADAGI
 
Introduction to software engineering
Hitesh Mohapatra
 
Ad

Similar to SOFTWARE QUALITY ASSURANCE.ppt (20)

PPT
SQA.ppt
BUSHRASHAIKH804312
 
PPT
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
MeseAK
 
PPTX
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
TangZhiSiang
 
PPT
SQA.ppt
theheritageCollege
 
PPT
Software Quality Assurance Description ppt
RevathyRangaraj1
 
PPT
SQA.ppt
Dr.Saranya K.G
 
PDF
Software Quality Assurance- Introduction
pragadarsh
 
PDF
Software quality assurance (sqa) parte i -introduccion v3.0
Renato Gonzalez
 
PPT
Software Quality Assurance
university of education,Lahore
 
PPTX
EContent_11_2024_04_24_08_32_29_Unit5_PPT1pptx__2024_04_05_09_12_50.pptx
DevSavaliya1
 
PPTX
quality
rajshreemuthiah
 
PPT
Software Engineering (Software Quality Assurance)
ShudipPal
 
PPT
SQA_Lec#01-1.ppt
Ahmad Abbas
 
PPT
UNIT V SOFTWARE QUALITY ASSUARANCE (1).ppt
BoyaRaghuveera
 
PPTX
software engineering
shreeuva
 
PPT
Qa
Rapunzall
 
PPT
Qa
Rapunzall
 
PPT
SQA
Vivastream
 
PPTX
Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx
develvin404
 
SQAzXzXZXZXZsadasdawdasccascascascascasc.ppt
MeseAK
 
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
TangZhiSiang
 
Software Quality Assurance Description ppt
RevathyRangaraj1
 
Software Quality Assurance- Introduction
pragadarsh
 
Software quality assurance (sqa) parte i -introduccion v3.0
Renato Gonzalez
 
Software Quality Assurance
university of education,Lahore
 
EContent_11_2024_04_24_08_32_29_Unit5_PPT1pptx__2024_04_05_09_12_50.pptx
DevSavaliya1
 
Software Engineering (Software Quality Assurance)
ShudipPal
 
SQA_Lec#01-1.ppt
Ahmad Abbas
 
UNIT V SOFTWARE QUALITY ASSUARANCE (1).ppt
BoyaRaghuveera
 
software engineering
shreeuva
 
Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx
develvin404
 
Ad

More from DrTThendralCompSci (18)

PPTX
Loader and linker.pptx
DrTThendralCompSci
 
PPT
The Application Layer.ppt
DrTThendralCompSci
 
PPTX
Transport Layer.pptx
DrTThendralCompSci
 
PPT
Software Configuration Management.ppt
DrTThendralCompSci
 
PPT
Wireless LANs PPT.ppt
DrTThendralCompSci
 
PPT
NETWORK LAYER.ppt
DrTThendralCompSci
 
PPT
Bluetooth.ppt
DrTThendralCompSci
 
PPT
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
DrTThendralCompSci
 
PPT
Ethernet.ppt
DrTThendralCompSci
 
PPT
DATA-LINK LAYER.ppt
DrTThendralCompSci
 
PPTX
Software design and Software engineering.pptx
DrTThendralCompSci
 
PPTX
Software prototyping.pptx
DrTThendralCompSci
 
PPT
Requirement Engineering.ppt
DrTThendralCompSci
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PPT
UNIT I.ppt
DrTThendralCompSci
 
PPT
PHYSICAL LAYER.ppt
DrTThendralCompSci
 
PPT
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
PPT
COMPUTER NETWORK
DrTThendralCompSci
 
Loader and linker.pptx
DrTThendralCompSci
 
The Application Layer.ppt
DrTThendralCompSci
 
Transport Layer.pptx
DrTThendralCompSci
 
Software Configuration Management.ppt
DrTThendralCompSci
 
Wireless LANs PPT.ppt
DrTThendralCompSci
 
NETWORK LAYER.ppt
DrTThendralCompSci
 
Bluetooth.ppt
DrTThendralCompSci
 
MEDIUM-ACCESS CONTROL SUB LAYER.ppt
DrTThendralCompSci
 
Ethernet.ppt
DrTThendralCompSci
 
DATA-LINK LAYER.ppt
DrTThendralCompSci
 
Software design and Software engineering.pptx
DrTThendralCompSci
 
Software prototyping.pptx
DrTThendralCompSci
 
Requirement Engineering.ppt
DrTThendralCompSci
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
UNIT I.ppt
DrTThendralCompSci
 
PHYSICAL LAYER.ppt
DrTThendralCompSci
 
Unit 1 - Introduction to Software Engineering.ppt
DrTThendralCompSci
 
COMPUTER NETWORK
DrTThendralCompSci
 

Recently uploaded (20)

PPTX
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
DOCX
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
PPTX
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
PDF
Virat Kohli- the Pride of Indian cricket
kushpar147
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
PPTX
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
PPTX
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
PPTX
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PPTX
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
PPTX
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
PPTX
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 
Kanban Cards _ Mass Action in Odoo 18.2 - Odoo Slides
Celine George
 
Unit 5: Speech-language and swallowing disorders
JELLA VISHNU DURGA PRASAD
 
Gupta Art & Architecture Temple and Sculptures.pptx
Virag Sontakke
 
Virat Kohli- the Pride of Indian cricket
kushpar147
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
HEALTH CARE DELIVERY SYSTEM - UNIT 2 - GNM 3RD YEAR.pptx
Priyanshu Anand
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
Basics and rules of probability with real-life uses
ravatkaran694
 
How to Manage Leads in Odoo 18 CRM - Odoo Slides
Celine George
 
BASICS IN COMPUTER APPLICATIONS - UNIT I
suganthim28
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
HISTORY COLLECTION FOR PSYCHIATRIC PATIENTS.pptx
PoojaSen20
 
An introduction to Prepositions for beginners.pptx
drsiddhantnagine
 
Cleaning Validation Ppt Pharmaceutical validation
Ms. Ashatai Patil
 

SOFTWARE QUALITY ASSURANCE.ppt

  • 1. 1 Software Quality Assurance Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 2. 2 What is Software Quality Assurance? Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 3. 3 What is Quality? Quality – developed product meets it’s specification Problems: • Development organization has requirements exceeding customer's specifications (added cost of product development) • Certain quality characteristics can not be specified in unambiguous terms (i.e. maintainability) • Even if the product conforms to it’s specifications, users may not consider it to be a quality product (because users may not be involved in the development of the requirements) Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 4. 4 Quality Management – ensuring that required level of product quality is achieved • Defining procedures and standards • Applying procedures and standards to the product and process • Checking that procedures are followed • Collecting and analyzing various quality data Problems: • Intangible aspects of software quality can’t be standardized (i.e elegance and readability) What is Quality Management? Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 5. 5 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 Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 6. 6 Software Development Standards SDS Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 7. 7 Why are Standards Important? • Standards provide encapsulation of best, or at least most appropriate, practice • Standards provide a framework around which the quality assurance process may be implemented • Standards assist in continuity of work when it’s carried out by different people throughout the software product lifecycle Standards should not be avoided. If they are too extensive for the task at hand, then they should be tailored. Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 8. 8 SDS a Simplistic approach In most mature organizations: • ISO is not the only source of SDS • Process and Product standards are derived independently • Product standards are not created by SQA Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 9. 9 Quality Models Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 10. 10 ISO - 9001 Elements • Quality System Requirements • Management Responsibility • Quality system • Contract review • Design Control • Document control • Purchasing • Purchaser supplied product • Product identification and traceability • Process control • Inspection and testing • Inspection, measuring and test equipment • Inspection and test status • Control of non-conforming product • Corrective action • Handling, storage, preservation, packaging and shipping • Quality records • Internal quality audits • Training • Servicing • Statistical techniques • Software Quality Responsibilities • Management Responsibility • Quality system • Contract review • Design Control • Document control • Purchasing • - • Product identification and traceability • Process control • Inspection and testing • - • Inspection and test status • - • Corrective action • - • Quality records • Internal quality audits • Training • - • Statistical techniques Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 11. 11 Capability Maturity Model KPA’s(CMM) Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 12. 12 CMM Integration Model Architecture Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 13. 13 Quality Improvement – The Wheel of 6Sigma Six Sigma Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 14. 14 Quality Improvement – Six Sigma Process • Visualize – Understand how it works now and imagine how it will work in the future • Commit – Obtain commitment to change from the stakeholders • Prioritize – Define priorities for incremental improvements • Characterize – Define existing process and define the time progression for incremental improvements • Improve – Design and implement identified improvements • Achieve – Realize the results of the change Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 15. 15 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 • If prescribed process is inappropriate for the type of software product which is being developed, then it should be tailored • The standards must be upheld no matter how small the task. Prototyping doesn’t mean no standards. It means tailored standards. • Quality is FREE, if it’s Everyone’s Responsibility! Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 16. 16 Software Quality Planning Element II Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 17. 17 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 be upheld Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 18. 18 Software Quality Control Element III Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 19. 19 Methods of Software Quality Control SQC involves overseeing the software development process to ensure that the procedures and STD’s are being followed The following activities constitute SQC: • Quality Reviews - in-process reviews of processes and products Reviews are the most widely used method of validating the quality of processes and products. Reviews make quality everyone's responsibility. Quality must be built-in. SQE is responsible for writing Quality Engineering Records (QERs) documenting their participation in these reviews. • Tests - end-result verifications of products. These verifications are conducted after the software has been developed. Test procedures are followed during conduct of these activities. SQE is responsible for keeping the logs and some times for writing the test report. • Quality Audits - in-process verifications of processes. These audits are conducted periodically (twice a month) to assess compliance to the process STD’s. Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 20. 20 Quality Reviews • Peer reviews - reviews of processes and products by groups of people. These reviews require pre-review preparation by all participants. If a participant is not prepared, then the review is not effective. This type of review requires participation of the SQE, moderator, recorder, author(s), and one or more critical reviewers. All issues found during these reviews are documented on AR forms. • Walkthroughs - reviews of products by groups of people mostly without preparation. For example a requirements traceability review is a walkthrough. It involves tracing a requirement from customer requirements to the test procedures. All issues found during these reviews are documented on CAR forms. • Desk inspections - reviews of products by individuals. These reviews involve people reviewing products by themselves (not in a group) and then submitting their comments to the author(s). The issues found during these reviews are treated in informal manner. Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 21. 21 Tests • Engineering Dry-run - test conducted by engineering without SQE. These tests include Unit Tests and engineering dry-runs of the formal tests. These engineering dry- runs are used to verify correctness and completeness of the test procedures. Also, these is the final engineering verification of the end-product before sell-off to SQE. All issues found during these tests are documented on STR forms. • SQE Dry-run - test conducted by SQE. These tests include PQT, FAT and SAT dry- runs. These tests are used to verify the end-product before the formal test with the customer. An SQE is sometimes responsible for writing the test report. However, if a separate test group is available, then SQE is relived of this obligation. All issues found during these tests are documented on STR forms. • TFR - test conducted as “RFR - run-for-record” with the SQE and the customer. These tests include FAT and SAT. These tests are conducted to sell the end-product off to the customer. SQE is present at all such tests. All issues found during these tests are documented on STR forms. Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 22. 22 Quality Audits • SQE Audits - audits conducted by SQE to verify that the process STD’s are being followed. Examples of these audits are IPDS compliance, Configuration Control, and Software Engineering Management. All findings for these audits are documented on QER forms. The results of the audits are distributed to the next level of management (above project level). If the issue(s) are not fixed then the findings are elevated to upper management. • Independent Audits - audits conducted by ISO generalists or other independent entities to verify that the process STD’s are being followed. These audits are usually conducted on a division/facility level. The results of these audits are distributed to upper management. Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 23. 23 Software Quality Metrics Element IV Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 24. 24 Metrics Collection • Software measurement - the process of deriving a numeric value for some attribute of a software product or a software process. Comparison of these values to each other and to STD’s allows drawing conclusions about the quality of software products or the process. • The focus of the metrics collecting programs is usually on collecting metrics on program defects and the V&V process. • Metrics can be either Control Metrics or Predictor Metrics • Most of the “Ilities” can not be measured directly unless there’s historical data. Instead tangible software product attributes are measured and the “Ility” factors are derived using predefined relationships between measurable and synthetic attributes. • The boundary conditions for all measurements should be established in advance and then revised once a large databank of historical data has been established Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 25. 25 The Process of Product Measurement 1. Decide what data is to be collected 2. Assess critical (core) components first 3. Measuring component characteristics might require automated tools 4. Look for consistently (unusually only works in a factory) high or low values 5. Analysis of anomalous components should reveal if the quality of product is compromised Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 26. 26 Predictor and Control Metrics Examples of Predictor Analysis: • Code Reuse: SLOC = ELOC = Ported Code • Nesting Depth: ND > 5 = Low Readability • Risk Analysis: # STR P1 > 0 at SAT = Low Product Reliability Examples of Control Analysis: • STR aging: Old STRs = Low Productivity • Requirements Volatility: High Volatility = Scope Creep Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 27. 27 Software Product Metrics There are two categories of software product metrics: 1. Dynamic metrics – this metrics is collected by measuring elements during program’s execution. This metrics help to asses efficiency and reliability of a software product. The parameters collected can be easily measured (i.e. execution time, mean time between failures) 2. Static metrics – this metrics is collected by measuring parameters of the end products of the software development. This metrics help to asses the complexity, understandability, and maintainability of a software product. The SLOC size and ND are the most reliable predictors of understandability, complexity, and maintainability. Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 28. 28 Examples of Software Metric – Chapter 24 Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 29. 29 Examples of OO Software Metric – Chapter 24 Prepared by, Dr.T.Thendral, Assistant Professor, SRCW
  • 30. 30 The end Prepared by, Dr.T.Thendral, Assistant Professor, SRCW