Shivani H – McAfee
The technological advancements in field of software testing has led to a paradigm shift from manual testing to automation testing. In today’s competitive market, the time to market (TTM) of any product has reduced drastically which in turn demand quick development and highly prioritized testing. Regression testing is retesting modified software to ensure that changes are correct and do not have an adverse effect other component of the software. It is usually resource extensive task and time consuming for quality team to figure out how a change in software will impact in other components of the software. Each time the development team modifies the existing code, the quality team should design appropriate test cases and add to the regression suite.
Wouldn’t it be great if you could answer the classic testing question, “If I’ve made a change in this piece of code, what’s the minimum number of tests I should be able to run in order to figure out whether or not this change is good or bad?” Conceptually, if we can identify the parts of a system-under-test (SUT) affected by changes to a program, then we can prioritize on testing those parts and provide cost-effective testing solutions.
This paper aims to explore the recent use of Machine Learning methods in the field of automated software testing, and particularly, regression testing, which is an ideal target for ML or autonomous testing. The emergence of machine learning-based automated regression testing demonstrates many fruitful new methods and approaches to adapting data collected during regression testing to the aggregation of big datasets for use in building systems which can provide the minimum number of test cases required test the modified code.