Introduction To Software Quality Assurance


Published on

aseguramiento calidad, plan sqa, sqap

Published in: Economy & Finance, Technology
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction To Software Quality Assurance

  1. 1. Introduction to Software Quality Assurance (SQA)
  2. 2. Software Quality (IEEE Standard Glossary) <ul><li>The degree to which a system, component, or process meets specified requirements. </li></ul><ul><li>The degree to which a system, component or process meets customer or user needs or expectations. </li></ul>
  3. 3. Software Quality Attributes
  4. 4. SQA (via IEEE) <ul><li>A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. </li></ul><ul><li>A set of activities designed to evaluate the process by which products are developed or manufactured. Contrast with: quality control (1). </li></ul>
  5. 5. IEEE Std 730-2002 (Revision of IEEE Std 730-1998) IEEE Standard for Software Quality Assurance Plans
  6. 6. Required SQAP Sections <ul><li>Purpose </li></ul><ul><li>Reference Documents </li></ul><ul><li>Management </li></ul><ul><li>Documentation </li></ul><ul><li>Standards, practices, conventions, and metrics </li></ul><ul><li>Test </li></ul><ul><li>Problem Reporting and corrective action </li></ul><ul><li>Tools, techniques, and methodologies </li></ul><ul><li>Media control </li></ul><ul><li>Supplier control </li></ul><ul><li>Records collection, maintenance, and retention </li></ul><ul><li>Training </li></ul><ul><li>Risk management </li></ul><ul><li>Glossary </li></ul><ul><li>SQAP change procedure and history </li></ul>
  7. 7. 4.4 Documentation (section 4 of the SQAP) <ul><li> Software requirements description (SRD) </li></ul><ul><li> Software design description (SDD) </li></ul><ul><li> Verification and validation plans </li></ul><ul><li> Verification results report and validation results report </li></ul><ul><li> User documentation </li></ul><ul><li> Software configuration management plan (SCMP) </li></ul><ul><li>4.4.3 Other documentation </li></ul><ul><ul><li>a) Development process plan </li></ul></ul><ul><ul><li>b) Software development standards description </li></ul></ul><ul><ul><li>c) Software engineering methods/procedures/tools description </li></ul></ul><ul><ul><li>d) Software project management plan (see IEEE Std 1058™-1998 [B13]) </li></ul></ul><ul><ul><li>e) Maintenance plan (see IEEE Std 1219™-1998 [B15]) </li></ul></ul><ul><ul><li>f) Software safety plans (see IEEE Std 1228™-1994 [B16]) </li></ul></ul><ul><ul><li>g) Software integration plan </li></ul></ul>
  8. 8. 4.5 Standards, practices, conventions, and metrics (section 5 of the SQAP) <ul><li>4.5.1 Purpose </li></ul><ul><li>4.5.2 Content </li></ul><ul><ul><li>The subjects covered shall include the basic technical, design, and programming activities involved, such as documentation, variable and module naming, programming, inspection, and testing. As a minimum, the following information shall be provided (see IEEE Std 982.1™-1988 [B6] and IEEE Std 982.2™-1988 [B7]): </li></ul></ul><ul><ul><ul><li>a) Documentation standards </li></ul></ul></ul><ul><ul><ul><li>b) Design standards </li></ul></ul></ul><ul><ul><ul><li>c) Coding standards </li></ul></ul></ul><ul><ul><ul><li>d) Commentary standards </li></ul></ul></ul><ul><ul><ul><li>e) Testing standards and practices </li></ul></ul></ul><ul><ul><ul><li>f) Selected software quality assurance product and process metrics </li></ul></ul></ul>
  9. 9. 4.6 Software reviews (section 6 of the SQAP) <ul><li>4.6.1 Purpose </li></ul><ul><li>4.6.2 Minimum requirements </li></ul><ul><ul><li> Software specifications review (SSR) </li></ul></ul><ul><ul><li> Architecture design review (ADR) </li></ul></ul><ul><ul><li> Detailed design review (DDR) </li></ul></ul><ul><ul><li> Verification and validation plan review </li></ul></ul><ul><ul><li> Functional audit </li></ul></ul><ul><ul><li> Physical audit </li></ul></ul><ul><ul><li> In-process audits </li></ul></ul><ul><ul><ul><li>a) Code versus design documentation </li></ul></ul></ul><ul><ul><ul><li>b) Interface specifications (hardware and software) </li></ul></ul></ul><ul><ul><ul><li>c) Design implementations versus functional requirements </li></ul></ul></ul><ul><ul><ul><li>d) Functional requirements versus test descriptions </li></ul></ul></ul><ul><ul><li> Managerial reviews </li></ul></ul><ul><ul><li> Software configuration management plan review (SCMPR) </li></ul></ul><ul><ul><li> Post-implementation review </li></ul></ul><ul><ul><li>4.6.3 Other reviews and audits </li></ul></ul>
  10. 10. Software Capability Maturity Model SW-CMM
  11. 11. SW-CMM Key Practices for Software Quality Assurance <ul><li>A SQA plan is prepared for the SW project ATADP. </li></ul><ul><li>The SQA group’s activities are performed IAW the SQA plan. </li></ul><ul><li>The SQA group participates in the preparation & review of the project’s SW dev plan, standards, & procedures. </li></ul><ul><li>The SQA group reviews the SWE activities to verify compliance. </li></ul><ul><li>The SQA group audits designated SW work products to verify compliance. </li></ul><ul><li>The SQA group periodically reports the results of its activities to the SWE group. </li></ul><ul><li>Deviations identified in the SW activities & SW work products are documented & handled ATADP. </li></ul><ul><li>The SQA group conducts periodic reviews of its activities & findings with the customer’s SQA personnel, as appropriate. </li></ul>
  12. 12. RUP Steps for SQA All the following text is from Rational Unified Process 7.0.
  13. 13. Ensure Quality Objectives are Defined for the Project <ul><li>The Project Manager may not necessarily define the quality goals for the project, but ensures that these definitions are created and agreed by the customer, and captured ultimately in the Software Requirements Specification. The developing organization may also have a standard set of quality goals, in a quality policy statement, which can form the basis for these definitions. </li></ul><ul><li>Where possible, these objectives should be described in measurable terms. For example: </li></ul><ul><ul><li>&quot;Zero known severity 1 defects&quot; (...and include a definition of a severity 1 defect) </li></ul></ul><ul><ul><li>&quot;Maximum 3 second response time&quot; </li></ul></ul><ul><ul><li>&quot;User can pick up software and begin entering account information within 1 hour&quot; </li></ul></ul>
  14. 14. Define Quality Assurance Roles and Responsibilities <ul><li>The next step is to define the organization, roles and responsibilities that will participate in these tasks. </li></ul><ul><li>This should include the reporting channel for the results of Quality Assurance reviews. </li></ul><ul><li>In many situations, the Quality Assurance task should submit its reports directly to the Project Review Authority. </li></ul><ul><li>The Rational Unified Process recommends that the Software Engineering Process Authority (SEPA) should have responsibility for the process aspects of quality, and perform process reviews and audits, as well as ensuring the proper planning and conduct of the review events described in the Review and Audit section of the Quality Assurance Plan. </li></ul>
  15. 15. Coordinate With Developers of Referenced Plans <ul><li>The Quality Assurance Plan also references a number of other plans describing project standards and how various supporting process (e.g. configuration management) to be handled. </li></ul><ul><li>This information is used to help determine the types of Quality Assurance reviews that will be done, and their frequency. </li></ul><ul><li>The referenced plans would normally include the following: </li></ul><ul><ul><li>Documentation Plan </li></ul></ul><ul><ul><li>Measurement Plan </li></ul></ul><ul><ul><li>Risk Management Plan </li></ul></ul><ul><ul><li>Problem Resolution Plan </li></ul></ul><ul><ul><li>Configuration Management Plan </li></ul></ul><ul><ul><li>Software Development Plan </li></ul></ul><ul><ul><li>Test Plan </li></ul></ul><ul><ul><li>Subcontractor Management Plan </li></ul></ul>
  16. 16. Define Quality Assurance Tasks and Schedule <ul><li>Identify the tasks of Quality Assurance. Typically these reviews would include: </li></ul><ul><ul><li>Audit/review of project plans to ensure they follow the defined delivery process for the project. </li></ul></ul><ul><ul><li>Audit/review of project to ensure the work performed is following the project plans. </li></ul></ul><ul><ul><li>Approval of deviations from the standard organizational project processes. </li></ul></ul><ul><ul><li>Process improvement assessments </li></ul></ul><ul><li>The Project Review Authority and Project Manager together determine the schedule for Quality Assurance reviews and audits, and the schedule is captured in the project and iteration plan, which may then be referenced from the Quality Assurance Plan. </li></ul><ul><li>The contract may also allow the customer to request audits. </li></ul>
  17. 17. What SWEBOK Says about SQA All text is taken from the 2004 Guide to the SWEBOK . I formatted the text to highlight certain parts.
  18. 18. <ul><li>SQA processes provide assurance that the </li></ul><ul><ul><li>software products and </li></ul></ul><ul><ul><li>processes </li></ul></ul><ul><li>in the project life cycle </li></ul><ul><ul><li>conform to their specified requirements </li></ul></ul><ul><li>by planning, enacting, and performing a set of activities to provide adequate </li></ul><ul><ul><li>confidence </li></ul></ul><ul><li>that quality is </li></ul><ul><ul><li>being built into </li></ul></ul><ul><li>the software. </li></ul>
  19. 19. <ul><li>This means ensuring that the problem is clearly and adequately stated and that the solution’s requirements are properly defined and expressed. </li></ul>
  20. 20. <ul><li>SQA seeks to maintain the quality throughout the development and maintenance of the product by the execution of a variety of activities at each stage which can result in early identification of problems, an almost inevitable feature of any complex activity. </li></ul>
  21. 21. <ul><li>The role of SQA with respect to process is to ensure that planned processes are appropriate and later implemented according to plan, and that relevant measurement processes are provided to the appropriate organization. </li></ul>
  22. 22. <ul><li>The SQA plan defines the means that will be used to ensure that software developed for a specific product satisfies the user’s requirements and is of the highest quality possible within project constraints. </li></ul>
  23. 23. <ul><li>In order to do so, it must first ensure that the quality target is clearly defined and understood. </li></ul>
  24. 24. <ul><li>It must consider management, development, and maintenance plans for the software. </li></ul>
  25. 25. <ul><li>Refer to standard (IEEE730-98) for details. </li></ul>
  26. 26. <ul><li>The specific quality activities and tasks are laid out, with their costs and resource requirements, their overall management objectives, and their schedule in relation to those objectives in the software engineering management, development, or maintenance plans. </li></ul>
  27. 27. <ul><li>The SQA plan should be consistent with the software configuration management plan (refer to the Software Configuration Management KA). </li></ul>
  28. 28. <ul><li>The SQA plan identifies documents, standards, practices, and conventions governing the project and how they will be checked and monitored to ensure adequacy and compliance. </li></ul>
  29. 29. <ul><li>The SQA plan also identifies measures, statistical techniques, procedures for problem reporting and corrective action, resources such as tools, techniques, and methodologies, security for physical media, training, and SQA reporting and documentation. </li></ul>
  30. 30. <ul><li>Moreover, the SQA plan addresses the software quality assurance activities of any other type of activity described in the software plans, such as procurement of supplier software to the project or commercial off-the-shelf software (COTS) installation, and service after delivery of the software. </li></ul>
  31. 31. <ul><li>It can also contain acceptance criteria as well as reporting and management activities which are critical to software quality. </li></ul>