Software Engineering | Software Quality Assurance (SQA) Set 2
Software Quality Assurance (SQA) consists of a set of activities that monitor the software engineering processes and methods used to ensure quality.
Software Quality Assurance (SQA) encompasses:
- A quality management approach.
- Effective software engineering technology (methods and tools).
- Some formal technical reviews are applied throughout the software process.
- A multitiered testing strategy.
- Controlling software documentation and the changes made to it.
- Procedure to ensure compliance with software development standards (when applicable).
- Measurement and reporting mechanisms.
Software Quality: Software quality is defined in different ways but here it means the conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software.
Following are the quality management system models under which the software system is created is normally based:
CMMI Six Sigma ISO 9000
Note: There may be many other models for quality management but the ones mentioned above are the most popular.
Software Quality Assurance (SQA) activities:
Software Quality Assurance is composed of a variety of tasks associated with two different fields:
- (i) The software engineers who do technical work.
- (ii) SQA group that has responsibility for quality assurance planning, oversight, record keeping, analysis, and reporting.
Basically, software engineers address quality (and perform quality assurance and quality control activities) by applying solid technical methods and measures, conducting formal technical reviews, and performing well-planned software testing.
- Prepares an SQA plan for a project.
This type of plan is developed during project planning and is reviewed by all interested parties. The quality assurance activities performed by the software engineering team and the SQA group are governed by the plan. The plan identifies:
- evaluations to be performed
- audits and reviews to be performed
- standards that are applicable to the project
- procedures for error reporting and tracking
- all the documents to be produced by the SQA group
- the total amount of feedback provided to the software project team
- Every participant in the development of the project’s software process description.
The software team has to select a process for the work to be performed. The process description is reviewed by the SQA group for conformance with organizational policy, internal software standards, externally imposed standards, and other parts of the software project plan.
- Software engineering activities are reviewed to verify compliance with the defined software process.
The work of the SQA group is to identify documents and to track deviations from the process and verify that corrections have been made.
- Financial inspection designated software work products to verify conformance with those defined as part of the software process.
The SQA group reviews selected work products; identifies, documents, and tracks deviations; verifies that corrections have been made; and periodically reports the results of its work to the project manager.
- Ensures that deviations in products are documented and handled according to a documented procedure.
Deviations in software work and work products may be faced in the project plan, process description, applicable standards, or technical work products.
- Records reports to senior management and noncompliance.
Noncompliance items are tracked until they are resolved.