|IEEE software life cycle|
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. It may include ensuring conformance to standards or models, such as ISO/IEC 9126 (now superseded by ISO 25010), SPICE or CMMI.
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.
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. 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.
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.
- Quality by Design
- Software assurance
- Software quality analyst
- Software quality management
- Software testing
- "What is Software Quality Assurance (SQA): A Guide for Beginners". Software Testing Help. Retrieved 2022-06-02.
- 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.
- Nielsen, David CMM and Project Quality Management
- "ISO/IEC/IEEE 90003:2018". ISO. Retrieved 2020-07-14.
- 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.
- IEEE Standard for Software Quality Assurance Processes. doi:10.1109/IEEESTD.2014.6835311. ISBN 978-0-7381-9168-3.
- April, Alain (2018). Software Quality Assurance. Wiley-IEEE. ISBN 978-1-118-50182-5.
- Chemuturi, Murali (2010). Software Quality Assurance: Best Practices, Tools and Techniques for Software Developers. J.Ross Publishing. ISBN 978-1-60427-032-7.
- "Software Quality Requirements". Software Quality Assurance. 2017. pp. 66–100. doi:10.1002/9781119312451.ch3. ISBN 9781119312451.
- "Software Quality Assurance(SQA): Plan, Audit & Review." Meet Guru99 – Free Training Tutorials & Video for IT Courses, www.guru99.com/software-quality-assurance-test-audit-review-makes-your-life-easy.html.
- Collofello, J.S.; Buck, J.J. (September 1987). "Software Quality Assurance for Maintenance". IEEE Software. 4 (5): 46–51. doi:10.1109/MS.1987.231418. S2CID 2205647.
- Parnas, D.L.; Lawford, M. (July 2003). "Inspection's role in software quality assurance". IEEE Software. 20 (4): 16–20. doi:10.1109/MS.2003.1207449. hdl:10344/161. S2CID 7071357.
- Laporte, Claude Y.; April, Alain (2018). Software Quality Assurance. John Wiley & Sons. ISBN 978-1-118-50182-5.