TestLab: An Intelligent Automated Software Testing Framework

Tiago Dias,Arthur Batista,Eva Maia,Isabel Praça
2023-06-06
Abstract:The prevalence of software systems has become an integral part of modern-day living. Software usage has increased significantly, leading to its growth in both size and complexity. Consequently, software development is becoming a more time-consuming process. In an attempt to accelerate the development cycle, the testing phase is often neglected, leading to the deployment of flawed systems that can have significant implications on the users daily activities. This work presents TestLab, an intelligent automated software testing framework that attempts to gather a set of testing methods and automate them using Artificial Intelligence to allow continuous testing of software systems at multiple levels from different scopes, ranging from developers to end-users. The tool consists of three modules, each serving a distinct purpose. The first two modules aim to identify vulnerabilities from different perspectives, while the third module enhances traditional automated software testing by automatically generating test cases through source code analysis.
Software Engineering,Artificial Intelligence
What problem does this paper attempt to address?
The paper aims to address the issues of inefficiency, insufficient coverage, and low automation in the software testing process. With the widespread application of software systems in modern life, their development has become increasingly complex and time-consuming. Due to the software testing phase often being neglected or hastily completed, defective systems are deployed in real environments, significantly impacting users' daily activities. To solve these problems, the authors propose the TestLab framework, an intelligent automated software testing framework designed to integrate various testing methods through artificial intelligence technology, enabling continuous testing of software systems from different perspectives and levels (including developers to end-users). The framework consists of three modules, with the first two modules used to identify vulnerabilities from different perspectives, and the third module automatically generating test cases through source code analysis, thereby enhancing the capabilities of traditional automated software testing. In this way, TestLab not only improves the efficiency and effectiveness of testing but also ensures high-quality output of software systems throughout the entire software development lifecycle.