When we talk about software quality, we are actually talking about the evaluation of the software based on certain attributes. A software quality is defined based on the study of external and internal features of the software. The external quality is defined based on how software performs in real time scenario in operational mode and how useful it is for its users. The internal quality on the other hand focuses on the intrinsic aspects that are dependent on the quality of the code written. The user focuses more on how the software works at the external level, but the quality at external level can be maintained only if the coder has written a meaningful good quality code.
Presently there are two important approaches that are used to determine the quality of the software:
Quality Attribute Approach on the other hand focuses on six quality characteristics that are listed below:
1. Functionality: refers to complete set of important functions that are provided by the software
Cost of Software Quality
Cost of quality is important because when you decide to conduct software testing for your product you are actually going to invest your time, money and effort in getting quality checks done. By conducting an analysis of cost of software quality you would know what the return on that investment (ROI) is.
Quality Assurance VS Quality Control
Another subject that is closely related to quality assurance is quality control. People often get confused between the two but there is a huge difference. While quality assurance is all about preventive activities, quality control focuses on corrective processes.
Here is what you need to understand: software testing is a subset of quality control and quality control is a subset of quality assurance. Theentire focus of Quality assurance is on implementation of processes and procedures that are required for the verification of the software under development and the requirements of the client.
Quality control on the other hand deals with actual activities that ensure that the product is being developed as per the defined requirements. It deals with all the actions that are important to control and verify certain characteristics of the product including testing. Examination and testing of the products is the most important aspect of quality control.
Companies employ quality control team to identify if there is any product or service that does not meet the company’s standard of quality. If there is an issue the quality control team has the authority to stop the production of that product till the issue is resolved.Importance of Audit and Inspection
Audit comprises of some very systematic processes that define how the software testing is taking place in the organization. The audit team examines all the processes that are conducted at the time of testing. IEEE defines audit as a review of documented processes to ensure that the organization or a team is following all the processes as per the defined standards.
Inspection can be a formal or an informal review of software requirement, designer or code. It is conducted by a team or an individual person other than the author to check if there are any violations or deviations from the defined development standards. The following processes are considered as part of Inspection: