Regression test cases prioritization using clustering and code change relevance

Regression testing is important for maintaining software quality. However, the cost of regression testing is relatively high. Test case prioritization is one way to reduce this cost. Test case prioritization techniques sort test cases for regression testing based on their importance. In this paper,...

وصف كامل

محفوظ في:
التفاصيل البيبلوغرافية
المؤلف الرئيسي: Haraty, Ramzi A. (author)
مؤلفون آخرون: Mansour, Nashat (author), Moukahal, Lama (author), Khalil, Iman (author)
التنسيق: article
منشور في: 2016
الوصول للمادة أونلاين:http://hdl.handle.net/10725/5129
http://dx.doi.org/10.1142/S0218194016500248
http://libraries.lau.edu.lb/research/laur/terms-of-use/articles.php
http://www.worldscientific.com/doi/abs/10.1142/S0218194016500248
الوسوم: إضافة وسم
لا توجد وسوم, كن أول من يضع وسما على هذه التسجيلة!
الوصف
الملخص:Regression testing is important for maintaining software quality. However, the cost of regression testing is relatively high. Test case prioritization is one way to reduce this cost. Test case prioritization techniques sort test cases for regression testing based on their importance. In this paper, we design and implement a test case prioritization method based on the location of a change. The method consists of three steps: (1) clustering test cases, (2) prioritizing the clusters with respect to the relevance of the clusters to a code change, and (3) test case prioritization within each cluster based on metrics. We propose a metric for measuring test case importance based on Requirement Complexity, Code Complexity, and Code Coverage. To evaluate our method, we apply it on a launch interceptor problem program, and measure the inclusiveness and precision for clusters of test cases with respect to code change in specific test cases. Our results show that our proposed change-based prioritization method increases the likelihood of executing more relevant test cases earlier.