Software Quality Assurance

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

More CMM Part Two : Details.
Stepan Potiyenko ISS Sr.SW Developer.
Overview Lesson 10,11 - Software Quality Assurance
Software Quality Metrics
SE 555 Software Requirements & Specification Requirements Validation.
 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 Quality Assurance For Software Engineering && Architecture and Design.
Introduction to Software Testing
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
UNIT-II Chapter : Software Quality Assurance(SQA)
Introduction to Software Quality Assurance (SQA)
Assistance - Savita Kini November 15, Software Quality Assurance - Outline ä What is Software Quality assurance(SQA)? ä Quality Concepts. ä Software.
Managing Software Quality
Software Quality Assurance Activities
 What is “quality”? IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Software System Engineering: A tutorial
Instructor: Peter Clarke
Chapter 2 Process: A Generic View
Software Quality Assurance SE Software Quality Assurance What is “quality”?
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
IT Requirements Management Balancing Needs and Expectations.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
SQA. 2 Software Quality Assurance What is Software Quality assurance(SQA)? Quality Concepts. Software Quality Assurance Activities. Software Reviews and.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
HND Computing Unit 8 Quality Management Prepared by S Hargrave
Software Quality Assurance. Software Quality Software quality is defined as the quality that ensures customer satisfaction by offering all the customer.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
Slide 1SATC June 2000 Dolores R. Wallace* NASA Goddard Space Flight Center Greenbelt, Maryland for the American Society.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
TOTAL QUALITY MANAGEMENT
Configuration Management
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Software Engineering (CSI 321)
Software Configuration Management (SCM)
Software Quality Assurance
Software Verification and Validation
CS4311 Spring 2011 Process Improvement Dr
SEVERITY & PRIORITY RELATIONSHIP
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Configuration Management
Software Quality Assurance
Software Engineering (CSI 321)
Software Configuration Management
Definitions.
Software Requirements analysis & specifications
Engineering Processes
Introduction to Software Testing
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software Quality Assurance
SQA Role during Software Code and Unit Test Phase
Baisc Of Software Testing
Welcome to Corporate Training -1
Software Quality Assurance
Software Engineering I
Capability Maturity Model
Project Management: Inspections and Reviews Formal Specifications
Engineering Processes
Software Quality Assurance 2015
Capability Maturity Model
Software Verification and Validation
Software Reviews.
Testing, Inspection, Walkthrough
Presentation transcript:

Software Quality Assurance For Software Engineering && Architecture and Design

Software Quality Assurance What is “quality”?

Software Quality Assurance What is “quality”? IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations

Software Quality Assurance What is “quality”? IEEE Glossary: Degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations ISO: the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs

Software Quality Assurance An alternate view of Quality: is not absolute is multidimensional, can be difficult to quantify has aspects that are not easy to measure assessment is subject to constraints (e.g., cost) is about acceptable compromises criteria are not independent, can conflict

Software Quality Assurance Quality Criteria include: correctness efficiency flexibility integrity interoperability maintainability portability reliability reusability testability usability

What is Software Quality Assurance (SQA)? “Set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use” G. Schulmeyer and J. McManus, Software Quality Handbook, Prentice Hall, 1998.

What is SQA? Monitoring processes and products throughout the software development lifecycle to ensure the quality of the delivered product(s) Monitoring the processes Provides management with objective feedback regarding process compliance to approved plans, procedures, standards, and analyses Monitoring the products Focus on the quality of product within each phase of the SDLC e.g., requirements, test plan, architecture, etc. Objective: identify and remove defects throughout the lifecycle, as early as possible

Quality of Software developed in-house & COTS components SQA processes apply when integrating purchased or customer-supplied software products into the developed product Question. How do you determine the “quality” of COTS components? Current research problem

Process Assessment Use of standards and process models has a positive impact on the quality of the software product Disciplined, controlled development process Examples include: ISO 9001 CMM CMU SEI, 5 levels SPICE Developing a standard for software process assessment ISO joint committee, Europe, Australia IEEE 1074, IEEE 12207, …

Product Assessment Reviews, inspections, walkthroughs Testing Specialized techniques available: How to review/assess requirements, architecture, detailed designs, code … Testing Simulation Protoyping Formal verification Model checking, theorem proving

Product Assessment Reviews, inspections, walkthroughs of Plans, reports, models, standards Project management, quality assurance, training, test plan(s) Requirements, analysis, architecture, detailed design model, test cases Issue or problem reports Metric reports Traceability reports Documentation, coding standards …

Software Reviews They may include managerial reviews, acquirer-supplier reviews, technical reviews, inspections, walkthroughs, and audits. Inspection: A formal evaluation technique in which an artifact (e.g., software requirements, design, or code) is examined in detail by a person or group other than the originator detect faults, violations of development standards, and other problems. review members are peers (equals) of the designer or programmer. data is collected during inspections for later analysis and to assist in future inspections. Note Introduced by Fagan, 1976. Fagan, M., “Design and Code Inspections to Reduce Errors in Program Development”, IBM Systems Journal, 15, 3 (1976), pp. 182-211 Fagan, M., “Advances in Software Inspections”, IEEE Transactions on Software Engineering, 12, 7(July 1986), pp. 744-751

Picture from “Inspections” presentation http://www. math. uaa. alaska

Defect Checklists Useful to support reviews, inspections, walkthroughs Expertise is captured in a list format Less experienced people can use Straightforward to use (each check should be clear, simple to assess/apply) Improve consistency of assessments Example architecture checklist used in undergrad./grad. courses for OO spreadsheet in in the course materials subdirectory One or more architectural styles are selected. Capabilities and interfaces are defined for subsystems. Capabilities of and interfaces among subsystems support all of the use cases. Concurrency defined. Distribution defined. Error handling defined. Start up and shut down defined. Data persistency defined. Rationale for the model is provided. Other

Verifying Formal Specifications Formal specifications may be verified in a number of different ways: Syntax, typechecking If the notation is typed Simulated Model checked (e.g., SPIN) Proven correct (e.g., HOL, PVS) More straightforward? Less assurance of correctness; fully automated Less straightforward? Higher assurance of correctness; not fully automated More straightforward Less straightforward

Problem Reporting, Tracking, and Resolving Describe the practices and procedures to be followed for reporting, tracking, and resolving problems Who can report a problem? How is it reported? How is is tracked? Who determines if it is a problem that going to be resolved? How is it assigned for resolution? How does the person indicate it has been corrected? Who reviews it to determine if it can be closed? Problems can be product or process related e.g. incorrect requirement, incomplete class definition, code defect, ambiguous description in user documentation, process to review detailed design is not clearly defined, etc.

Metrics Metrics for each artifact e.g., Requirements Number of requirements Number of changes per requirement Called “churn” rate Characterization of defects Not testable, ambiguous, inconsistent, incorrect, incomplete redundant, infeasible, … Major or minor defect Phase defect detected Cost to fix

Tools, techniques, training What tools? e.g., CVS for CM, excel spreadsheet for problem reporting/tracking, ... What techniques? e.g., formal peer review for deliverables, checklists for defect detection, ... What training is needed on tools, techniques?

Media Control Identify the media for each intermediate and deliverable artifact Documentation required to store the media, including the backup and restore process Protect computer program physical media from: unauthorized access inadvertent damage degradation

Architecture Analysis Methods Why evaluate an architecture? http://www.slideshare.net/kevinjew/evaluating-software-architectures-presentation Specialized techniques available: http://www.slideshare.net/timmenzies/architecture-tradeoff-analysis-method-presentation SEI presentation and technical report on ATAM are in the course subdirectory