Software Quality Control
Para acceder a post original click aquí
What is Software Quality and how it is control ?
The word ‘Quality’ in context to software refers to compliance of requirements and specifications in the developed software, so as to meet the demands and expectations of the users. These requirements may be both functional and non-functional.
Software Quality Control (SQC) ensures the task of achieving and maintaining the quality in the software product. It is a set of activities that are carried out, with the aim of achieving quality in the software product. These activities may consist of tracing and removing of maximum possible bugs or defects in the software. In short, SQC consists of testing activities.
So, Software Quality Control (SQC) = Software Quality Assurance (SQA) ?
Although, both SQC and SQA, works towards achievement of quality in the software, but still they are not same. SQA concerns with the pre-development and on-going development process, whereas SQC takes care of post-development process. SQA ensures the standard and correct procedures for developing quality software, whereas SQC corrects the developed software, if required, to improve its quality. Thus, it may be interpreted that SQA is process-oriented and SQC is product oriented.
Generally, SQC follows a defined strategy, namely PDCA cycle i.e. Plan, Do, Check and Act, for controlling the quality.
- Plan: This involves defining of objectives and planning of carrying out quality control activities.
- Do: It is related to implementation and execution of the plans.
- Check: Study and analyse the results generated and comparing it with the expected result, to check deviation in the results.
- Act: It is the stage of applying corrections, if needed, to meet the objectives defined in the plan phase. It is followed by repetition of the cycle.
SQC is more than testing
The process of quality control is not limited to testing only. Apart from testing, SQC includes reviews and analysis. These reviews and analysis may be applicable to requirement, planning, design, test cases, and many other things.
Testing is an important component of the SQC for verifying and validating the specified requirements in the developed software. There are numerous testing methods available for carrying out the testing task for different-different needs. Some of them are
- Unit testing
- Functional testing
- Integration testing
- System testing
- Acceptance testing
- Beta testing
- Performance testing
- Regression testing
- Volume testing
- Recovery testing
- Usability testing
- Stress testing
- Load testing
- Installation testing
Although, SQA is essential for development process, but it may not guarantee the maximum possible quality of the product, as it is limited to process and procedures, but through SQC, we may assure of attaining maximum quality, as it directly works on the software product, to remove any defects or bugs, that occur in the software product, even after the implementation of SQA.