Software Quality Engineering

Slides:



Advertisements
Similar presentations
Chapter 4 Quality Assurance in Context
Advertisements

SE 450 Software Processes & Product Metrics 1 Introduction to Quality Engineering.
Metrics for Process and Projects
Practical Uses of Software Measurement for Process Improvement January 10, V1.0 Larry Dribin, Ph.D
Stepan Potiyenko ISS Sr.SW Developer.
Quality Systems Frameworks
Software Measurement and Process Improvement
Introduction to Quality Engineering
SE 450 Software Processes & Product Metrics 1 Quality Systems Frameworks.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Software Process and Product Metrics
Reaching Goals and Objectives Goal Setting The Bullfight.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
DEFINING JOB PERFORMANCE AND ITS RELATIONSHIP TO ASSESSMENTS.
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Effective Methods for Software and Systems Integration
Chapter : Software Process
Process: A Generic View
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Reaching Goals: Plans and Controls
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
COURSE TITLE: 1 Software Quality Assurance. Course Aims Introduction to software quality assurance. Software testing terminology. Role and responsibility.
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.
CLEANROOM SOFTWARE ENGINEERING.
CPIS 357 Software Quality & Testing
Chapter 6: Testing Overview Basic idea of testing - execute software and observe its behavior or outcome. If failure is observed, analyze execution record.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Chapter 2 Process: A Generic View
This chapter is extracted from Sommerville’s slides. Text book chapter
Test Metrics. Metrics Framework “Lord Kelvin, a renowned British physicist, is reputed to have said: ‘When you can measure what you are speaking about,
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
1 TenStep Project Management Process ™ PM00.9 PM00.9 Project Management Preparation for Success * Manage Quality *
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
Introduction to Measurement. According to Lord Kelvin “When you can measure what you are speaking about and express it in numbers, you know something.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Ensure that the right functions are performed Ensure that the these functions are performed right and are reliable.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
6.10 Recognize management’s role to understand its contribution to business success. Describe the nature of managerial control (control process, types.
Project Quality Management
Software Quality Control and Quality Assurance: Introduction
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Quality Engineering
Software Verification and Validation
Software Verification and Validation
CS4311 Spring 2011 Process Improvement Dr
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Software Quality Engineering
The Systems Engineering Context
Reaching Goals and Objectives
Software Engineering (CSI 321)
Software Quality Engineering CS- 449
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Johanna Rothman Know What “Done” Means Chapter 11
Software Quality Engineering
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Engineering: A Practitioner’s Approach, 6/e Chapter 2 Process: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Measurement What is it and why do it? 2/23/2019
Chapter 32 Process and Project Metrics
Metrics for Process and Projects
Presentation transcript:

Software Quality Engineering An Introduction

Lecture Objectives Provide some basic concepts about software quality engineering Quality measurement, assessment, and improvement Quality engineering activities and processes The importance of metrics interpretation Provide a focus for this course

Premise of a Quality Focus Customer and Organization Success Process Quality Product Quality

Customer and Organization Measure and Improve Customer and Organization Success Process Quality Product Quality Measure quality, analyze results, and identify improvements

Quality Engineering Balance cost of quality with cost of poor quality in the context of business objectives The ultimate measure of quality is customer satisfaction Quality systems and frameworks (quality principles and practices) guide quality activities, but they cannot guarantee quality Only people can deliver excellence

Scope of Software Quality Engineering Quality planning, process improvement Software Quality Engineering Inspection, formal methods, defect prevention, fault tolerance, etc. Quality Assurance Testing Execute software, compare observed behavior to specs.

Process and Product Quality Course Summary Thinking Software Quality Quality systems/frameworks Measurement fundamentals Software metrics catalog Defects and Reliability Defect detection, prevention, and removal Defect removal metrics and models Software Reliability Engineering Product Quality and Customers Product quality engineering Customer satisfaction Project and Process Quality Project and process activity metrics Process assessment and improvement Testing (Defect Detection)

Applying the Concepts: Course Project Creating a Quality Systems Improvement Plan Quality objectives Quality approach Product quality Defects Other quality attributes Customer satisfaction Process quality Incremental implementation plans Assessment plans

Activities in a Quality Engineering System

Implementing a Quality Improvement System Quality attribute Definition: Identify measurements for quality assessment and improvement Execution: Measure, analyze, and improve quality Operational definition, metrics Data analysis and interpretation Measurements Data collection

Quality Engineering Process Defined quality goals Quality Planning Quality Assurance Activities Entry Feedback & adjustments No Yes ? Selected QA activities Exit Quality goals satisfied? Quality Assessment & Improvement Selected measurements & models Analysis & modeling results

Quality Planning Activities Set quality goals by balancing customer expectations with project economics (cost, schedule, scope, risk) Identify customer quality views and attributes Including customer balance of their cost of quality Select direct measures of the quality attributes Set achievable and acceptable goal values of the quality measures For the stated quality goals ... Select specific QA activities to achieve quality goals Balance the cost and benefit of the QA activities against the quality goals Select direct and indirect product and process quality measurements and quality models for quality assessment and analysis

Quality Assurance Activities Defect prevention Remove (human) error sources Block defects from being injected into software artifacts Defect reduction Detect defects Inspection Testing Remove defects “Debugging”—iterate on the software engineering activity Rework requirements, design, code, etc. Defect containment Fault tolerance Fault containment

Quality Assessment and Improvement Activities Measurement Defect and other product quality measurements Process quality measurements Quality analysis and modeling Analyze measurement data Fit data to analytical models of quality Estimate current and future quality (quality trends) Identify problematic software components or process activities Feedback for immediate product and process improvement Identify problematic product components and process activities Adjust quality goals, project plan, QA plan Adjust quality models Feedback for organizational process improvement Improve techniques for quality assurance, quality engineering, and overall software engineering process

Right-Size Your Process A Quick Review from SE Process and Project Management

Processes (Systematic) steps for accomplishing a task “Structured” approach to getting things done The best process for a task is that which accomplishes the task most effectively, that is, optimizes across task objectives

More Process vs. Best Process Processes maximize probability of successful task accomplishment, that is, prevent problems “More process” (more formality and ceremony) improves probability of success, but often runs counter to other objectives (such as cost, flexibility) “Best” process optimizes across task objectives More process is not always good Less process is not always good, either

Process Design Designing good processes requires: Understanding the various task objectives Understanding the impact of the steps involved (process design decisions) on all the different objectives Creatively identifying different possible approaches (process designs) and picking the best A typical engineering design problem!

Limitations of Process Processes are designed to prevent problems Reduce product defects, reduce process variance, etc. Process is not free – there is a cost in time and effort, as well as in flexibility Processes incorporate assumptions about the nature of the task and about the objectives But every situation is a little different The more the difference, the less effective the process Process customization (tailoring) is not free!

Metrics

Metrics The purpose of metrics is to provide evaluation and feedback Try walking to the door with your eyes closed They can provide an “objective” view to complement the subjective view of the people doing the job When skillfully used, metrics can reveal longer-term trends that are harder to spot otherwise

Metrics Interpretation Metrics are indicators that tell us something about some quality attribute of interest To make sure that the numbers don’t mislead us, we need to do a lot of additional work to understand the state of the quality attribute Metrics analysis and interpretation Doing this requires: Metrics understanding Domain understanding Understanding the specific process, product, and organization of the projects

Metrics Interpretation… Any conclusion and supporting data and graphs should be accompanied by comments that point out what lies behind the numbers and conclusions This is the real value added by the quality engineer!

Famous Lines About Metrics “There are three kinds of lies: lies, damned lies and statistics” (attributed to Benjamin Disraeli and made popular by Mark Twain) “What statistics reveal is interesting, but what they conceal is vital”

Another Famous Line “When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind.” - (Lord Kelvin, Scottish Physicist – 1884) Paraphrased: “If you can’t measure it, you probably don’t understand it, and you certainly can’t control it” The idea is that measurement and analysis helps to close the feedback loop, which is necessary for quality control and improvement

You Must Interpret the Metrics Flip side: “If you manage purely by the numbers, all you manage is the numbers” Objectives that are not measured will not be met, and some of them may be the most important ones Numbers don’t reveal the entire truth Don’t measure what is easy to measure, measure what is essential to measure

Software Quality Engineering A systematic approach to measuring and improving software product and process quality will help ensure organizational success Customer and Organization Success Process Quality Product Quality Measure quality, analyze results, and identify improvements

Conclusion Quality engineering is about effective ways to achieve project and organizational objectives Measure, control and improve product and process quality Processes and metrics are enablers to achieve these objectives Defining good processes and selecting good metrics is a challenging engineering design problem Metrics interpretation is critical If not done well, all work collecting data is useless