Software Quality Assurance 1 Quality Concepts Quality Control

  • Slides: 19
Download presentation
Software Quality Assurance 1. Quality Concepts - Quality Control - Quality Assurance - Cost

Software Quality Assurance 1. Quality Concepts - Quality Control - Quality Assurance - Cost of Quality - Software Quality Assurance - Software Reviews - Formal Technical Reviews 2. Quality Standards 1

What is Quality? • Quality can mean different things to different people • Quality

What is Quality? • Quality can mean different things to different people • Quality = Customer satisfaction • Quality = “Fitness for purpose” • Quality = meeting the customer’s requirements, – at the agreed cost, – within the agreed timescales. 2

Standard Definitions of (Software) Quality • IEEE Glossary: Degree to which a system, component,

Standard Definitions of (Software) Quality • IEEE Glossary: Degree to which a system, component, or process meets – (1) specified requirements, and – (2) customer/user needs or expectations 3

Quality Assurance • • Quality assurance activities are determined before production work begins and

Quality Assurance • • Quality assurance activities are determined before production work begins and these activities are performed while the product is being developed. Methodology and standards development are examples of QA activities Goal To improve development and test processes so that defects do not arise when the product is being developed. To prevent defects with a focus on the process used to make the product. Focus QA focuses on defect prevention. therefore, it is proactive process.

Quality Control Quality control activities are performed after the product is developed. Testing is

Quality Control Quality control activities are performed after the product is developed. Testing is one example of a QC activity, but there are others such as inspections. Goal • To identify defects after a product is developed and before it's released • To ensures that the final product is error free and satisfactory. Focus • Focuses on defect detection. therefore, is a reactive process.

Difference between QA & QC QA QC • Process Oriented Product Oriented • It

Difference between QA & QC QA QC • Process Oriented Product Oriented • It is proactive It is reactive • It focuses on defect prevention It focuses on defect detection • Its activities are determined before development and performed during the product development Its activities are performed product development • To improve development process To ensure end product is error free • Methodology and standards development are examples Testing and inspection are examples after

Software Quality Assurance • Goal: to achieve high-quality software product • Software quality assurance

Software Quality Assurance • Goal: to achieve high-quality software product • Software quality assurance is an umbrella activity that is applied throughout the software process. • SQA encompasses: • (1) A quality management approach • (2) Effective software engineering technology • (3) Formal technical reviews • (4) A multi-tiered testing strategy • (5) Document change control • (6) Software development standard and its control procedure • (7) Measurement and reporting mechanism

Cost of Quality • It includes all costs involved in the achieving the quality

Cost of Quality • It includes all costs involved in the achieving the quality or perform quality related work • Quality cost includes: 1. Prevention cost Prevention Costs are any costs that are incurred in an effort to minimize appraisal and failure costs. - Quality planning - Formal technical reviews - Testing equipment - Training •

2. Appraisal cost • Appraisal costs constitute all costs that go testing and inspection

2. Appraisal cost • Appraisal costs constitute all costs that go testing and inspection of products: – In-process and inter-process inspection – Equipment calibration and maintenance – Testing 3. Failure cost • It includes two types of failure costs. – – Internal failure cost External failure cost

 • Internal failure costs are costs that are involved as a result of

• Internal failure costs are costs that are involved as a result of identifying defective products before they are shipped to customers - rework, repair, Redesign of hardware/software External failure cost • Costs that are related to defects found after delivery of the product to the customer. External failure costs are generally the highest - Complaint resolution - Product return and replacement - Help line support - Warranty Claims

Software Review • • What is software reviews? A “filter” for the software engineering

Software Review • • What is software reviews? A “filter” for the software engineering process. A software review is a way of using a group of people to point out needed improvements in the product of a single person or team Purpose: serves to uncover errors in analysis, design, coding, and testing. Why software reviews? – Easy to catch the errors in engineers’ work – identify the needed improvements of the parts in a product

 • Different types of reviews: – Informal reviews – Formal reviews Informal Reviews:

• Different types of reviews: – Informal reviews – Formal reviews Informal Reviews: • Few people participate • No structured meeting • Meeting minutes are not prepared Formal Reviews: • Structured meeting • Properly organized. • Meeting minutes are prepared

ISO 9000 • The ISO 9000 family of standards is related to quality management

ISO 9000 • The ISO 9000 family of standards is related to quality management and designed to help organizations ensure that they meet the needs of customers and other stakeholders • It provides guidelines intended to increase business efficiency and customer satisfaction. • The goal of ISO 9000 is to embed a quality management system within an organization, increasing productivity, reducing unnecessary costs, and ensuring quality of processes and products

How does ISO 9000 work? • ISO 9000 is set up as a collection

How does ISO 9000 work? • ISO 9000 is set up as a collection of guidelines that help a company establish, maintain, and improve a quality management system. • ISO 9000 is not a rigid set of requirements, and that organizations have flexibility in how they implement their quality management system. • This freedom allows the ISO 9000 standard to be used in a wide range of organizations, and in businesses large and small.

ISO 9000 Principles 1. A Customer Focus Customer is the primary focus of a

ISO 9000 Principles 1. A Customer Focus Customer is the primary focus of a business. By understanding and responding to the needs of customers, an organization can correctly targeting key demographics and therefore increase revenue by delivering the products and services that the customer is looking for. 2. Good Leadership A team of good leaders will establish unity and direction quickly in a business environment. Their goal is to motivate everyone working on the project, and successful leaders will minimize miscommunication within and between departments

3. Involvement of people • Organizations rely on people. People at all levels are

3. Involvement of people • Organizations rely on people. People at all levels are the essence of an organization and their full involvement enables their abilities to be used for the organization’s benefit. Therefore: – Include motivated people. These people will tend towards innovation and creativity, and utilize their full abilities to complete a project 4. Process approach to quality management • The best results are achieved when activities and resources are managed together. • This process approach to quality management can lower costs through the effective use of resources, personnel,

and time. • If a process is controlled as a whole, management can focus

and time. • If a process is controlled as a whole, management can focus on goals that are important to the big picture 5. Get the facts before you decide • Organizations perform better when their decisions are based on facts. Therefore: – Organizations should base decisions analysis of factual information and data. on the

6. Take a System Approach • Organizations are more efficient and effective when they

6. Take a System Approach • Organizations are more efficient and effective when they use a systems approach. Therefore: – Organizations should identify processes and treat them as a system. interrelated

7. Encourage Continual Improvement • Organizations are more efficient and effective when they continually

7. Encourage Continual Improvement • Organizations are more efficient and effective when they continually try to improve. Therefore: – Organizations should make a permanent to continually improve their overall performance. 8. Supplier Relationships • Organizations depend on their to help them create value. Therefore: – Organizations should maintain beneficial relationship with their suppliers. a commitment suppliers mutually