

Quality Control
What is software quality control and why is it important?
-
- The software QC is used to identify the defects in the software application. It improves the productivity of software development teams as well as software product quality. It enhances the organizational ability to produce a high quality software product. It makes the final software product ready to be delivered.
What is the international standard for software quality control?
- The ISO/IEC/IEEE has proposed a number 29119 for the international standard in software quality control, which is followed by software development life cycle (SDLC) model of development process.
The Testing Activities of the software quality control process are as follows:
|
|
|
|
|
|
Unit Testing:
The testing of the smallest independently executable parts /units/components of the software application. It is also known as component testing. It is done by the development team early in the development stage.
Integration Testing:
In this testing, to find the defects or bugs in interfaces or interactions between components/units i.e. to test if the combined units work or not. It is done by the Technology/Development Lead, not done by Testers. There are two approaches of Integration Testing i.e. Top Down and Bottom Up approach.
System Testing:
Once the deployment team sends a message that software is installed into the test environment. We start with build verification testing (Smoke test). Here we check if minimum features are working and send a mail to the development team that we are accepting or rejecting the build. It is also called end to end testing and is performed by the testing team in a testing environment. When two or more applications need to operate together, there is one more level of testing between system testing and user acceptance testing called system integration testing.
Acceptance Testing / User Acceptance Testing
The objectives of this testing are:
- To gain confidence for release.
- To check if the software is fit for the purpose.
- Checking the software from a business point of view.
It is performed by the client. It has two types such as Alpha Testing and Beta Testing. Alpha Testing is called Business Acceptance Testing (BAT) or Factory Level Testing, performed by the client on the development organization site. Beta Testing is called Product Verification Testing (PVT) or Field Level Testing, performed by the client in the place where the software is being used.
Release Testing:
The release testing is a final testing phase of a software product or application to verify the developed software to be released. Here the entire functionalities of that application should be tested to ensure the readiness of the software application
Maintenance Testing:
The testing of the software which is in production, when there are changes to either the (i.e. defects or modifications) software or to the environment. In this phase, we plan on Impact Analysis i.e. the change control board (CCB) would be a group of architects, designers, developers and testers, who can judge the impact of change asked by the client i.e. change request (CR).
It is also helpful for testing as it guides where to do most of the testing i.e. retesting and regression testing, This type of testing is done by the testers.
Check other Blogs from Here