Software quality assurance

Software quality assurance (SQA) is a means and practice of monitoring all software engineering processes, methods, and work products to ensure compliance against defined standards.[1] It may include ensuring conformance to standards or models, such as ISO/IEC 9126 (now superseded by ISO 25010), SPICE or CMMI.[2]

It includes standards and procedures that managers, administrators or developers may use to review and audit software products and activities to verify that the software meets quality criteria which link to standards.

SQA encompasses the entire software development process, including requirements engineering, software design, coding, code reviews, source code control, software configuration management, testing, release management and software integration. It is organized into goals, commitments, abilities, activities, measurements, verification and validation.[3]

Purpose

edit

SQA involves a three-pronged approach:

  • Organization-wide policies, procedures and standards
  • Project-specific policies, procedures and standards
  • Compliance to appropriate procedures

Guidelines for the application of ISO 9001:2015 to computer software are described in ISO/IEC/IEEE 90003:2018.[4] External entities can be contracted as part of process assessments to verify that projects are standard-compliant. More specifically in case of software, ISO/IEC 9126 (now superseded by ISO 25010) should be considered and applied for software quality.

Activities

edit

Quality assurance activities take place at each phase of development. Analysts use application technology and techniques to achieve high-quality specifications and designs, such as model-driven design. Engineers and technicians find bugs and problems with related software quality through testing activities. Standards and process deviations are identified and addressed throughout development by project managers or quality managers, who also ensure that changes to functionality, performance, features, architecture and component (in general: changes to product or service scope) are made only after appropriate review, e.g. as part of change control boards.[5]

See also

edit

References

edit
  1. ^ "What is Software Quality Assurance (SQA): A Guide for Beginners". Software Testing Help. Retrieved 2022-06-02.
  2. ^ Kelemen, Zádor Dániel; Kusters, Rob; Trienekens, Jos (December 2012). "Identifying criteria for multimodel software process improvement solutions - based on a review of current problems and initiatives". Journal of Software: Evolution and Process. 24 (8): 895–909. doi:10.1002/smr.549. S2CID 14382496.
  3. ^ Nielsen, David CMM and Project Quality Management
  4. ^ "ISO/IEC/IEEE 90003:2018". ISO. Retrieved 2020-07-14.
  5. ^ Wieczorek, Martin; Vos, Diederik; Bons, Heinz (2014-05-08). Systems and Software Quality: The next step for industrialisation. Springer Science & Business Media. ISBN 978-3-642-39971-8.


edit