Carlson, Ryan Curtis2024-04-042024-04-042010https://hdl.handle.net/10365/33766Regression testing is an important activity for controlling the quality of a software product, but it accounts for a large proportion of the costs of software. We believe that an understanding of the underlying relationships in data about software systems, including data correlations and patterns, could provide information that would help improve regression testing techniques. As an initial approach to investigating the relationships in massive data in software repositories, in this paper, we consider a clustering approach to help improve test case prioritization. We implemented new prioritization techniques that incorporate a clustering approach and utilize history data on real faults and code complexity. To assess our approach, we conducted empirical studies using an industrial software product, Microsoft Dynamics Ax, which contains real faults. Our results show that test case prioritization that utilizes a clustering approach can improve the rate of fault detection of test suites, and reduce the number of faults that slip through testing when testing activities are cut short and test cases must be omitted due to time constraints.NDSU policy 190.6.2https://www.ndsu.edu/fileadmin/policy/190.pdfComputer software -- Testing.Regression analysis.Document clustering.A Clustering Approach to Improving Test Case Prioritization: An Industrial Case StudyMaster's Paper