Dionny Santiago, Ultimate Software
Tariq King, Ultimate Software
Peter Clarke, Florida International University
Although recent test automation practices help to increase the efficiency of testing and mitigate the cost of regression testing, there is still much manual work involved. Achieving and maintaining high software quality today involves manual analysis, test planning, documentation of testing strategy and test cases, and development of test scripts to support automated testing. To keep pace with software evolution, test artifacts must also be frequently updated in order to stay relevant. Current test automation is unable to generalize across applications and is unable to mimic human intelligence. As such, there is a large gap between the current state of practice and a fully automated solution to software testing.
This paper investigates a practical approach that leverages AI and ML technologies to generate system tests based on learning testing behavior directly from human testers. The approach combines a trainable classifier which perceives the application state, a language specification and grammar for describing test flows, and a trainable test flow generation model in order to generate test cases learned from human testers. Preliminary results gathered from applying a prototype of the approach are promising and bring us one step closer to bridging the gap between human and machine testing.