SlideShare une entreprise Scribd logo
1  sur  27
COMPUTER SCIENCE DEPERTMENT (M-TECH)
GURU NANAK DEV ENGINEERING COLLEGE (AN AUTONOMOUS
COLLEGE UNDER UGC ACT), LUDHIANA.
1
What is Software Quality?
According to the IEEE, Software quality is:
 The degree to which a system, component, or process
meets specified requirements.
 The degree to which a system, component, or process
meets customer or user needs or expectations.
2
Importance of Software Quality
Software is a major component of computer systems (a
bout 80% of the cost) – used for
– communication (e.g. phone system, email system)
– health monitoring,
– transportation (e.g. automobile, aeronautics),
– economic exchanges (e.g. e-commerce),
– entertainment , etc.
● Software defects are extremely costly in term of
– money
– reputation
– loss of life
3
Software Quality Factors
4
SOFTWARE QUALITY FACTORS
Product operation factors
Product revision factors
Product transition factors
• Correctness
• Reliability
• Efficiency
• Integrity
• Usability
• Maintainability
• Flexibility
• Testability
• Portability
• Reusability
• Interoperability
Software Quality Factors
● Correctness
– accuracy, completeness of required output
– up-to-dateness, availability of the information
● Reliability
– maximum failure rate
● Efficiency
– resources needed to perform software function
●Integrity
– software system security, access rights
● Usability
– ability to learn, perform required task
5
Software Quality Factors
● Maintainability
– effort to identify and fix software failures (modularity,
documentation, etc)
● Flexibility
– degree of adaptability (to new customers, tasks, etc)
● Testability
-support for testing (e.g. log files, automatic diagnostics
, etc)
6
Software Quality Factors
● Portability
–
adaptation to other environments (hardware, software)
● Reusability
– use of software components for other projects
● Interoperability
– ability to interface with other components/systems
7
What is Software Quality
Assurance?
According to the IEEE , Software quality assurance is:
- A planned and systematic pattern of all actions
necessary to provide adequate confidence that an item
or product conforms to established technical
requirements.
- A set of activities designed to evaluate the process by
which the products are developed or manufactured.
8
What is Software Quality
Assurance?
A systematic, planned set of actions necessary to provide
adequate confidence that the software development
process or the maintenance process of a software system pr
oduct conforms to established functional technical
as well as with the managerial requirements
of keeping the schedule and operating within the
budgetary confines.
9
Objectives of SQA in development
(1) Assuring an acceptable level of confidence that the software
will conform to functional technical requirements.
(2) Assuring an acceptable level of confidence that the software
will conform to managerial scheduling and budgetary
requirements.
(3) Initiation and management of activities for the improvement
and greater efficiency of software development and SQA
activities.
10
Objectives of SQA in maintenance
(1) Assuring an acceptable level of confidence that the software
maintenance activities will conform to the functional
technical requirements.
(2) Assuring an acceptable level of confidence that the software
maintenance activities will conform to managerial
scheduling and budgetary requirements.
(3) Initiate and manage activities to improve and increase the
efficiency of software maintenance and SQA activities.
11
Three General Principles of QA
● Know what you are doing
● Know what you should be doing
● Know how to measure the difference
12
Three General Principles of QA
● Know what you are doing
– understand what is being built, how it is being built
and what it currently does
– suppose a software development process with
- management structure (milestones, scheduling)
-reporting policies
-tracking
13
Three General Principles of QA
Know what you should be doing
– having explicit requirements and specifications
– suppose a software development process with
●requirements analysis,
● acceptance tests,
●frequent user feedback
14
Three General Principles of QA
Know how to measure the difference
– having explicit measures comparing what is being
done from what should be done
– four complementary methods:
●formal methods – verify mathematically specified properties
●testing – explicit input to exercise software and check for
expected output
●inspections – human examination of requirements, design,
code, ... based on checklists
● metrics – measures a known set of properties related to quality
15
Software Quality Assurance
SQA: Comprehensive life-cycle approach concerned with
every aspect of the software product development process
●Includes
– comprehensive set of quality objectives
– measurable quality attributes (quality metrics) to assess progress
toward the objectives
–
quantitative certification targets for all component of the software
development processes.
● Takes into account:
– customer product requirements,
– customer quality requirements, and
– corporate quality requirements.
16
SQASQA includes
● Verification
– are we building the product right ?
– performed at the end of a phase to ensure
that requirements established during
previous phase have been met
● Validation
– are we building the right product ?
– performed at the end of the development
process to ensure compliance with product
requirements
17
SQA
18
Requirement
Architecting
Design Low Design
Coding
SQA
SQA includes
● Defect Prevention
– prevents defects from occurring in the first place
– Activities: training, planning, and simulation
● Defects detection
– finds defects in a software artifact
– Activities: inspections, testing or measuring
● Defects removal
– isolation, correction, verification of fixes
– Activities: fault isolation, fault analysis, regression testing
19
SQA
Typical activities of a SQA process
– Requirements validation.
– Design verification.
– Static code checking (inspection/reviews).
– Dynamic testing.
– Process engineering and standards.
– Metrics and continuous improvement
20
Levels of SQA
-Testing
-Validation
- Certification
21
Levels of SQA
Testing
- The common view is to eliminate errors.
- All that can be done by putting the system through a
“Fail Test” cycle to determine what will make it fail.
- A successful test finds error. All strategies
implemented in system testing can be used
here.
22
SQA levels
Validation
- Checks validity of system in both simulated and live environment as
follows-
1) Software undergoes through alpha testing in which errors and failures
based on simulated user requirements are verified and studied.
2) The modified software is then subjected to beta testing in actual user’s
site or live environment.
3) The system is then used regularly with live transactions.
4) After a scheduled time failures and errors are documented and final
corrections and enhancements are made before package is released for
use.
23
SQA levels
Certification
-A package that is certified goes through a team of
specialists who test, review and determine how well it
meets the user’s requirement.
-Certification is actually issued after the package passes
the test.
-Certification, however, does not assure that it is the best
package to adopt; it only attests that it will perform what
the user claims.
24
Technique used in SQA
Audit
 Used to:
 Review Management
 Technical Processes
 Assurance Processes
 Provide an indication of the Quality and Status of the
Software Product
 SQA Product is an Audit Report to Management
consisting of Findings and Recommendations to bring
development up to par with Standards and Procedures
25
Tools
Many different Tools on the market today for SQA
Each Tool works differently but accomplishes same
goal:
 Help Improve the Development Process of a Computer
System
 Look at two different Tools:
 Configuration and Problem Management
 Borland StarTeam and Lucent Technologies Sablime
 Testing Software
 Programming Research QA C++ and Parasoft Jtest
26
Benefits of SQA in projects
 Essential to the Development Process
 Without SQA, many Development Groups would not
reach their release goals/deadlines on time
 Spend too much time Revisiting Requirements,
Design, Code, and Documentation without SQA
 Lowers time spent on mundane areas and lets more
time be focused on important areas
 Decreases the time from Development to Deployment
 Can help catch errors before they are too costly to fix
 Standards can be used across many different Projects
27

Contenu connexe

Tendances

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Rajeev Sharan
 
Validation testing
Validation testingValidation testing
Validation testing
Slideshare
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
Kittitouch Suteeca
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
Udayakumar Sree
 

Tendances (20)

Software Quality Assurance
Software Quality Assurance Software Quality Assurance
Software Quality Assurance
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Validation testing
Validation testingValidation testing
Validation testing
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
System testing
System testingSystem testing
System testing
 
Ch 8 configuration management
Ch 8 configuration managementCh 8 configuration management
Ch 8 configuration management
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
 
Software Quality Models: A Comparative Study paper
Software Quality Models: A Comparative Study  paperSoftware Quality Models: A Comparative Study  paper
Software Quality Models: A Comparative Study paper
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
software quality
software qualitysoftware quality
software quality
 

Similaire à Software quality assurance

1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt
1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt
1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt
MeseAK
 
In computing, a database is an organized collection of data or a type of data...
In computing, a database is an organized collection of data or a type of data...In computing, a database is an organized collection of data or a type of data...
In computing, a database is an organized collection of data or a type of data...
MugizhanNagendiran
 
Function of software quality assurance lecture 2
Function of software quality assurance lecture 2Function of software quality assurance lecture 2
Function of software quality assurance lecture 2
Abdul Basit
 

Similaire à Software quality assurance (20)

SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptxSE - Lecture 7 - Software Quality  Reliability Mgmt - in lecture.pptx
SE - Lecture 7 - Software Quality Reliability Mgmt - in lecture.pptx
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt
1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt
1412676jhhhhhhhhhhhhhhhhhhhbnvvnvnvvv2.ppt
 
Qa
QaQa
Qa
 
Qa
QaQa
Qa
 
Qa
QaQa
Qa
 
Qa
QaQa
Qa
 
SQA
SQASQA
SQA
 
software engineering
software engineeringsoftware engineering
software engineering
 
In computing, a database is an organized collection of data or a type of data...
In computing, a database is an organized collection of data or a type of data...In computing, a database is an organized collection of data or a type of data...
In computing, a database is an organized collection of data or a type of data...
 
SQA-Lecture-4.pptx
SQA-Lecture-4.pptxSQA-Lecture-4.pptx
SQA-Lecture-4.pptx
 
Function of software quality assurance lecture 2
Function of software quality assurance lecture 2Function of software quality assurance lecture 2
Function of software quality assurance lecture 2
 
Software_Verification_and_Validation.ppt
Software_Verification_and_Validation.pptSoftware_Verification_and_Validation.ppt
Software_Verification_and_Validation.ppt
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
22317-DIPLOMA_SEM4_software_engg-chap-06.ppt
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Software Quality assurance.pptx
Software Quality assurance.pptxSoftware Quality assurance.pptx
Software Quality assurance.pptx
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
 
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxLecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
 

Software quality assurance

  • 1. COMPUTER SCIENCE DEPERTMENT (M-TECH) GURU NANAK DEV ENGINEERING COLLEGE (AN AUTONOMOUS COLLEGE UNDER UGC ACT), LUDHIANA. 1
  • 2. What is Software Quality? According to the IEEE, Software quality is:  The degree to which a system, component, or process meets specified requirements.  The degree to which a system, component, or process meets customer or user needs or expectations. 2
  • 3. Importance of Software Quality Software is a major component of computer systems (a bout 80% of the cost) – used for – communication (e.g. phone system, email system) – health monitoring, – transportation (e.g. automobile, aeronautics), – economic exchanges (e.g. e-commerce), – entertainment , etc. ● Software defects are extremely costly in term of – money – reputation – loss of life 3
  • 4. Software Quality Factors 4 SOFTWARE QUALITY FACTORS Product operation factors Product revision factors Product transition factors • Correctness • Reliability • Efficiency • Integrity • Usability • Maintainability • Flexibility • Testability • Portability • Reusability • Interoperability
  • 5. Software Quality Factors ● Correctness – accuracy, completeness of required output – up-to-dateness, availability of the information ● Reliability – maximum failure rate ● Efficiency – resources needed to perform software function ●Integrity – software system security, access rights ● Usability – ability to learn, perform required task 5
  • 6. Software Quality Factors ● Maintainability – effort to identify and fix software failures (modularity, documentation, etc) ● Flexibility – degree of adaptability (to new customers, tasks, etc) ● Testability -support for testing (e.g. log files, automatic diagnostics , etc) 6
  • 7. Software Quality Factors ● Portability – adaptation to other environments (hardware, software) ● Reusability – use of software components for other projects ● Interoperability – ability to interface with other components/systems 7
  • 8. What is Software Quality Assurance? According to the IEEE , Software quality assurance is: - A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. - A set of activities designed to evaluate the process by which the products are developed or manufactured. 8
  • 9. What is Software Quality Assurance? A systematic, planned set of actions necessary to provide adequate confidence that the software development process or the maintenance process of a software system pr oduct conforms to established functional technical as well as with the managerial requirements of keeping the schedule and operating within the budgetary confines. 9
  • 10. Objectives of SQA in development (1) Assuring an acceptable level of confidence that the software will conform to functional technical requirements. (2) Assuring an acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements. (3) Initiation and management of activities for the improvement and greater efficiency of software development and SQA activities. 10
  • 11. Objectives of SQA in maintenance (1) Assuring an acceptable level of confidence that the software maintenance activities will conform to the functional technical requirements. (2) Assuring an acceptable level of confidence that the software maintenance activities will conform to managerial scheduling and budgetary requirements. (3) Initiate and manage activities to improve and increase the efficiency of software maintenance and SQA activities. 11
  • 12. Three General Principles of QA ● Know what you are doing ● Know what you should be doing ● Know how to measure the difference 12
  • 13. Three General Principles of QA ● Know what you are doing – understand what is being built, how it is being built and what it currently does – suppose a software development process with - management structure (milestones, scheduling) -reporting policies -tracking 13
  • 14. Three General Principles of QA Know what you should be doing – having explicit requirements and specifications – suppose a software development process with ●requirements analysis, ● acceptance tests, ●frequent user feedback 14
  • 15. Three General Principles of QA Know how to measure the difference – having explicit measures comparing what is being done from what should be done – four complementary methods: ●formal methods – verify mathematically specified properties ●testing – explicit input to exercise software and check for expected output ●inspections – human examination of requirements, design, code, ... based on checklists ● metrics – measures a known set of properties related to quality 15
  • 16. Software Quality Assurance SQA: Comprehensive life-cycle approach concerned with every aspect of the software product development process ●Includes – comprehensive set of quality objectives – measurable quality attributes (quality metrics) to assess progress toward the objectives – quantitative certification targets for all component of the software development processes. ● Takes into account: – customer product requirements, – customer quality requirements, and – corporate quality requirements. 16
  • 17. SQASQA includes ● Verification – are we building the product right ? – performed at the end of a phase to ensure that requirements established during previous phase have been met ● Validation – are we building the right product ? – performed at the end of the development process to ensure compliance with product requirements 17
  • 19. SQA SQA includes ● Defect Prevention – prevents defects from occurring in the first place – Activities: training, planning, and simulation ● Defects detection – finds defects in a software artifact – Activities: inspections, testing or measuring ● Defects removal – isolation, correction, verification of fixes – Activities: fault isolation, fault analysis, regression testing 19
  • 20. SQA Typical activities of a SQA process – Requirements validation. – Design verification. – Static code checking (inspection/reviews). – Dynamic testing. – Process engineering and standards. – Metrics and continuous improvement 20
  • 22. Levels of SQA Testing - The common view is to eliminate errors. - All that can be done by putting the system through a “Fail Test” cycle to determine what will make it fail. - A successful test finds error. All strategies implemented in system testing can be used here. 22
  • 23. SQA levels Validation - Checks validity of system in both simulated and live environment as follows- 1) Software undergoes through alpha testing in which errors and failures based on simulated user requirements are verified and studied. 2) The modified software is then subjected to beta testing in actual user’s site or live environment. 3) The system is then used regularly with live transactions. 4) After a scheduled time failures and errors are documented and final corrections and enhancements are made before package is released for use. 23
  • 24. SQA levels Certification -A package that is certified goes through a team of specialists who test, review and determine how well it meets the user’s requirement. -Certification is actually issued after the package passes the test. -Certification, however, does not assure that it is the best package to adopt; it only attests that it will perform what the user claims. 24
  • 25. Technique used in SQA Audit  Used to:  Review Management  Technical Processes  Assurance Processes  Provide an indication of the Quality and Status of the Software Product  SQA Product is an Audit Report to Management consisting of Findings and Recommendations to bring development up to par with Standards and Procedures 25
  • 26. Tools Many different Tools on the market today for SQA Each Tool works differently but accomplishes same goal:  Help Improve the Development Process of a Computer System  Look at two different Tools:  Configuration and Problem Management  Borland StarTeam and Lucent Technologies Sablime  Testing Software  Programming Research QA C++ and Parasoft Jtest 26
  • 27. Benefits of SQA in projects  Essential to the Development Process  Without SQA, many Development Groups would not reach their release goals/deadlines on time  Spend too much time Revisiting Requirements, Design, Code, and Documentation without SQA  Lowers time spent on mundane areas and lets more time be focused on important areas  Decreases the time from Development to Deployment  Can help catch errors before they are too costly to fix  Standards can be used across many different Projects 27