Skip to main content

SQA and statistical SQA

Short answer

SQA is planned systematic action ensuring software process and products conform to requirements, standards and procedures. Statistical SQA collects and categorizes defects, traces them to causes, applies the Pareto principle to isolate vital few causes, corrects them, then measures again.

What is Software Quality Assurance (SQA)? What steps are required to perform Statistical SQA?

Software Quality Assurance (SQA)

Software quality assurance is a planned and systematic pattern of actions that ensures the software process and products conform to their requirements, standards and procedures. It is an umbrella activity that runs through the whole project.

SQA includes (Pressman):

  • An SQA process and plan.
  • Quality assurance and control tasks: technical reviews and a multi-tiered testing strategy.
  • Effective software engineering methods and tools.
  • Control of work products and changes (configuration management).
  • Procedures to ensure compliance with standards.
  • Measurement and reporting.

Activities of the SQA group

  • Prepare the SQA plan.
  • Take part in defining the project's software process.
  • Review engineering activities to check that they follow the defined process.
  • Audit designated work products.
  • Ensure deviations are documented and handled.
  • Record non-compliance and report it to senior management.

Statistical SQA

Statistical SQA is a quantitative approach to quality: information about defects is collected and analysed so that the team fixes the few causes that produce most of the defects, instead of reacting to individual bugs.

Steps

  1. Collect and categorize information about errors and defects found in reviews, testing and use.
  2. Trace each error to its underlying cause, such as non-conformance to specification, design error, violation of standards, or poor communication with the customer.
  3. Apply the Pareto principle: about 80% of defects come from about 20% of the possible causes. Isolate these "vital few" causes.
  4. Correct the vital few causes by changing the process (training, better reviews, new tools), then measure again to confirm improvement.

Typical cause categories

CodeCause
IESIncomplete or erroneous specifications
MCCMisinterpretation of customer communication
IDSIntentional deviation from specifications
VPSViolation of programming standards
EDRError in data representation
ICIInconsistent component interface
EDLError in design logic
IETIncomplete or erroneous testing
IIDInaccurate or incomplete documentation
PLTError in programming language translation of design
HCIAmbiguous or inconsistent human-computer interface
MISMiscellaneous

Example: a team records 500 defects over one year.

CauseDefects%
IES11022.0
MCC8517.0
EDR7014.0
IET5511.0
ICI357.0
PLT, MIS (30 each)6012.0
EDL, IDS, IID, VPS, HCI8517.0
Total500100

IES, MCC and EDR are 3 of 12 causes but produce 265 defects (53%). Adding IET, 4 causes give 64%. So the team acts on these:

  • IES: use requirements templates and hold SRS reviews.
  • MCC: use prototyping and joint application meetings with the customer.
  • EDR: adopt data design tools and review data structures.
  • IET: improve test planning and coverage.
 Collect defects --> Find causes --> Pareto analysis
        ^                                  |
        |                                  v
  Measure again <-- Fix process <-- Vital few causes

Six Sigma extends statistical SQA. Its DMAIC steps are Define, Measure, Analyze, Improve, Control. The target is 3.4 defects per million occurrences.

Benefit: effort goes where it gives the largest reduction in defects, and quality improves steadily over projects.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Software Engineering chapter 9 questions →