SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Software Quality




1




                          Overview
§ Everything we have been talking about all semester has
  had something to do with software quality.
    § This is perhaps the most central and important topic of the
      course.
§ We will discuss the meaning of quality, and how to
  achieve and assure it.
§ We will then turn our attention to defects: where they
  come from, what to do with them, and how to prevent
  them.
§ We then discuss the Quality Triangle: People, Processes,
  and Tools.
§ We conclude with a discussion of software metrics.
2




                                                                    1
Objectives
§ Here is what you should be able to do upon completion
  of this module:
    §   Define Software Quality.
    §   Achieve and assure software quality.
    §   Discuss the Return on Investment (ROI) of quality processes.
    §   Explain how to prevent defects.
    § Describe the interrelationship of People, Process and Tools.
    § Describe the Quality organization: CM, Testing, and SQA.
    § Discuss the use of metrics in a software engineering process.




3




                             Outline
§ Software Quality.
    § Definition.
    § Assuring and Achieving quality.
    § ROI (return on investment).
§ Defects:
    § Definition.
    § Preventing defects.
    § Finding and fixing defects.
§ The Quality Triangle: People, Processes, and
  Tools.
§ Software Metrics.
4




                                                                       2
Software Quality
§ Definition of quality: The degree to which a
  system, component, or process meets (1)
  specified requirements, and (2) customer or user
  needs or expectations. 1




5




         Software Quality Criteria
§   Correctness          §   Portability
§   Efficiency           §   Reliability
§   Flexibility          §   Reusability
§   Robustness           §   Testability
§   Interoperability     §   Usability
§   Maintainability      §   Availability
§   Performance          §   Understandability



6




                                                     3
Achieving Quality
§ How do we build quality into a product?




7




             Assuring Quality
§ How do we know we have quality?
§ How do we demonstrate this to others?




8




                                            4
Return On Investment
§ What is the cost of quality?
§ What is the cost of lack of quality?




9




                    Defects
§ Definitions.
§ Preventing defects.
§ Finding and fixing defects.




10




                                         5
Some Definitions
§ Error: A conceptual, syntactic or clerical
  discrepancy which results in one or more faults
  in the software. 1
§ Fault: A specific manifestation of an error. A
  discrepancy in the software which can impair its
  ability to function as intended. An error may be
  the cause for several faults. 1




11




              More Definitions
§ Failure: A software failure occurs when a fault in
  the computer program is evoked by some input
  data, resulting in the computer program not
  correctly computing the required function in an
  exact manner. 2
§ Defect: Either a fault or discrepancy between
  code and documentation that results in mischief
  in the testing, installation, maintenance, or use
  of software. 3

12




                                                       6
References
     1 Glossary
§            of Software Engineering Terminology,
  IEEE Std 610.12-1990
§ 2 Lloyd, D.K., and M. Lipow, Reliability,
  Management, Methods and Mathematics, 2 nd
  Edition, published by the authors, 1977.
§ 3 Dunn, Robert, and Ullman, Richard, Quality
  Assurance for Computer Software, McGraw-Hill,
  New York, 1982.



13




          Categorization of Defects
§ Classified by phase in          § Generic Faults:
  which defect is                   § Computational.
  introduced:                       § Logic.
     § Inadequate or incorrect
                                    § I/O.
       requirements definition.
     § Inadequate or non-           § Data Handling.
       compliant top-level          § Interface.
       design.                      § Database & Data
     § Errors in detailed             Definition.
       design.
                                    § Other.
     § Coding errors.

14




                                                        7
Preventing Defects
§ Standards.
§ Software Engineering Methods.
§ Languages (let the compiler do some of the
  checking).
§ Formal proofs of correctness.
§ Prototyping.
§ Continuous Process Improvement.



15




                Finding Defects
§    Reviews.
§    Walkthroughs.
§    Formal Inspections.
§    Testing.
§    Defect Reporting.




16




                                               8
Removing Defects
§ Configuration Management.
     § Baselines.
     § Change Control Board.
     § Software Configuration.
§ Regression testing.
§ Ripple effect.




17




             The Quality Triangle




                        Processes

18




                                    9
Quality Assurance
§ Organization.
     § Configuration Management.
     § Testing (IV&V).
     § SQA.
§ Standards.
§ Tools / Support Software.




19




        Configuration Management
§ Bill of Materials hierarchy.
§ Software Library.
     § Each version of each component.
§ Configuration Matrix.
     § Version control.
§ Change Control Board (CCB).




20




                                         10
Testing
§ Purpose of testing:
     §   Defect detection.
     §   Verification.
     §   Validation.
     §   Acceptance.




21




                  Phases of Testing

           System Specification   Qualification Test


           Software               Integration Test
           Requirements
           Software Design        String Test


           Code                   Unit Test



22




                                                       11
Software Quality Assurance
§ Independent organization.
§ Concerned with the software process.
§ Guided by Standards.




23




                 Standards
§ Software Quality            § Library Control.
  Assurance Program.          § Reviews and Audits.
§ Tools, Techniques           § Configuration
  and Methodologies.            Management.
§ Computer Program            § Testing.
  Design.                     § Corrective Action.
§ Work Certification.         § Subcontractor
§ Documentation.                Control.
                  Source: Mil-S-52779A, ‘‘Software Quality
                  Assurance Program Requirements’’
24




                                                             12
Tools
§    Requirements.
§    Analysis and Design.
§    Coding.
§    Configuration Management.
§    Testing.
§    Software Quality Assurance.
§    Program Management.



25




                          Metrics
§ Definitions.
     § Product Metrics.
     § Process Metrics.
§ Use of Metrics.
§ Establishing a metrics program.




26




                                    13
Metrics
§ Process Metrics – measure aspects of the
  process.
§ Product Metrics – measure aspects of the
  product.




27




         Software Product Metrics
§ Examples of software metrics:
     § Complexity.
     § Reliability.
     § Usability.
§ Types of metrics:
     § Static – can be counted without running the software.
     § Dynamic – must run the software with
       instrumentation.



28




                                                               14
Reliability -- MTBF
§ MTBF: Mean time between failures.
§ As testing proceeds, the rate of defects found
  (hopefully) decreases.
§ As the defect rate decreases, the MTBF
  increases.
           Defect rate
                                            Goal
                                  MTBF



                            Test time
29




            Software Process Metrics
§ Examples:
     §   Productivity.
     §   Manageability.
     §   Scrap & Rework.
     §   Turnover in Personnel.
§ Types of metrics:
     § Static – counting things.
     § Dynamic – change over time.



30




                                                   15
Use of Metrics
§ Proper uses of metrics:
     § Statistical Process Control.
     § Continuous Process Improvement.
§ Improper uses of metrics:
     § Using product or process metrics to measure people.
     § Setting arbitrary measurement targets.




31




     Establishing a Metrics Program
§ How do you decide what to measure?
     § Measure everything you can think of, and then see
       what is useful.
               or
     § Determine what is useful (i.e., what your goals are) in
       advance, then see what needs to be measured to
       support those goals.
        § GQM – Goal Question Metric




32




                                                                 16

Weitere ähnliche Inhalte

Was ist angesagt?

Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Planguy_davis
 
Beginner guide-to-software-testing
Beginner guide-to-software-testingBeginner guide-to-software-testing
Beginner guide-to-software-testingbiswajit52
 
Jerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3aJerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3aJerry Schwab
 
Sharath Resume
Sharath ResumeSharath Resume
Sharath ResumeSharath Ns
 
Quality - A Priority In Service Engagements
Quality - A Priority In Service EngagementsQuality - A Priority In Service Engagements
Quality - A Priority In Service Engagementsppd1961
 
Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)
Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)
Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)Priti Mule
 
Resume raghu - qa
Resume raghu - qaResume raghu - qa
Resume raghu - qaraghu s
 
Aditya Vad_Resume
Aditya Vad_ResumeAditya Vad_Resume
Aditya Vad_ResumeAditya Vad
 
Brajesh_3+Exp_ Manual Testing
Brajesh_3+Exp_ Manual TestingBrajesh_3+Exp_ Manual Testing
Brajesh_3+Exp_ Manual TestingBrajesh Kumar
 
puneet_pall_resume
puneet_pall_resumepuneet_pall_resume
puneet_pall_resumepuneet pall
 
Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare PresentationMichael Barrett
 
Resume 2.6+ Exp_Rahul Kumar Gandhi
Resume 2.6+ Exp_Rahul Kumar GandhiResume 2.6+ Exp_Rahul Kumar Gandhi
Resume 2.6+ Exp_Rahul Kumar GandhiRahul Gandhi
 

Was ist angesagt? (20)

Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
 
Beginner guide-to-software-testing
Beginner guide-to-software-testingBeginner guide-to-software-testing
Beginner guide-to-software-testing
 
QA standards
QA standardsQA standards
QA standards
 
Jerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3aJerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3a
 
Sharath Resume
Sharath ResumeSharath Resume
Sharath Resume
 
Divya's Resume
Divya's ResumeDivya's Resume
Divya's Resume
 
Quality - A Priority In Service Engagements
Quality - A Priority In Service EngagementsQuality - A Priority In Service Engagements
Quality - A Priority In Service Engagements
 
Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)
Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)
Priti_Mule_ETL and ManualTesting(7.6+yrs Exp)
 
Vidushini Gamage cv
Vidushini Gamage cvVidushini Gamage cv
Vidushini Gamage cv
 
Resume raghu - qa
Resume raghu - qaResume raghu - qa
Resume raghu - qa
 
Padavala Srikanth _Resume
Padavala Srikanth _ResumePadavala Srikanth _Resume
Padavala Srikanth _Resume
 
Ravinder_Access
Ravinder_AccessRavinder_Access
Ravinder_Access
 
Aditya Vad_Resume
Aditya Vad_ResumeAditya Vad_Resume
Aditya Vad_Resume
 
Brajesh_3+Exp_ Manual Testing
Brajesh_3+Exp_ Manual TestingBrajesh_3+Exp_ Manual Testing
Brajesh_3+Exp_ Manual Testing
 
puneet_pall_resume
puneet_pall_resumepuneet_pall_resume
puneet_pall_resume
 
Leading Bank Leverages Growth through Implementation and Upgrade Services
Leading Bank Leverages Growth through Implementation and Upgrade ServicesLeading Bank Leverages Growth through Implementation and Upgrade Services
Leading Bank Leverages Growth through Implementation and Upgrade Services
 
Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare Presentation
 
Resume 2.6+ Exp_Rahul Kumar Gandhi
Resume 2.6+ Exp_Rahul Kumar GandhiResume 2.6+ Exp_Rahul Kumar Gandhi
Resume 2.6+ Exp_Rahul Kumar Gandhi
 
Hema_Testing
Hema_TestingHema_Testing
Hema_Testing
 
01 the value of quality
01   the value of quality01   the value of quality
01 the value of quality
 

Ähnlich wie Quality

Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechIIITA
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdfMUSAIDRIS15
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software QualityAjeng Savitri
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAnuraj S.L
 
Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Murageppa-QA
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandChris Sterling
 
12 Software Quality Assurance Chapter 21.pptx
12 Software Quality Assurance Chapter 21.pptx12 Software Quality Assurance Chapter 21.pptx
12 Software Quality Assurance Chapter 21.pptxkillerguy3
 
Take your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena SoftwareTake your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena SoftwareSerena Software
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] CoverityPerforce
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2bhushan Nehete
 

Ähnlich wie Quality (20)

Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btech
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdf
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality Management
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance Services
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
 
Software testing
Software testingSoftware testing
Software testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Introduction to Software Testing Part 2
Introduction to Software Testing Part 2
 
SQA-Lecture-4.pptx
SQA-Lecture-4.pptxSQA-Lecture-4.pptx
SQA-Lecture-4.pptx
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Testing Plan
Testing PlanTesting Plan
Testing Plan
 
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG KirklandManaging Software Debt - Quality Debt Focus - QASIG Kirkland
Managing Software Debt - Quality Debt Focus - QASIG Kirkland
 
12 Software Quality Assurance Chapter 21.pptx
12 Software Quality Assurance Chapter 21.pptx12 Software Quality Assurance Chapter 21.pptx
12 Software Quality Assurance Chapter 21.pptx
 
Take your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena SoftwareTake your code and quality to the next level by Serena Software
Take your code and quality to the next level by Serena Software
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] Coverity
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Lesson 8...Question Part 2
Lesson 8...Question Part 2Lesson 8...Question Part 2
Lesson 8...Question Part 2
 

Quality

  • 1. Software Quality 1 Overview § Everything we have been talking about all semester has had something to do with software quality. § This is perhaps the most central and important topic of the course. § We will discuss the meaning of quality, and how to achieve and assure it. § We will then turn our attention to defects: where they come from, what to do with them, and how to prevent them. § We then discuss the Quality Triangle: People, Processes, and Tools. § We conclude with a discussion of software metrics. 2 1
  • 2. Objectives § Here is what you should be able to do upon completion of this module: § Define Software Quality. § Achieve and assure software quality. § Discuss the Return on Investment (ROI) of quality processes. § Explain how to prevent defects. § Describe the interrelationship of People, Process and Tools. § Describe the Quality organization: CM, Testing, and SQA. § Discuss the use of metrics in a software engineering process. 3 Outline § Software Quality. § Definition. § Assuring and Achieving quality. § ROI (return on investment). § Defects: § Definition. § Preventing defects. § Finding and fixing defects. § The Quality Triangle: People, Processes, and Tools. § Software Metrics. 4 2
  • 3. Software Quality § Definition of quality: The degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations. 1 5 Software Quality Criteria § Correctness § Portability § Efficiency § Reliability § Flexibility § Reusability § Robustness § Testability § Interoperability § Usability § Maintainability § Availability § Performance § Understandability 6 3
  • 4. Achieving Quality § How do we build quality into a product? 7 Assuring Quality § How do we know we have quality? § How do we demonstrate this to others? 8 4
  • 5. Return On Investment § What is the cost of quality? § What is the cost of lack of quality? 9 Defects § Definitions. § Preventing defects. § Finding and fixing defects. 10 5
  • 6. Some Definitions § Error: A conceptual, syntactic or clerical discrepancy which results in one or more faults in the software. 1 § Fault: A specific manifestation of an error. A discrepancy in the software which can impair its ability to function as intended. An error may be the cause for several faults. 1 11 More Definitions § Failure: A software failure occurs when a fault in the computer program is evoked by some input data, resulting in the computer program not correctly computing the required function in an exact manner. 2 § Defect: Either a fault or discrepancy between code and documentation that results in mischief in the testing, installation, maintenance, or use of software. 3 12 6
  • 7. References 1 Glossary § of Software Engineering Terminology, IEEE Std 610.12-1990 § 2 Lloyd, D.K., and M. Lipow, Reliability, Management, Methods and Mathematics, 2 nd Edition, published by the authors, 1977. § 3 Dunn, Robert, and Ullman, Richard, Quality Assurance for Computer Software, McGraw-Hill, New York, 1982. 13 Categorization of Defects § Classified by phase in § Generic Faults: which defect is § Computational. introduced: § Logic. § Inadequate or incorrect § I/O. requirements definition. § Inadequate or non- § Data Handling. compliant top-level § Interface. design. § Database & Data § Errors in detailed Definition. design. § Other. § Coding errors. 14 7
  • 8. Preventing Defects § Standards. § Software Engineering Methods. § Languages (let the compiler do some of the checking). § Formal proofs of correctness. § Prototyping. § Continuous Process Improvement. 15 Finding Defects § Reviews. § Walkthroughs. § Formal Inspections. § Testing. § Defect Reporting. 16 8
  • 9. Removing Defects § Configuration Management. § Baselines. § Change Control Board. § Software Configuration. § Regression testing. § Ripple effect. 17 The Quality Triangle Processes 18 9
  • 10. Quality Assurance § Organization. § Configuration Management. § Testing (IV&V). § SQA. § Standards. § Tools / Support Software. 19 Configuration Management § Bill of Materials hierarchy. § Software Library. § Each version of each component. § Configuration Matrix. § Version control. § Change Control Board (CCB). 20 10
  • 11. Testing § Purpose of testing: § Defect detection. § Verification. § Validation. § Acceptance. 21 Phases of Testing System Specification Qualification Test Software Integration Test Requirements Software Design String Test Code Unit Test 22 11
  • 12. Software Quality Assurance § Independent organization. § Concerned with the software process. § Guided by Standards. 23 Standards § Software Quality § Library Control. Assurance Program. § Reviews and Audits. § Tools, Techniques § Configuration and Methodologies. Management. § Computer Program § Testing. Design. § Corrective Action. § Work Certification. § Subcontractor § Documentation. Control. Source: Mil-S-52779A, ‘‘Software Quality Assurance Program Requirements’’ 24 12
  • 13. Tools § Requirements. § Analysis and Design. § Coding. § Configuration Management. § Testing. § Software Quality Assurance. § Program Management. 25 Metrics § Definitions. § Product Metrics. § Process Metrics. § Use of Metrics. § Establishing a metrics program. 26 13
  • 14. Metrics § Process Metrics – measure aspects of the process. § Product Metrics – measure aspects of the product. 27 Software Product Metrics § Examples of software metrics: § Complexity. § Reliability. § Usability. § Types of metrics: § Static – can be counted without running the software. § Dynamic – must run the software with instrumentation. 28 14
  • 15. Reliability -- MTBF § MTBF: Mean time between failures. § As testing proceeds, the rate of defects found (hopefully) decreases. § As the defect rate decreases, the MTBF increases. Defect rate Goal MTBF Test time 29 Software Process Metrics § Examples: § Productivity. § Manageability. § Scrap & Rework. § Turnover in Personnel. § Types of metrics: § Static – counting things. § Dynamic – change over time. 30 15
  • 16. Use of Metrics § Proper uses of metrics: § Statistical Process Control. § Continuous Process Improvement. § Improper uses of metrics: § Using product or process metrics to measure people. § Setting arbitrary measurement targets. 31 Establishing a Metrics Program § How do you decide what to measure? § Measure everything you can think of, and then see what is useful. or § Determine what is useful (i.e., what your goals are) in advance, then see what needs to be measured to support those goals. § GQM – Goal Question Metric 32 16