Page 184 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 184
Unit 12: Software Quality Assurance
4. Usability: Usability is the effort to describe the user friendliness. It relates to the calculation of
total effort required to learn and operate a particular software program.
5. Maintainability: Maintainability addresses the effort required to locate and fix an error in an
operational system, to ensure smooth operation of the system.
6. Flexibility: Flexibility identifies the effort required to alter a program.
7. Testability: Testability relates to how far a software program can execute the intended function.
8. Portability: Portability identifies the effort required to transfer a program from one software to
another.
9. Reusability: Reusability relates to the extent to which a program can be reused in other
applications.
All these factors are important in determining the quality of a software product.
Reliability is a software quality factor which cannot be evaluated directly.
However, the attributes related to reliability can be measured.
Software Quality Assurance
The function of software quality assurance is to provide a guarantee that the standards, methods, and
procedures in place are suitable for the project and can be implemented. SQA (Software Quality
Assurance) not just guarantees the use of the recognized standards, processes, and procedures but also
gathers various software measures which are necessary for evaluating the standards, processes, and
procedures that are being implemented within the organization. Thus, SQA plays a major role in
improving the overall performance of the process.
Software Quality Control
Quality Control is defined as “a set of activities designed to evaluate the quality of a developed or
manufactured product" (IEEE, 1991); in other words, “Activities whose main objective is the
withholding of any product that does not qualify”-- Daniel Galin, in his book, Software Quality
Assurance. Therefore, quality control is the inspection carried out after the completion of a product, but
before the product is shipped to the client.
Software quality control is a department function, which involves comparing the standards against the
product and rectifying the non-conformances detected during the process.
Unit Testing, System Testing, and Integration Testing are software control
activities.
Considering the example of testing, software quality control involves operation of a system or
application under controlled conditions and evaluating the results against quality goals. The controlled
conditions include both normal and abnormal conditions. This consists of a set of methods
implemented by companies to ensure that the software product meets the set quality goals at the most
excellent value to the client which thereby helps in the progress of an organization.
Quality Assurance is achieved only when quality products are developed. Periodical auditing and
reporting systems are the basic tools of quality control. Although, the management has access to data
related to the project, it is the ‘Audit report’, which provides the management the necessary information
about the post-inspection data. This provides the management the confidence that the product quality is
up to the mark and that it is set to meet the objectives of the developed software.
On developing a new software product, the product variation control is to be set. Variations may occur
while designing the product, which in turn affects the quality of the product. By conducting various
inspection reviews and investigations, effective control over the quality can be obtained. This verifies
that each section of the working module and functionally meets its assigned task. The variations in the
process are identified, recorded, and sent back to the development team for correction.
LOVELY PROFESSIONAL UNIVERSITY 177