Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance."— 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 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.


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

Similar presentations


Ads by Google