Quality Assurance

Introduction

Quality Assurance (QA) is the study of methods and disciplines for achieving quality results.

Quality is not a single idea, as it has many aspects. Popularly, quality is often associated with perception. Professionally, there is an ethical imperative to quality, but even further than that it is a professional responsibility, a moral and legal requirement.

From a professional standpoint quality should be measurable, this includes:

Software quality is the degree to which a system, component, or process meets:

Software quality is discussed in terms of several different dimensions, which are referred to as quality parameters. The two groups of parameters are technical and user quality parameters.

Technical Quality Parameters

Technical quality parameters are open to objective measures and technical solutions.

Parameter Description Measured By
Correctness Lack of bugs and defects Defect rate (# of bugs / line of code)
Reliability Does not fail or crash often Failure rate (# of failures / hour)
Capability Does all that is required Requirements coverage (% if requirements implemented)
Maintainability Ability to adapt to meet new requirements Change logs (time & effort required to add feature)
Impact Analysis (# of lines affected with new requirement)
Performance Speed and memory efficient Speed (CPU time)
Memory (Mb of memory)

User Quality Parameters

User quality parameters often require subjective analysis and nontechnical solutions.

Parameter Description Measured By User Satisfaction
Usability Sufficiently convenient for intended users % of users happy with interface and ease of use
Installability Convenient and fast to install # of install problems reported per installation
Documentation Well documented % of users happy with documentation
Availability Easy to access and available when needed % of users reporting access problems