Software testing is an essential part of the quality assurance activities in the entire process of software quality development. According to the method of classification based on the different ways of working with software bugs, software testing falls under the category of tools for reducing faults, that also includes different checking activities and a various kinds of dynamic and static analyzing.
Unlike inspection, where error detection occurs during the control analysis, testing error detection occurs circumstantially during the execution of software product. Nevertheless, testing and various inspections often reveal different types of program errors and may be more effective depending on various circumstances. Consequently, verification and testing should be considered as additional activities for quality assurance than as rival ones.
Similarly, other quality alternatives can be used in addition to testing. For instance, software bugs prevention can significantly reduce error injections during software engineering that leads to the detection or removal of a smaller number of errors during testing and thus reduces necessary testing efforts and costs.
Formal inspection can be used to check some of the basic functions of the product instead of using the exhaustive testing for them. Error tolerance and the strategies for containment of errors can be used for critical systems, where the used environment can include a variety of unexpected events that are very difficult or impossible to test during the development process. Various quality assurance alternatives have different strong and weak features, and a concerted effort and united strategies that include software testing and other quality assurance activities are usually required for the successful quality assurance process.
Software testing as a considerable part of the quality assurance, also affiliates to different software engineering processes as a significant stage of the development or as considerable activities accompanying other software engineering activities. In the waterfall process, software testing is focused in the dedicated testing stage with unit testing. Also it is spread in the implementation stages and some late testing before the product release and support.
Nevertheless, test preparation has to be started in the early stages. Analyzing test results and subsequent activities should be conducted in parallel with testing, and have to be continued even when the vast testing was completed in order to make sure that all found software bugs are resolved and efforts for improvement are planned and executed.
Although testing activity can be used slightly differently in other engineering processes, it still plays an important role for them. In some processes for software development, testing plays even more significant role. For instance, test-driven development plays main role in extreme programming. Software testing is also required for different maintenance activities.
Unlike inspection, where error detection occurs during the control analysis, testing error detection occurs circumstantially during the execution of software product. Nevertheless, testing and various inspections often reveal different types of program errors and may be more effective depending on various circumstances. Consequently, verification and testing should be considered as additional activities for quality assurance than as rival ones.
Similarly, other quality alternatives can be used in addition to testing. For instance, software bugs prevention can significantly reduce error injections during software engineering that leads to the detection or removal of a smaller number of errors during testing and thus reduces necessary testing efforts and costs.
Formal inspection can be used to check some of the basic functions of the product instead of using the exhaustive testing for them. Error tolerance and the strategies for containment of errors can be used for critical systems, where the used environment can include a variety of unexpected events that are very difficult or impossible to test during the development process. Various quality assurance alternatives have different strong and weak features, and a concerted effort and united strategies that include software testing and other quality assurance activities are usually required for the successful quality assurance process.
Software testing as a considerable part of the quality assurance, also affiliates to different software engineering processes as a significant stage of the development or as considerable activities accompanying other software engineering activities. In the waterfall process, software testing is focused in the dedicated testing stage with unit testing. Also it is spread in the implementation stages and some late testing before the product release and support.
Nevertheless, test preparation has to be started in the early stages. Analyzing test results and subsequent activities should be conducted in parallel with testing, and have to be continued even when the vast testing was completed in order to make sure that all found software bugs are resolved and efforts for improvement are planned and executed.
Although testing activity can be used slightly differently in other engineering processes, it still plays an important role for them. In some processes for software development, testing plays even more significant role. For instance, test-driven development plays main role in extreme programming. Software testing is also required for different maintenance activities.
SHARE