Download presentation
Presentation is loading. Please wait.
Published byDonna McCarthy Modified over 9 years ago
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 i n 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 transitionoperation Article – Fill in Figure 1.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.