Designing and prioritizing test cases is a very tedious task. Given all the advancements in the world of software testing, on any given day engineers spend several man-hours to identify all possible testing scenarios and preconditions attached with it. Test engineers then use the scenarios and preconditions to write multiple test cases. Every test case has a template skeleton to follow-expected results, actual results, priority, test suite category classification (regression, sanity, smoke, integration, etc.), and the respective software (i.e. version, build, release etc.) that has to be tested. Until now there have been efforts to make test case designing simpler by providing software test engineers with tools and processes. But these tools and processes still needs considerable amount of manual intervention in terms of understanding the requirements, analyzing the quality risks and documentation of all possible test scenarios in order to ensure a high quality software delivery. Man-hours spent on test case design and test case prioritization is directly proportional to the cost involved in building software. Our goal was to make sure that the manual intervention in test case design and test case prioritization is reduced to minimum without imposing any software quality risks. So, that the cost to ship and build software is reduced. With this paper we are presenting a solution to this problem. Our goal here was to use machine learning  to do automated test case prioritization and creation of test cases for software. In order to achieve this goal we used supervised machine learning  approach based on K-Nearest Neighbor classification model for test case design and test case prioritization . On experimenting with other linear and non-linear classifiers we learnt that they did not prove to be as accurate as K-Nearest Neighbor. Our method of machine learning based automated test case design and test case prioritization can be used by any software development organization to reduce it’s software development cost and time taken to ship software to their respective consumers. This aims to benefit the software development industry as a whole.
Sharma, M. M., Agrawal, A., & Suresh Kumar, B. (2019). Test case design and test case prioritization using machine learning. International Journal of Engineering and Advanced Technology, 9(1), 2742–2748. https://doi.org/10.35940/ijeat.A9762.109119