CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Test case prioritization usinf regression testing.pptx
1.
2. • Software regression testing verifies that software modifications do
not effect the existing functionality.
• Whenever there is a new business requirement and the existing code is
modified as per the requirement.
• Addition of new feature or service to the software.
• Post-defect fixing and redeploying the code to a specific testable
environment.
• Resolution testing
• Regression testing
4. Regression testing approaches
• The entire regression test suite cannot be carried out because the size
of the test suites grows larger with each successive regression run.
5. REGRESSION TESTING APPROACHES
• Retest all technique:
where all test cases in the test set are re-executed, but this technique is very
expensive because it requires a lot of resources and time.
• Regression test selection technique (RTS):
A specific part of the test cases in the test set is selected to be implemented,
this technique has a cost less than the cost of the re-test technique.
• Test case prioritization technique (TCP):
where the test cases are arranged appropriately to increase their effectiveness
and performance and increase the rate of discovery of errors, that is, precedence is
set for test cases, test cases with higher precedence are executed before test cases
with lower precedence, in order to reduce time, effort and cost during the testing
phase of the program.
6. • Kavitha, R., & Sureshkumar, N. (2010). Test case prioritization for
regression testing based on severity of fault. International
Journal on Computer Science and Engineering, 2(5), 1462–1466.
• Tyagi, M., & Malhotra, S. (2015). An approach for test case
prioritization based on three factors. Int. J. Inf. Technol. Comput.
Sci, 4(4), 79–86. doi:10.5815/ijitcs.2015.04.09
8. Test case prioritization technique based on fault of regression technique
is proposed from the requirement specification to improve the software
quality and to increase the fault detection rate.
In this paper, test case prioritization is done based on the six main
factors: (1) customer priority,
(2) changes made in requirement specification,
(3) complexity in implementation of code,
(4) re-usability,
(5) flow of application,
(6) impact of the fault.
9. Algorithm for Test Case Weight
1. Get the factors for Prioritization.
2. Compute the total number of planned test cases and the total number of required test
cases.
3. Find the values of all factors based on requirements.
4. Compute weight of each factor
5. Get the requirement weight
6. Map the test case based on the requirement.
7. Calculate the test case weight of each requirement.
8. Order the test case based on the weights. Ordering has to be made in descending
order(higher test case values runs first).
10. Proposed Prioritization of Test Case using Genetic
Algorithm
1. Initialize the random number of test cases.
Let N be the number of chromosome
Where number of test suite = number of chromosome.
2. Calculate the fitness function
Fitness function = total number of fault + minimum execution time of
selected test case.
3. Select the test suite based on fitness function Two best test cases are
selected.
11. 4. The genetic operators is applied.
DO for all selected test case
WHILE
DO crossover
DO mutation
Duplicate test case removed
End WHILE
End FOR
5. Optimization of the solution is checked.
IF (solution! = optimized)
Goto step 4
ELSE End
12. Analysis on the Fault Detected
• The APFD for each requirement with N defects is calculated using the
formula,
𝐴𝑃𝐹𝐷𝑖 =
𝑥=0
𝑁
𝑆𝑉𝑖
𝑇𝑆𝐹𝐷
𝑇𝑆𝐹𝐷𝑖 =
𝑥=0
𝑁
𝑆𝑉𝑖
13. Number of Test Case used to detect the Fault
• To find the number of test case used to detect the fault, the average test
effort index is used.
• If there is N number of test case in each software, then ATEI is calculated
using the formula,
𝐴𝑇𝐸𝐼𝑖 =
𝑇𝑇𝐸𝐼
𝑥=0
𝑦
𝑁𝑖