11-09-2017, 12:58 PM
Regression tests ensure that changes made to corrections or any change in improvement do not affect the previous functionality. Each time the software is modified, a set of test cases is run to ensure that the changes do not affect the other parts of the software. Therefore, all existing test cases need to be tested, as well as new test cases need to be created. It is not feasible to re-run each test case for a given software, because if there are more number of test cases to be tested, more effort and time is required. This problem can be resolved by prioritizing test cases. Test case prioritization techniques rearrange the priority of a test case in an attempt to ensure that maximum faults are discovered by high-priority test cases. In this paper we propose an optimization test case prioritization technique using ant colony optimization (ACO) to reduce the cost, effort and time required to perform regression tests and also to discover the maximum faults.
Software testing is one of the important phases in the development of software systems. It evaluates the capability of the software program and reveals as many errors as a given product to achieve the desired results. Sometimes adapting the new features or fixing errors introduces changes in the software. Therefore, the regression test is intended to ensure that changes in the software have not adversely affected it and have not introduced errors. On the other hand, regression tests repeat other tests in "parallel" areas to ensure that the correction applied or a code change has not introduced other errors or unexpected behavior. In regression tests, a good test case is one that has a high probability of detecting undiscovered defects, and a necessary part of each test case is a description of the expected result. However, re-running existing test cases for regression testing is a potentially costly and time-consuming task. Therefore, the selection of test cases and the prioritisation of those are used to determine which test cases need to select and execute which makes the results more effective. In selecting test cases, a predetermined number of test cases from an existing test suite is selected to determine which test cases are needed to run based on some criteria. Important test cases are prioritized using a test case prioritisation strategy for testing under limited time conditions. Test case prioritisation is the process of scheduling test cases that will run in a particular order so that test cases with a higher priority are run earlier in the test sequence. Prioritise test cases to increase the failure detection rate of a test suite which is how quickly a test suite detects faults in the modified program to increase reliability. Studies reveal that the relative performance of a technique varies by different programs. Therefore, a regression test approach that is more consistent in different programs is required. A new method of selection and prioritisation of regression test cases using multiple criteria that are consistent compared to existing techniques can be considered.
Software testing is one of the important phases in the development of software systems. It evaluates the capability of the software program and reveals as many errors as a given product to achieve the desired results. Sometimes adapting the new features or fixing errors introduces changes in the software. Therefore, the regression test is intended to ensure that changes in the software have not adversely affected it and have not introduced errors. On the other hand, regression tests repeat other tests in "parallel" areas to ensure that the correction applied or a code change has not introduced other errors or unexpected behavior. In regression tests, a good test case is one that has a high probability of detecting undiscovered defects, and a necessary part of each test case is a description of the expected result. However, re-running existing test cases for regression testing is a potentially costly and time-consuming task. Therefore, the selection of test cases and the prioritisation of those are used to determine which test cases need to select and execute which makes the results more effective. In selecting test cases, a predetermined number of test cases from an existing test suite is selected to determine which test cases are needed to run based on some criteria. Important test cases are prioritized using a test case prioritisation strategy for testing under limited time conditions. Test case prioritisation is the process of scheduling test cases that will run in a particular order so that test cases with a higher priority are run earlier in the test sequence. Prioritise test cases to increase the failure detection rate of a test suite which is how quickly a test suite detects faults in the modified program to increase reliability. Studies reveal that the relative performance of a technique varies by different programs. Therefore, a regression test approach that is more consistent in different programs is required. A new method of selection and prioritisation of regression test cases using multiple criteria that are consistent compared to existing techniques can be considered.