Loading...

Test Cases Selection Based on the Software Source Code Features

Tamadon, Mahdi | 2022

279 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 54759 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Mirian Hossein Abadi, Hassan
  7. Abstract:
  8. Quality Assurance is one of the crucial steps in software production and should be repeated. These days, software companies are using continuous integration (CI) pipelines for building software and controlling software quality. Regression test, is a test which is performed after each change in software, to assess the quality of the software system and its ability to meet functional and non-functional needs. Each execution of this test, leads to infrastructure costs and a waste of time for the software development team. The reason is that the development team has to wait until the test is completed to ensure that the changes are correct. To reduce this cost, methods such as prioritizing and selecting higher priority test cases have been proposed. These methods can lead to early detection or reduction of testing time.The main focus of this thesis is on test case prioritization and selection based on software code features, changes history, and test execution results. To achieve this goal, a model is proposed which, by receiving changes and features of the source code, can sort the test cases based on the probability of failure to select the percentage of test cases and execute them, or to prioritize and increase the fault detection speed. This model functions in a way that can be used in CI pipelines. To evaluate the performance of this method, we applied it to 17 open-source software. The average accuracy obtained based on the APFD metric is 95.5%, which is 10% higher than the baseline method which is presented in the data set. According to the findings of this thesis, using the bad smells as a feature of the software source code, can improve prioritization accuracy by 1.9%, compared to not using it
  9. Keywords:
  10. Software Testing ; Continuous Integration (CI) ; Code Bad Smell ; Regression Test Case Selection ; Test Case Prioritization ; Software Product Line ; Software Quality Assurance ; Quality Control

 Digital Object List

 Bookmark

No TOC