Software Quality Assurance

Software faults

Traditionally, the reliability of computer systems is ensured by introducing hardware redundancy whereby computer units (e.g. processors and discs) and data are duplicated. If a fault occurs in a unit, it is taken over by a standby unit without causing any inter­ruption of the services to users. However, this approach has no effect for faults in the software. Software faults may pass un­detected during tests, such dormant faults may manifest them­selves only during operation.

Software verification

Software must be subjected to a rigorous verifi­cation programme designed to detect any faults at the earliest oppor­tunity. The effectiveness of finding faults depends on a range of factors e.g. the controll­ability and observ­ability of the software item being tested, test completion criteria and even the mindset of the test designers. By using our knowledge in methods used in verifi­cation of critical software, we offer support to assure that the software supplier has an effective software verifi­cation programme in place.

Deficiencies stemming from software requirements

Software may also have deficiencies that stem from inadequate software requirements. Problems with software requirements may include un­stated assump­tions, ambiguous requirements, non-verifiable requirements and requirements that are inconsistent with each other.

qual-IT Software Quality Consulting offers support that aims to ensure that software requirements are complete, clear, consistent, verifiable and can be traced to and from their implemen­tation and test cases. This support may take the following forms:

  • Organize staff (including key roles) to be part of the software requirements elicitation
  • Instruct staff of how to elicit and express software requirements
  • Provide checklists to ensure a minimum and consistent review criteria
  • Review and provide constructive feedback of draft software requirements
  • Organize review meetings

Software quality audits

qual-IT Software Quality Consulting offers to organize and carry out software quality audits. A software quality audit

  • seeks to find objective evidence of that selected key activities have been carried out;
  • assesses the effectiveness of the software supplier's processes with respect to a) prevention of faults from becoming introduced in the software, and b) detection and removal of faults present in the software.

Quality audits are normally carried out on the premises where the software development is carried out. Our auditor is experienced, has received formal training in software quality auditing and is authorized for registration in the International Register of Certificated Auditors (IRCA).