What is software quality assurance?

    Short answer

    Software quality assurance (SQA) is the set of planned, process-level activities that prevent defects throughout software development, from requirements to release. It covers standards, reviews, audits and test planning, and it is wider than testing alone. Its aim is software that meets requirements reliably, without relying on bug-fixing at the end.

    Last updated · TeamAssurance

    How is software quality assurance different from software testing?

    Testing runs the software to find defects. Quality assurance looks at the whole way the software is built, so fewer defects are created in the first place. Testing is one activity inside a quality assurance system.

    Software quality assurance (QA)Software quality control (QC)Software testing
    FocusThe process used to build the softwareThe product that comes outRunning the software against expected results
    ApproachPreventiveDetectiveDetective
    Typical activitiesStandards, code review, process audits, trainingInspection, defect tracking, release checksUnit, integration, system and acceptance tests
    TimingThroughout the lifecycleAt milestones and before releaseDuring and after build

    What does a software quality assurance process include?

    1. Quality plan. Agree the standards, roles, tools and the measures that will show quality is on track.
    2. Requirements review. Check that requirements are clear, testable and complete before work starts.
    3. Reviews and inspections. Peer code review and design review catch problems while they are cheap to fix.
    4. Test planning. Decide what will be tested, at which level and with what pass criteria.
    5. Process audits. Confirm the team is following the agreed process, not just producing output.
    6. Defect management. Log each defect, find the root cause and fix the process, not only the code.
    7. Release and retrospective. Check the release criteria, then review what to change next time.

    What are common software quality assurance measures?

    • Defect density: defects found per size of the software, such as per thousand lines of code.
    • Escaped defects: problems found by users after release.
    • Test coverage: the share of code or requirements exercised by tests.
    • Review effectiveness: the share of defects caught before testing.
    • Mean time to repair: how long a defect takes to fix once found.

    Which standards apply to software quality assurance?

    ISO/IEC 25010 defines software product quality characteristics such as reliability, security and maintainability. ISO 9001 sets quality management system requirements that many software teams adopt for their processes. Teams often add CMMI or an agile framework for how the work is run.

    How TeamAssurance helps

    TeamAssurance is not a software testing or bug-tracking tool. The same quality assurance habits apply to operations teams, and TeamAssurance supports them there: scheduled audits and checklists at the point of work, non-conformances raised and moved through root cause analysis and CAPA, and quality measures reviewed on the tier board.

    Frequently asked questions

    What is the difference between QA and QC in software?

    Quality assurance focuses on the process and aims to prevent defects. Quality control checks the finished product and aims to find them. Software teams need both.

    Is software quality assurance the same as testing?

    No. Testing is one part of quality assurance. Software quality assurance also covers standards, reviews, audits and defect prevention across the whole lifecycle.

    Who is responsible for software quality assurance?

    Quality assurance engineers often lead it, but developers, product owners and managers share responsibility. Quality is built by the whole team, not added by one role at the end.