Future of Software Testing: Artificial Intelligence Assistance

No ratings

Presented at NDCSecurity 2020 by

In this talk, we will discuss Machine Learning practices in Software Testing stages in detail with a case study. This is an important study since nowadays, researches are looking for adaptation of Machine Learning algorithms to testing processes to reduce the manual effort and improve quality. We start with a quick view of the machine learning types. Then, we list AI applications in testing these perspectives: test definition, implementation, execution, maintenance and grouping, and bug handling. What’s more, we do not only present existing AI applications but also what can be done in the future. Finally, we summarize the application areas with algorithms and discuss the advantages and potential risks of AI applications in software testing. Stages in which AI is applied are:  Test definition  Implementation • Automatic code generation • Code completion  Execution: exploratory testing.  Maintenance and grouping, • Review test code. • Heal broken test code. • Prioritize test cases. • Constructing suites  Bug Management. • Triage • Classification • Assignment After the talk, attendees will be able to imagine how Machine Learning can be used to • generate automatically test cases. • review test code. • heal broken test code. • prioritize test cases. • exploratory testing. • manage bugs. Outline: * Introduction * ML Practices for Test Case Definition * ML Practices for Test Implementation * ML Practices for Test Execution * ML Practices for Test Maintenance: Self-Healing & Refactoring * Case-study: Estimation of severity of upcoming bugs according to trained model * Close & Questions