QUALITY ASSURANCE FRAMEWORK Presented By: Ketan Mehta Heritage Institute of Technology Kolkata
AGENDA1) What is Quality?2) What is Software Quality Assurance?3) Components Of Quality Assurance.4) Software Quality Assurance Plan.5) Quality Standards.
What is Quality??1) Quality assurance is a system of activitiesdesigned to ensure production that meetspre-established requirements andstandards.2) Quality refers to any measurablecharacteristics such ascorrectness, maintainability, portability, testability, usability, reliability, efficiency, integrity, reusability and interoperability.
Software Quality Assurance Systematic activities providing evidence of the fitness for use of the total software product. It is achieved through the use of established guidelines for quality control to ensure integrity and prolonged life of software. It is a planned effort to ensure that a software product fulfills criteria and has additional attributes specific to the product.
Software Quality Assurance It is the collection of activities and functions used to monitor and control a software project so that specific objectives are achieved with the desired level of confidence. It is not the sole responsibility of the software quality assurance group but is determined by the consensus of the project manager ,project leader, project personnel, and the users.
Software Testing Software testing is a popular risk management strategy. It is used to verify that functional requirements were met. The major purpose of verification and validation activities is to ensure that software design, code, and documentation meet all the requirements imposed on them.
Quality Control Quality control is defined as the processes and methods used to monitor work and observe whether requirements are met. It focuses on reviews and removal of defects before shipment of products. For small projects the project personnel’s peer group or the department’s software quality coordinator can inspect the documents on large projects, a configuration control board may be responsible for quality control.
Software Configuration Management It is concerned with the labeling, tracking and controlling changes in the software elements of a system. It consists of activities that ensure that design and code are defined and cannot be changed without a review of the effect of the change itself and its documentation.
Elements of software configuration management Component Identification Version ControlSCM Configuration Building Change Control
Component Identification A basic software configuration management activity is to identify the Software components that make up deliverable at each point of development. In order to mange the development process one must establish methods and name the component standards.
Version control Software is frequently changed as it evolves through a succession of temporary states called versions. A software configuration management facilityfor controlling versions is a software configurationmanagement repository or library.
Configuration Building To build a software configuration one needs to identify the correct components versions and execute the component build procedures. This is often called Configuration building. Software configuration management uses different approaches for selecting versions. The simplest method is to maintain all the component versions.
Change controlSoftware Change control is the process by which amodification to a software component is proposed.Modification of a configuration has four elements :1) A change request.2)An impact analysis of the change.3)A set of modifications and additions of newcomponents.4)A method for reliably installing new components.
Software Quality Assurance Plan Software quality assurance plan is an outline of quality measures to ensure quality levels within a software development effort. The plan provides the framework and guidelines for development of understandable and maintainable code.
Who involves quality assurance activities? Software engineers, project managers, customers, sale people, SQA group Engineers involved the quality assurance work: - apply technical methods and measures - conduct formal technical review - perform well-planned software testing The SQA group’s role -> serves as the customer’s in-house representative assist the software engineering team in achieving high-quality The SQA group’s responsibility: - quality assurance planning oversight, record keeping, analysis and reporting The SQA group’s tasks: - Prepare a SQA plan for a project - Participate in the development of the project’s software process description - Review engineering activities to verify compliance with the defined process - Ensure the deviations in software work and products according to a documented procedure
What is software reviews? - a “filter” for the software engineering process.Purpose: serves to uncover errors in analysis, design,coding, and testing.A review --> a way to - identify the needed improvements of the parts in aproduct - confirm the improvement parts of a product. - achieve technical work of more uniform, predicable,and manageable.
Objectives of FTR:Formal reviews: (design to an audience of customers, management, and staff) Walkthrough, inspection, and round-robin reviews- to uncover errors in function, logic, or implementation- to verify the software under review meets its requirements- to ensure that the software has been represented accordingto predefined standards- to develop software in a uniform mannerReview meeting’s constraints:- focus on a specific part of a software product
Quality StandardsISO9000 (International Organization for Standardization)CMM (Capability Maturity Model )PCMM (People Capability Maturity Model)CMMI (Capability Maturity Model Integration)