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

Slides:



Advertisements
Similar presentations
Testing and Quality Assurance
Advertisements

Chapter 4 Quality Assurance in Context
Software Engineering Introduction and Overview RA402 jcmtCSE1320 Intermediate Programming Essence and Accident Inherent Difficulties –Complexity –Conformity.
Chapter 17 I.Omaima Al-Matrafi
CHAPTER 1 Introduction to SQA.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Software project management (intro) Quality assurance.
1 Software Engineering II Presentation Software Maintenance.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
Software Quality Assurance For Software Engineering && Architecture and Design.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
Introduction to Software Testing
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Chapter 24 - Quality Management
Chapter 13: Defect Prevention & Process Improvement
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Software Quality SEII-Lecture 15
CS4472A : Specification, Testing and Quality Assurance Instructor: Shaimaa Ali.
Ch.4: QA in Context  QA and the overall development context Defect handling/resolution How alternative QA activities fit in process Alternative perspectives:
Managing Software Quality
COURSE TITLE: 1 Software Quality Assurance. Course Aims Introduction to software quality assurance. Software testing terminology. Role and responsibility.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
Software Quality Assurance Activities
Chapter 6: Testing Overview Basic idea of testing - execute software and observe its behavior or outcome. If failure is observed, analyze execution record.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Quality Applied throughout SW Engineering Process Encompasses ▫ Analysis, design, coding, testing, tools ▫ Formal tech reviews ▫ Multi-tiered.
Week 2 Quality Assurance Quality Assurance in Context
Software Quality Assurance SE Software Quality Assurance What is “quality”?
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Quality : The Elusive Target
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Quality Assurance.
Software quality factors
Ensure that the right functions are performed Ensure that the these functions are performed right and are reliable.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
CSE 303 – Software Design and Architecture
Project Management Quality Management. Introduction Project planning Gantt chart and WBS Project planning Network analysis I Project planning Network.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Lecture#1 Introduction….Cont Software Quality Engineering Subject : 19(A/B) – {Assignment /Query}
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Chapter 2 Object-Oriented Paradigm Overview
TOTAL QUALITY MANAGEMENT
Software Quality Control and Quality Assurance: Introduction
Software Quality Management
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
Software Quality and Testing (CSC 4133)
Quality Management chapter 27.
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Software Quality Assurance
Verification & Validation
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Introduction to Software Testing
Charakteristiky kvality
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software Quality Assurance
Software Quality Assurance Lecture 3
Chapter 13 Quality Management
Software Quality Assurance Lecture 2
Presented by KARRI GOVINDA RAO ,
Presentation transcript:

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... 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

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

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).

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

-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

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.

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

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.

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)

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

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.

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.

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

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.

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.

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.

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?

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

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

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.)

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.