Software Quality Management
Software Engineering Series Part 3
Definition of Quality
- Fitness of use - fidelity to requirements, available, reliable, accurate, speed and ease of use
- Absence of defects
- Single measure of quality - Number of remaining defects per unit functionality
- Measured in two ways - Static RDD and Dynamic RDD
- Static RDD - Open defects per line of code; should interest the developer; Collected in Alpha tests
- Dynamic RDD - Open defects per transaction; detected at runtime; Collected in Beta tests and should interest the customers
- Availability
- Reliability
- Accuracy
- Speed
- Ease of use
- How often is the system unavailable for use; either regularly or sporadically
- Planned and Unplanned downtime
- Defined in terms of planned hours of service, like between 7:00 AM to 10:00 PM and maximum allowable unplanned downtime, like not more than 15 minutes per working day.
- How often does a system fail to perform a requested function or transaction
- Most system also specify the corrective actions to be taken in case of a failed transactions
- How often does the system give bad or wrong result
- Measure of how nearly correct is any information in the system. For example, the time of arrival of train in MRT station.
- How quickly can the system perform a transaction
- There are two aspects to speed - system performance (how fast the system can respond to a request) and ease of use (how easy or fast is the system for the user to make a request)
- How easy is the system to use from the users perspective
- Depends on many things such as system speed and accuracy, intuituveness, user speed and accuracy
- Initial tasks of Quality management - specify (1) What is users expectation of quality (2) What quality is practically possible in the budget and timeline constraints (3) What is out of the scope
- All quality related specifications are referred in terms of metrics. Each quality attribute is measurable and is quantified and has a threshold value. This threshold value divides the acceptable from the unacceptable quality.
- Another important part of the specification is the mesaurability - how, when and by whom should the quality attribute measurements be taken.
- Finally the specification should lay in concrete terms the action plan - should specify the product components affected, checks or tests to be performed, roles and responsibilities of checkers and testers, actions to be taken in case of failures.
- Objective to prove to our satisfaction and the customer's satisfaction that the project output meets the requirements specification.
- Typically involves two parts - Quality Assurance and Quality Control and the various activities are carried out at several stages of the development phase.
- Inspection - Detailed and systematic scanning of the product by a skilled personnel; Generally done for documentation, help files, installation guides, navigation screens and other user centric components
- Reviews - Structured walkthrough of a product by a review team. Review team could be comprised of customers, development representative and perhaps an external expert; generally done for system architecture, high level design and workflow
- Tests - Black and White box testing; Stress test; generally dont for functional components
- When - What points in life cyles
- What - system, functions, attributes
- Who - developer, customer, auditor
- How - process and technique
- Success criteria
- Follow up action
- Formal acceptance
- Notice of deviation
- Request for corrections
- Approval to continue
- Approval of payment
s
ss