1 / 23

Software Quality Engineering

Software Quality Engineering. Chapters 1-3 Overview, Software Quality and Quality Assurance. Ch.1: Overview and Basics. General Book Information Quality: View/Measure/Model QA Activities/Alternatives From QA to SQE. Ch.1: Main Problems Addressed. Deliver software system that...

Télécharger la présentation

Software Quality Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance

  2. Ch.1: Overview and Basics • General Book Information • Quality: View/Measure/Model • QA Activities/Alternatives • From QA to SQE

  3. Ch.1: Main Problems Addressed • Deliver software system that... • does what it is supposed to do. • does the things correctly. • respectively validate and verify software system to show/demonstrate/prove it (“does"). • Major difficulties for the above: • Size: MLOC products common • Complexity • Environmental stress/constraints • Flexibility/adaptability expected • no silver bullet", but...SQE (software quality engineering) helps

  4. Ch.1: SQE as Answer • Major SQE activities: • Testing: remove defect & ensure quality • Other QA alternatives to testing • How do you know: analysis & modeling • Scope and content hierarchy: Fig.1.1

  5. Ch.1: Book Contents • QA alternatives/activities: • Testing (Part II) • Other alternatives (Part III): • defect prevention (Ch.13) • inspection, review, analysis (Ch.14) • formal verification (Ch.15) • defect containment (Ch.16) • Analysis and improvement (Part IV) • Issues in different QA alternative • Applicability and effectiveness • Dealing with quality problems/defects: • prevention/removal/tolerance • Cost • Improvement (Part IV).

  6. Ch.2: General Quality Views • In Kitchenham & Pfleeger (1996): • Transcendental view: hard to define, but recognized • User view: fitness for purpose or meet user’s needs • Manufacturing view: conform to process standards • Product view: inherent product characteristics. • Value-based view: customers’ willingness to pay. • In Prahalad & Krishnan (1999): • Quality defined by Conformance/adaptability/innovation • Traditional: conformance only • Evolved to include service, manage expectations: • 0 defects -> 0 defections in customers • Domain specific (for info age?): • specificity, stability, evolvability

  7. -ilities • User quality expectations • Performs right functions (correctness) • reliability • usability • Install-ability • inter-operability • adaptability • cost • Producer quality expectations • fulfill contractual obligations • Modifiability (flexibility) • maintainability • portability • profitability

  8. Ch.2: Quality Frameworks • Focus in various frameworks/mega-models different • McCall: factors, criteria, and metrics • Basili: GQM (goal-question-metric) • SEI/CMM: process / levels of maturity • ISO 9000: series of standards • Dromey: component reflects quality-attributes • ISO 9126 top-level quality characteristics (pg. 18): • Functionality: what is needed? • Reliability: function correctly. • Usability: effort to use. • Efficiency: resources needed. • Maintainability: correct/improve/adapt. • Portability: one environment to another. • Alternative frameworks: company-specific, web-based, etc.

  9. Ch.2: Defining Quality • Quality: views and attributes • SQE focus: correctness-related

  10. Ch.2: Defect and Quality • Defect definition – a problem with the software, either with its external behavior or internal characteristics • Failure: external behavior • deviation from expected behavior as specified • Fault: internal characteristics • cause for failures • Error: incorrect/missing human action • conceptual mistakes • Bug/debug: avoid problematic terms, use instead defect detection and removal • Causal relations (not necessarily 1-1): errors => faults => failures: See Fig 2.1 (p.21) • Defect handling/resolution: Chapter 4.

  11. Ch.3: QA: Dealing with Defects • QA: quality assurance • Focus on correctness aspect of quality • QA as dealing with defects. • Many activities: testing & others • How QA alternatives deal with defects => classification of QA alternatives • Classification schemes to deal with defects: • Prevention – error blocking or error source removal • Removal (detect them first) • Containment • Classification illustrated: Fig 3.1 (p.30)

  12. Ch.3: Error/Fault/Failure & QA • Preventing fault injection • Causal/statistical/etc. analyses based • Preventive measures: • education, technology, process, tools • Formal methods: formal verification (faults absent) • Removal of faults • Inspection: faults discovered • Testing: failures trace back to faults • Tolerance of faults • Local fault does not imply global failure • Dynamic containment measures to tolerate faults

  13. Ch.3: Defect Prevention Overview • Error blocking • Error: missing/incorrect actions • Direct intervention • Error blocked => fault injections prevented • Rely on technology/tools/etc. • Error source removal • Root cause analysis =>identify error sources • Removal through education/training/etc. • Details: Chapter 13.

  14. Ch.3: Defect Prevention: Formal Verification Overview • Motivation • Fault present: • revealed through testing/inspection/etc. • Fault absent: formally verify. • Basic ideas • Behavior formally specified: • pre/post conditions, or • as mathematical functions. • Verify “correctness": • intermediate states/steps, • axioms and compositional rules. • Approaches: axiomatic/functional/etc. • Details: Chapter 15.

  15. Ch3: Other Defect Prevention Techniques • Appropriate use of software methodologies and technologies • Use of information hiding principle and abstraction and modularization • Better managed processes • Enforcement of standards • Use of tools

  16. Ch.3: Defect Reduction: Inspection Overview • Artifacts (code/design/test-cases/etc.) from requirements/design/coding/testing/etc. phases. • Informal reviews: • Self conducted reviews. • Independent reviews. • Orthogonality of views desirable. • Formal inspections: • Fagan inspection and variations. • Process and structure. • Individual vs. group inspections. • What/how to check: techniques . • Details: Chapter 14.

  17. Ch.3: Defect Reduction: Testing Overview • Product/Process characteristics: • Object: product type, language, etc. • Scale/order: unit, component, system, … • Who: self, independent, 3rd party • What to check: • Verification vs validation • External specifications (black-box) • Internal implementation (white/clear-box) • Criteria: when to stop? • Coverage of specs/structures. • Reliability => usage-based testing techniques • Much, much more in Part II.

  18. Ch.3: Defect Containment: Fault Tolerance Overview • Motivation • Fault present but removal infeasible/impractical • Fault tolerance => contain defects • FT techniques: break fault-failure link • Recovery: rollback and redo • NVP: N-version programming • fault blocked/out-voted • Details: Chapter 16.

  19. Need to know these for future questions and Master’s exam • What are 11 major software quality factors? • What are seven software quality assurance activities? • What is the difference between verification and validation?

  20. 11 Major Quality Factors • Correctness – meets specs and objectives • Reliability – perform intended function with required precision (includes robustness) • Efficiency - amount of code and resources • Integrity – controlled access • Usability – effort required to learn/operate

  21. Quality Factors cont. • Maintainability – ease locate/fix error • Flexibility (modifiability) – ease to modify operational program • Testability – ease to test • Portability – works in other environments • Interoperability – works with other systems • Reusability – ease of reuse

  22. 7 Activities • Application of technical methods and tools (to ensure QA) • Formal technical reviews • Software testing • Enforcement of standards to process • Control of change (configuration management) • Measurement (product and process) • Record keeping and reporting (information for reviews, etc.)

  23. Discussion Questions • What is essential (but not sufficient) to earn the assessment that the software is dependable? _____________ Other than that, what should we put greater emphasis on to attain high quality software?________________ • Which of the 11 software quality factors concern product revision, which concern product operation and which concern product transition? revision transition operation • Article – Fill in Figure 1.

More Related