Software Quality See accompanying Word file “Software quality 1”

Slides:



Advertisements
Similar presentations
Project Management and Software Quality See accompanying Word file “Software PM tools 3”
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Chapter 4 Quality Assurance in Context
Project Change Management
Overview Lesson 10,11 - Software Quality Assurance
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Software Development Process. Process Improvement Using the Shewhart Cycle 1.PLAN - Plan a change aimed at improvement, collect data, and establish a.
SE 450 Software Processes & Product Metrics Software Metrics Overview.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
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
Software Defects Defect Prevention and Removal 1.
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Software Quality Assurance Introduction 1. What is Quality? Can you define quality? You must be thinking, what kind of question is that. It is very easy.
Capability Maturity Model
Rapid Development (Part 1) Mihail V. Mihaylov RammSoft.
CS 4310: Software Engineering
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Categories of software defects See accompanying Word file “Software defects 2”
SOFTWARE QUALITY ASSURANCE PRACTICE IN JAPAN
Product Quality, Testing, Reviews and Standards
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Feasibility Study.
MCS 270 Spring 2014 Object-Oriented Software Development.
Introduction to Defect Prediction Cmpe 589 Spring 2008.
Feasibility Analysis What is feasibility and when should feasibility checkpoints occur? What are the four types of feasibility and what is the description.
This chapter is extracted from Sommerville’s slides. Text book chapter
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Measuring and Estimating Software Defects Loren Stroup UCF EEL6883: Software Engineering II.
Construction, Testing, Documentation, and Installation Chapters 15 and 16 Info 361: Systems Analysis and Design.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Software quality factors
Software Requirements and Design Khalid Ishaq
Software Defects.
Introduction to Testing. Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Software Testing and Software Quality Assurance Process.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
CS352 – Software Engineering II Lecture 17: SW Quality Assurance Landscape Slides by Mohammad El-Ramly, PhD.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
Software Engineering Lecture 8: Quality Assurance.
Risk-Based Management and Testing. 2 This is risk-based testing(J. Bach) Make prioritized list of risks Perform testing that explores each risk As risks.
The Value of Managing the Review Process
CIS 375 Bruce R. Maxim UM-Dearborn
Software Quality Assurance
Mistake Proofing (PokaYoke)
Why Every Dev. Team Needs Static Analysis
Chapter 13 Quality Management
Quality Measurable characteristic Cyclomatic complexity Cohesion
Baisc Of Software Testing
Welcome to Corporate Training -1
Capability Maturity Model
Software Cost Estimation
Capability Maturity Model
Presentation transcript:

Software Quality See accompanying Word file “Software quality 1”

Successful projects Successful software projects should be completed on time, within budget, with all required functionality, and be of acceptable quality. But, what is software quality? There is no single unambiguous definition.

Software quality : 6 features Low levels of defects when deployed, ideally approaching zero defects High reliability, or the capability of running without crashes or strange results A majority of clients with high user-satisfaction when surveyed A structure that can minimise bad fixes or insertion of new defects during repairs Effective customer support when problems do occur Rapid repairs for defects especially for high-severity defects

Software defect origins: 6 sources Requirements Design Source code User manuals or training material Bad fixes or mistakes made during repairs Flawed test cases used by the application

Nothing new … IBM developed an automated software defect reporting system in the early 1960s that accumulated data on:  the numbers of software defects found;  the severity levels of reported defects;  whether the bugs were found by means of reviews, inspections, tests, or by customers; and  whether the defects entered the application from requirements, design, code, manuals, or whether they were secondary defects caused by “fixes”

Conclusions 1:  Front-end requirements and design problems outnumber coding problems  Coding errors in large systems tend to clump in "error-prone modules."  Formal inspections are more efficient than testing to find software bugs.  Secondary "bad fixes" can be very troublesome unless controlled.  Test cases and test libraries are often buggy themselves.

Conclusions 2:  High quality leads to short schedules and low development costs.  Lines of code metrics don't work for cross-language comparisons.  Function point metrics are the best choice for software quality research.  Function point metrics can measure non-code software defect levels.

Poor Software Quality: Root causes Inadequate training of managers and staff Inadequate defect and cost measurement Excessive schedule pressure Insufficient defect removal High complexity levels Ambiguous and creeping requirements and designs

Software Defects: Elimination Strategies Methods and tools that lead to the achievement of: Effective defect prevention High levels of defect removal efficiency Accurate defect prediction before the project begins Accurate defect tracking during development Useful quality measurements Ensuring high levels of user-satisfaction

Quality declines as size goes up Jones addresses software in the sizes: 1 function point or 125 C statements 10 function points or 1,250 C statements 100 function points of 12,500 C statements 1,000 function points or 125,000 C statements 10,000 function points or 1,250,000 C statements 100,000 function points or 12,500,000 C statements

Size rule A general rule for predicting software defect potentials is to take the size of the application in function points and raise it to the 1.25 power. This simple algorithm will provide a rough estimate of the minimum sum of all problems or bugs in requirements, design, code, user manuals, and bad fixes.

Size rule: consequences Applying this algorithm to the six size ranges quickly illustrates why quality control is progressively more important as overall software size gets larger:  for a small application of 100 function points, the defect potential is only about 316 bugs;  for a large system of 10,000 function points, the defect potential is an alarming 100,000.