The Software Testing Cycle: A Valuable ProcessWhen software is developed, it goes through an entire battery of software testing. For each part of the development, there is a test to be performed to make sure the unit or module works to specifications. When all the units are put together, they are tested again as a whole. From the beginning to the end when the software is released, it goes through an entire software testing cycle. The software testing cycle consists of different stages such as the planning, analysis, design, execution, cycles, final testing and implementation. Within each of these stages, there are individual software tests that are performed to make sure the security, performance, functionality, etc are all what is required of them before release of the software product. Other qualities and characteristics of the software that are tested are usability, reliability, efficiency, portability and maintainability. We are all aware of white box testing (an interior viewpoint of the software) and black box testing (an exterior view of the software). These two tests, in addition to gray box testing are performed as part of the software testing cycle. There are more intricate software tests that are performed for every little step of the development of the software. Verification and validation are two major parts of the software testing cycle. Verification is checking that they are making the software right and validation is making sure they are making the right software. The beginning of the testing cycle is the alpha cycle and within that cycle are many small tests. Unit testing tests each individual unit to assure that they are functioning as they were designed to function. The units are then integrated together to make up a larger component. Integration testing is to make sure they work as well together as a group as they did as individual units. Functional testing is done to make sure that each function of the software works individually as well as in a group. Performance testing is done throughout the cycle to make sure that the software performs as the specifications indicate. Usability testing is performed to make sure that it is compatible with other software and parts of the software. If there is a problem within the software, it is corrected and then a regression test is performed to make sure that the software is still functioning, as it should. Often a program will work well, a bug is discovered and removed and then the software fails to operate. So regression tests are completed after any changes are made to make sure the software works the same as it did prior to the change. When all tests have been completed successfully, the software goes into the beta phase of testing and released. When it is in the beta stage, customers and consumers are using it as a sample to see if there are any bugs or issues that need to be resolved. |