©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 9 Software Quality Assurance.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 5 Architecture-Driven Component Development.
Stepan Potiyenko ISS Sr.SW Developer.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
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 1 Defect Removal.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Systems Analysis and Design (Level 3)
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
Introduction to Software Testing
Software Configuration Management
Chapter 24 - Quality Management
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Systems Analysis and Design
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 12 Software Integration and Deployment.
Chapter 2 The process Process, Methods, and Tools
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Software Quality Assurance Activities
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.
S Q A.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
Service Transition & Planning Service Validation & Testing
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 8 Implementing Java Programs.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 13 Java on Various Computer Platforms.
IT Requirements Management Balancing Needs and Expectations.
10/16/2015Bahill1 Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed Continuous.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Georgia Institute of Technology CS 4320 Fall 2003.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Formal Methods in Software Engineering
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(UIT), M.S(S.E) AAU Denmark Assistant Professor Department.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
IT Project Management, Third Edition Chapter 8 1 Chapter 5: Project Quality Management.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Pertemuan 14 Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Chapter 2 Object-Oriented Paradigm Overview
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Software Verification and Validation
Chapter 10 Software Quality Assurance& Test Plan Software Testing
CMMI – Staged Representation
Engineering Processes
Introduction to Software Testing
Lecture 09:Software Testing
Software Engineering I
Engineering Processes
Software Reviews.
Unit IV – Chapter 2 V-Test Model.
Presentation transcript:

©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 9 Software Quality Assurance

©2007 · Georges Merx and Ronald J. NormanSlide 2 Agenda Software quality assurance Industry-standard software methodology models Bug???

©2007 · Georges Merx and Ronald J. NormanSlide 3 Software Quality Assurance (SQA) Software Quality Assurance (SQA) is an organization’s quality control discipline implemented organizationally, technically, and procedurally to ensure that all participants assigned to a software engineering project adhere to software quality assurance best practices agreed to by project stakeholders.

©2007 · Georges Merx and Ronald J. NormanSlide 4 Suggested SQA Position

©2007 · Georges Merx and Ronald J. NormanSlide 5 Cost of Errors Software bugs cost the U.S. economy nearly $60 billion a year, with $22 billion of that avoidable if the industry improved testing so that more errors could be detected earlier, according to a study commissioned by the National Institute of Standards and Technology

©2007 · Georges Merx and Ronald J. NormanSlide 6 SQA Responsibilities Process control: ensuring that all contributors follow agreed upon software engineering process guidelines established in writing by the company Adherence to best practices and standards: establishing and enforcing agreed upon quality standards, from documentation to testing to certification; following industry best practices like CMMI or ISO 9000 Testing: appropriate testing according to agreed upon standards at every phase in the development life cycle; test automation to ensure regression control Inspection: critical evaluation of completed components; validation against requirements Closed-loop corrective action: exception reporting, tracking, and resolution Configuration management: reliable tracking of all intellectual property (IP), such as all versions of source and object code files; documentation; specifications; test data files; etc.

©2007 · Georges Merx and Ronald J. NormanSlide 7 Learning Layout

©2007 · Georges Merx and Ronald J. NormanSlide 8 Learning Connections

©2007 · Georges Merx and Ronald J. NormanSlide 9 Quality in Every Discipline

©2007 · Georges Merx and Ronald J. NormanSlide 10 Types of Errors Functional errors: a function does not operate as the requirement specifies Logic errors: a function generates an incongruent result such as incorrect data User interface errors: access to a function is constrained because of incorrect or inefficient user accessibility Non-functional problems: such as excessive lag time, hard to read, poor organization/layout, etc.

©2007 · Georges Merx and Ronald J. NormanSlide 11 Quality Determinants Complete implementation of requirements Improved work process (faster, easier, more reliable) Resilience: does not “crash,” recovers from errors gracefully Efficiency: uses system and network resources sparingly, supports as many users as needed (scalability) Quality measurements (number of errors per lines of code, severity of errors, etc.) Stakeholder satisfaction with the implementation

©2007 · Georges Merx and Ronald J. NormanSlide 12 SQA Best Practices

©2007 · Georges Merx and Ronald J. NormanSlide 13 Software Project Management

©2007 · Georges Merx and Ronald J. NormanSlide 14 Closed-Loop Corrective Action

©2007 · Georges Merx and Ronald J. NormanSlide 15 Inspections 1.The engineer responsible for a component finishes development and unit testing. 2.The engineer calls an inspection and provides appropriate documentation to inspection participants as far in advance as possible and in accordance to the particular process being followed. Inspection team members should include peers, supervisors, potential customers, if possible, quality assurance and technical writing specialists, and anyone else who can positively contribute to the inspection process. 3.During the inspection meeting(s), the engineer positively justifies the validity of his/her implementation. The team critically inspects every aspect of the deliverable, seeking problems, incorrectly implemented functionality (as compared to the Requirements and Design Specifications), inadequacies, discontinuities, and weaknesses. 4.All problems are documented, corrected subsequently by the engineer, with a follow-up inspection to ensure that all inadequacies have been properly removed, without regressions.

©2007 · Georges Merx and Ronald J. NormanSlide 16 Verification and Validation Verification involves the reduction and hopefully elimination of known defects. Verification also tests requirements that are necessary for successful deployment and operation of the software product, but which are not necessarily functional domain requirements. Performance and throughput, peak-workload processing performance, user interface testing, documentation and procedures testing, and backup and recovery testing are examples of non-functional areas of requirement. Validation involves the checking of milestones and deliverables against written commitments, typically documented in the project’s Requirements Specification. This process also provides for the validation of the work processes associated with the project and its outcomes against agreed-upon standards.

©2007 · Georges Merx and Ronald J. NormanSlide 17 Developing for Quality Work within the plan, respect the Specifications; if in doubt, get input from stakeholders; use inspection and validation processes Use common Design Patterns which encapsulate object-orientation best practices, e.g. Model-View- Controller; Façade; Creator; Pure Fabrication; etc. and implement principles of Low Coupling and High Cohesion Pursue abstraction and flexibility of logic; build components to be replaceable Use minimal scope for memory components Base design decisions on underlying work processes and their optimization Account for future changes and scalability Standardize input and output interfaces for interoperability Document everything; use JavaDoc to create standard-format source documentation; provide online help

©2007 · Georges Merx and Ronald J. NormanSlide 18 Separation of Concerns

©2007 · Georges Merx and Ronald J. NormanSlide 19 Position in Process The process of deployment is critical, because this is the phase where significant customer installations take place and where the product experiences the first extensive exposure to use under operational conditions

©2007 · Georges Merx and Ronald J. NormanSlide 20 Maintenance and Support The maintenance and support work process includes the following activities: 1.problem acquisition, via telephone, , or website incident report 2.if genuine, problem analysis, categorization, and documentation 3.assignment for resolution 4.resolution tracking 5.inclusion in upcoming release (“point release”) 6.informing incident initiator of solution availability 7.closing the incident when solution is available

©2007 · Georges Merx and Ronald J. NormanSlide 21 try … catch Block try { ss.close(); } catch (IOException e) { System.out.println (“I/O Error on closing “ + e.toString()); noError = false; }