Loading...

Test Case Selection in Test-Driven Development

Mafi, Zohreh | 2024

4 Viewed
  1. Type of Document: Ph.D. Dissertation
  2. Language: Farsi
  3. Document No: 56884 (52)
  4. University: Sharif University of Technology, International Campus, Kish Island
  5. Department: Science and Engineering
  6. Advisor(s): Mirian Hosseinabadi, Hassan
  7. Abstract:
  8. The large number of unit tests produced in the test-driven development (TDD) method and the iterative execution of these tests extend the regression test execution time in TDD. This study aims to reduce test execution time in TDD. We propose a TDD-based approach that creates traceable code elements and connects them to relevant test cases to support regression test selection during the TDD process. Our proposed hybrid technique combines text and syntax program differences to select related test cases using the nature of TDD. We use a change detection algorithm to detect program changes. Our experience is reported with a tool called RichTest, which implements this technique. To evaluate our work, first, some simple programs were implemented and evaluated. Then a program was developed to find TDD programs on GitHub. Seven TDD projects have been selected. The number of executed test cases, Regression testing time, and modified code coverage were evaluated in TDD, simple TDD, and RichTest. The implementation results indicate that the RichTest plugin significantly decreases the number of selected test cases and also the time of regression testing despite considering the overhead time. The test suite effectively enables fault detection because the selected test cases are related to the modified partitions. Moreover, the test cases cover the entire modified partitions; accordingly, the selection algorithm is safe. The concept is particularly designed for the TDD method. Although this idea is applicable in any programming language, it is already implemented as a plugin in Java Eclipse
  9. Keywords:
  10. Software Testing ; Test Driven Development (TDD) ; Regression Test ; Change Detection ; Code Coverage ; Segmentation ; Program Differencing ; Regression Test Case Selection

 Digital Object List

 Bookmark

No TOC