GithubHelp home page GithubHelp logo

nonstationary_rl's Introduction

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.

nonstationary_rl's People

Contributors

anaypat avatar osipychev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.