• Funding : Artois, Université de Gabès
  • Start year :
  • 2024

Joint work with University of Gabès

Modern software systems are increasingly complex, and their frequent updates demand robust and consistent testing practices. In this context, regression testing, preparation for software releases, and management of large-scale projects benefit significantly from a well-written and reusable specification. Such documents serve as reliable references that ensure testing protocols remain consistent across development cycles. As the number of software applications increases and the demand for high-quality systems grows, test automation becomes a critical component of the software engineering life cycle. It allows for fast feedback, reduction of human errors, reproducibility, and cost-effectiveness. Automation also supports continuous integration pipelines and facilitates early bug detection, which is essential in modern agile and DevOps environments.

Recent research has turned towards Machine Learning (ML) and Natural Language Processing (NLP) techniques to enhance test automation. Various approaches have attempted to bridge the gap between high-level specifications and executable code or test scripts. Despite these advances, automated generation of test cases remains a challenge. Most techniques require access to both the software’s specification and its source code. Even when available, generating relevant and comprehensive test cases that align with user intentions and system behavior is complex.

The main objective of this PhD project is the design and implementation of a Generative Transformer-based model for System Test Automation. The specific goals include proposing an architecture that processes both natural language specifications and source code, training a transformer model (e.g., T5, CodeT5, or a hybrid variant) to generate meaningful, human-readable test cases, evaluating the model on standard benchmarks and real-world datasets, comparing the performance with existing test generation tools using metrics like BLEU, CodeBLEU, and test coverage, and studying the model’s interpretability and adaptability across different application domains.