Test Case Design and Test Case Prioritization using Machine Learning
Mayank Mohan Sharma1, Akshat Agrawal2, B. Suresh Kumar3
1Mayank Mohan Sharna, Principal Software Test Lead, Zillow Inc, San Francisco, USA.
2Akshat Agrawal, Computer Science, Amity University Haryana, Gurgaon, India.
3B. Suresh Kumar*, Computer Science, Amity University Rajasthan, Jaipur, India.
Manuscript received on September 22, 2019. | Revised Manuscript received on October 20, 2019. | Manuscript published on October 30, 2019. | PP: 2742-2748 | Volume-9 Issue-1, October 2019 | Retrieval Number: A9762109119/2019©BEIESP | DOI: 10.35940/ijeat.A9762.109119
Open Access | Ethics and Policies | Cite | Mendeley
© The Authors. Blue Eyes Intelligence Engineering and Sciences Publication (BEIESP). This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
Abstract: 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 [5] to do automated test case prioritization and creation of test cases for software. In order to achieve this goal we used supervised machine learning [6] approach based on K-Nearest Neighbor classification model for test case design and test case prioritization [4]. 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.
Keywords: Test Case Design, Test Case Prioritization, Machine Learning, Supervised Learning, K-Nearest Neighbor Classifier, Software Development, Software Testing.