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:
- Conformance to requirements - including timeliness, cost.
- Fitness for use - does it actually do the job?
- Freedom from errors and failures - is it reliable and robust?
- Customer satisfaction - are users happy with it?
Software quality is the degree to which a system, component, or process meets:
- the specified requirements
- the customer’s or user’s needs or expectations
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 |