Software Quality Prepared By: Rooshabh Kothari Assistant Professor T & P Co-ordinator CSE/IT Department 1.

Slides:



Advertisements
Similar presentations
Presentation by Prabhjot Singh
Advertisements

Chapter 17 I.Omaima Al-Matrafi
Software project management (intro) Quality assurance.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Validating and Improving Test-Case Effectiveness Author: Yuri Chernak Presenter: Lam, Man Tat.
1 SOFTWARE QUALITY ASSURANCE Basic Principles. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance SW Quality:
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Software Process and Product Metrics
12 Steps to Useful Software Metrics
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Chapter 24 - Quality Management
Capability Maturity Model
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
Software Quality SEII-Lecture 15
Software Project Management Fifth Edition
 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.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
N By: Md Rezaul Huda Reza n
CPIS 357 Software Quality & Testing
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
CSE 303 – Software Design and Architecture
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Chapter 6 : Software Metrics
Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Software Measurement & Metrics
This chapter is extracted from Sommerville’s slides. Text book chapter
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Software Quality : The Elusive Target
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Chapter 13: Software Quality Project Management Afnan Albahli.
Lecture 2 Quality as the motivation for Software Design References:Braude, Chapters 0 and 1 My 2001 lecture notes on Quality Budgen Software Design Meyer.
CSE 303 – Software Design and Architecture
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Metrics "A science is as mature as its measurement tools."
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
SOFTWARE QUALITY ASSURANCE LECTURE # 2 SOFTWARE QUALITY.
CS223: Software Engineering Lecture 31: Acceptance Testing.
TOTAL QUALITY MANAGEMENT
Software Quality Control and Quality Assurance: Introduction
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
Software Verification and Validation
SEVERITY & PRIORITY RELATIONSHIP
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Lecture 15: Technical Metrics
Software Quality Assurance
Software Testing and Quality Assurance
12 Steps to Useful Software Metrics
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Software Quality Engineering CS- 449
Software Quality Assurance Lecture 3
Baisc Of Software Testing
Capability Maturity Model
Software Quality Assurance 2015
Capability Maturity Model
Software Verification and Validation
Presentation transcript:

Software Quality Prepared By: Rooshabh Kothari Assistant Professor T & P Co-ordinator CSE/IT Department 1

2 Outline of the Chapter Five Views of Software Quality McCall’s Quality Factors and Criteria

3 Five Views of Software Quality Transcendental view User view Manufacturing view Product view Value-based view

4 Transcendental view ◦ Quality is something that can be recognized through experience, but not defined in some tracaeble form. ◦ Quality is viewed to be something ideal, which is too complex to lend itself to be precisely defined. ◦ A good quality object stands out, and it is easily recognized. ◦ Because of the philosophical nature of the transcendental view, no effort is made to express it using concrete measures.

User view ◦ Quality concerns the extent to which a product meetsuser needs and expectations. ◦ Is a product fit for use?  A product is of good quality if it satisfies a largenumber of users.  It is useful to identify the product attributes whichthe users consider to be important. ◦ This view may encompass many subject elements,such as usability, reliability, and efficiency. 5

6 Manufacturing view ◦ This view has its genesis in the manufacturing industry – auto and electronics. ◦ Key idea: Does a product satisfy the requirements?  Any deviation from the requirements is seen as reducing the quality of the product. ◦ The concept of process plays a key role. ◦ Products are manufactured “right the first time” so that the cost is reduced  Development cost  Maintenance cost ◦ Conformance to requirements leads to uniformity in products. ◦ Some argue that such uniformity does not guarantee quality. ◦ Product quality can be incrementally improved by improving the process.

7 Product view ◦ The central hypothesis in the product view is this: if a product is manufactured with good internal properties, then it will have good external properties. ◦ One can explore the causal relationship between internal properties and external qualities. ◦ In this view, the current quality level of a product indicates the presence or absence of measurable product properties. ◦ E.g.. Product view of software quality is that high degree of modularity, which is an internal property, makes software testable and maintainable.

Value-based view ◦ This represents the merger of two concepts:excellence and worth. ◦ Quality is a measure of excellence, and valueis a measure of worth. ◦ Central idea  How much a customer is willing to pay for acertain level of quality.  Quality is meaningless if a product does not makeeconomic sense. 8

9 Measuring quality: Measurement allows us to have a quantitative view of the quality concept. Reasons for developing a quantitative view of quality ◦ Measurement allows us to establish baselines for qualities. Developers must know the minimum level of quality they must deliver to be acceptable. ◦ Measurement is key to process improvement. ◦ The needs for improvements can be investigated after performing measurements.

10 Measurement of user’s view The users view consist of a number of quality factors, such as functionality, reliability, and usability. It is easy to measure how much of the functionality a software product delivers by designing at least one test case for each functionality. A product may require multiple test cases for the same functionality if the functionality is to be performed in different execution environments. Then the ratio of the number of passed test cases to the total number of test cases designed to verify the functionalities is measure of the functionalities delivered by the product.  quality concept is broken down into component parts until each can be stated in terms of directly measurable qualities.  Example: Usability can be broken down into  Learnability  Understandability  Operability

11 Measurement of manufacturer’s view ◦ Manufacturers are interested in defect count and rework cost. ◦ Defect count: The total number of defects detected during development and operation.  It is a measure of the quality of the work produced.

 One can analyze the defects as follows.  For each defect, identify the development phase in which it wasintroduced and the phase in which it was discovered. Let us assumethat a large fraction of the defects are introduced in therequirements gathering phase, and those are discovered duringsystem testing. Then, we can conclude that requirement analysiswas not adequately performed. We can also conclude that workdone subsequently, such as design verification and unit testing, werenot of high standard.  Categorize the defects, say, based on modules. For example if a large number of defects are found in a communication module in a distributed application, more resourcescould be allocated to train developers in the details of thecommunication system. Defect density: Number of defects per 1000 lines of code.  Separate the defects found during operation from those foundduring development. 12

13 ◦ Rework cost: How much does it cost to fix the known defects?  Development rework cost: This is the rework cost incurred before a product is released. This is a measure of development efficiency.  Operation rework cost: This is the rework cost incurred when a product is in operation. This is a measure of the delivered quality.

14 McCall’s Quality Factors and Criteria Quality Factors ◦ McCall, Richards, and Walters studied the concept of software quality in terms of two key concepts as follows:  quality factors, and  quality criteria. ◦ A quality factor represents the behavioral characteristic of a system.  Examples: correctness, reliability, efficiency, testability, portability, …

15 ◦ A quality criterion is an attribute of a quality factor that is related to software development.  Example:  Modularity is an attribute of the architecture of a software system.  A highly modular software allows designers to put cohesive components in one module, thereby increasing the maintainability of the system. ◦ McCall et al. identified 11 quality factors (Table 17.1.)

16 McCall’s Quality Factors and Criteria Table 17.1: McCall’s quality factors [10].

17 McCall’s Quality Factors and Criteria The 11 quality factors defined in Table 17.1 have been grouped into three broad categories (See Table 17.2.) ◦ Product operation ◦ Product revision ◦ Product transition Table 17.2: Categorization of McCall’s quality factors [10].

18

19 Quality Criteria ◦ A quality criterion is an attribute of a quality factor that is related to software development. ◦ Example:  Modularity is an attribute of the architecture of a software system.  A highly modular software allows designers to put cohesive components in one module, thereby increasing the maintainability of the system. ◦ In Table 17.3, we have listed 23 quality criteria.

20 Table 17.3: McCall’s quality criteria [10].

21 Relationship Between Quality Factors and Quality Criteria ◦ Each quality factor is positively influenced by a set of quality criteria, and the same quality criterion impacts a number of quality factors.  Example: Simplicity impacts reliability, usability, and testability. ◦ If an effort is made to improve one quality factor, another quality factor may be degraded.  Portable code may be less efficient. ◦ Some quality factors positively impact others.  An effort to improve the correctness of a system will increase its reliability.

22 Figure 17.1: Relation between quality factors and quality criteria [10].

Thank you 23