mcRAv Solutions Quality Engineering & Assurance Overview

mcRAv Solutions provides an introduction to software quality assurance. Software quality assurance (SQA) is the concern of every software engineer in mcRAv Solutions to reduce costs and improve product time-to-market. A Software Quality Assurance Plan is not merely another name for a test plan, though test plans are included in an Software Quality Assurance (SQA) plan. SQA activities are performed on every software project. Use of metrics is an important part of developing a strategy to improve the quality of both software processes and work products.

Software Quality Assurance

  • 1. Umbrella activity applied throughout the software process
  • 2. Planned and systematic pattern of actions required to ensure high quality in software
  • 3. Responsibility of many stakeholders (software engineers, project managers, customers, salespeople, SQA group)
  • Software Quality Assurance (SQA) Tasks

  • 1. Prepare SQA plan for the project.
  • 2. Participate in the development of the project's software process description.
  • 3. Review software engineering activities to verify compliance with the defined software process.
  • 4. Audit designated software work products to verify compliance with those defined as part of the software process.
  • 5. Ensure that any deviations in software or work products are documented and handled according to a documented procedure.
  • 6. Record any evidence of noncompliance and reports them to management.
  • .

    Quality Assurance Elements

  • 1. Standards – ensure that standards are adopted and followed
  • 2. Reviews and audits – audits are reviews performed by SQA personnel to ensure hat quality guidelines are followed for all software engineering work
  • 3. Testing – ensure that testing id properly planned and conducted
  • 4. Error/defect collection and analysis – collects and analyses error and defect data to better understand how errors are introduced and can be eliminated
  • 5. Changes management – ensures that adequate change management practices have been instituted
  • 6. Education – takes lead in software process improvement and educational program
  • 7. Vendor management – suggests specific quality practices vendor should follow and incorporates quality mandates in vendor contracts
  • 8. Security management – ensures use of appropriate process and technology to achieve desired security level
  • 9. Safety – responsible for assessing impact of software failure and initiating steps to reduce risk
  • 10. Risk management – ensures risk management activities are properly conducted and that contingency plans have been established
  • Software Quality Assurance (SQA) SQA Goals

    Requirements quality

  • 1. Ambiguity
  • 2. Completeness
  • 3. Volatility
  • 4. Traceability
  • 5. Model clarity
  • Design quality

  • 1. Architectural integrity
  • 2. Component completeness
  • 3. Interface complexity
  • 4. Patterns
  • Code quality

  • 1. Complexity
  • 2. Maintainability
  • 3. Understandability
  • 4. Reusability
  • 5. Documentation
  • Quality control effectiveness

  • 1. Resource allocation
  • 2. Completion rate
  • 3. Review effectiveness
  • 4. Testing effectiveness
  • Formal SQA

  • 1. Assumes that a rigorous syntax and semantics can be defined for every programming language
  • 2. Allows the use of a rigorous approach to the specification of software requirements
  • 3. Applies mathematical proof of correctness techniques to demonstrate that a program conforms to its specification
  • Statistical Quality Assurance

  • 1. Information about software defects is collected and categorized
  • 2. Each defect is traced back to its cause
  • 3. Using the Pareto principle (80% of the defects can be traced to 20% of the causes) isolate the "vital few" defect causes
  • 4. Move to correct the problems that caused the defects in the “vital few”
  • Software Quality Assurance (SQA) Plan

  • 1. Management section - describes the place of SQA in the structure of the organization
  • 2. Documentation section - describes each work product produced as part of the software process
  • 3. Standards, practices, and conventions section - lists all applicable standards/practices applied during the software process and any metrics to be collected as part of the software engineering work
  • 4. Reviews and audits section - provides an overview of the approach used in the reviews and audits to be conducted during the project
  • 5. Test section - references the test plan and procedure document and defines test record keeping requirements
  • 6. Problem reporting and corrective action section - defines procedures for reporting, tracking, and resolving errors or defects, identifies organizational responsibilities for these activities
  • 7. Other - tools, SQA methods, change control, record keeping, training, and risk management