Expert Knowledge-Based RGT Solvers for Software Testing - Buniatyan, Mane P.; Grigoryan, Sedrak V.; Danielyan, Emma H. (Mathematical Problems of Computer Science, 2023)
Program testing is a way of assessing the quality of software and reducing the risk of software failure in operation [1]. Quality issues can cause as financial loss as well as harm to human lives (e.g., when the bug is in medical instruments, cars, etc.). So, it is very hard to underestimate the importance of testing. There are multiple testing techniques, which are split into 3 major categories. One of them includes experience-based techniques. Test cases and scenarios used in experience-based testing are derived from the tester’s knowledge and intuition, as well as their experience with similar applications and technologies. These techniques can be helpful in identifying tests that are not identified easily by other more systematic techniques. Depending on the tester’s approach and experience, experience-based techniques may achieve widely varying degrees of coverage and effectiveness [1]. We propose a method for automation of experience-based testing via a class of combinatorial problems (RGT class). A Solver is developed for the class. It acquires expert knowledge and elaborates effective strategies for RGT problems [2]. The proposed method generates test cases dynamically based on the response of the program. The adequacy of the method is being experimented for ”blender” open-source application, which has Python API allowing to experiment with testing and analyze test results.