Quality Control Issues and Testing
Why Testing/Quality Assurance?
Rising customer expectations for fault free requirements-exact software has increased awareness of the importance of software testing as a critical activity. The payoffs from QA/testing are in form of customer satisfaction, reduced costs taking quality in consideration, efficient processes.
Who is responsible for testing?
Contradicting the myths, quality is everyone's job who is involved in the SDLC of the software.
Cost, Quality and Time are tightly fastened with each other. Change in any of these two values are going to make an impact on the third factor.
Quality and Cost together follow the laws of diminisence i.e. upto certain extent, quality linearly increases with cost but after some point, there is exponential growth in the cost for acquiring quality beyond that critical point.
At least the optimal quality should be achieved but maximum quality is not always desirable.
Proper way of testing
a. Find Test Equivalence class.
b. Add Test Cases for each test class.
Test Equivalence class is a property which will be constant for a group of several other cases. Different test cases can be written within the domain of this test equivalence class. This helps the tester in classification of his work, which has a significant impact in solving the complexity of the various independent testing paths.
The software development and the testing of the software is getting unpredictable these days. Small changes can cause a project to exponentially diverge from stability.
Tester should be able to prioritize, rationalize each test cases within every test plans so the Project manager feels confident and comfortable at tester’s part.
Ideal Testing Procedure
It is an incremental process which can be represented in concentric Circles.
a) First the build test(smoke testing) needs to be done at the arrival of new build.
b) On the successful completion of this test, regression or other testing can be done depending upon the requirement.