Reinforcement learning for software testing Software development has traditionally focused on software testing. According to a survey of the State of Testing Survey 2017, about 40% of the budget is spent on testing, and more and more often, the preference is given to automated tests. The requirement for test automation and shorter development cycles makes it necessary to look for new ways of complex and universal testing. The use of modern machine learning systems allows for quick, universal testing.
Software testing used to be simple and straightforward to a certain level of complexity. For this purpose it is enough to write single tests and compare the results with the expectations. Coincidence will mean that the test is passed. Accelerating the pace of development does not allow the use of classical methods.
Also, the problem lies in the large amount of data that testers need to process for a limited period of time. This alone removes the traditional test methods from the equation and requires a more suitable approach. That is, based on artificial intelligence, machine learning and predictive analytics.
Traditional testing methods still rely on people to obtain and analyze data. The less time spent on data processing, the greater the likelihood that testing will lead to distorted results with missing software errors. This is why machine learning, which teaches systems to learn and apply this knowledge in the future, makes software testers get more accurate results than traditional testing would ever have.
Modern testing allows for adaptive regression tests without the need to directly specify a test pair. Thus, the software is tested to perform functions that correspond to the prototype or preserve certain properties.
However, not all types of testing are adapted. Most of them still require manual research, such as functional testing and safety. In such cases, RL can be a great substitute for a person. The main objective of which is to search for all possible combinations and actions that can lead to the desired result. The use of radar can not only replace a person, but also improve the quality of checks as such systems allow finding non-trivial solutions unusual for a person.