Sai Chaithra Allala
Knight Foundation School of Computing and Information Sciences
Sai Chaithra Allala received her master’s degree from Florida International University’s Knight Foundation School of Computing and Information Sciences in Computer Science and is currently pursuing a Ph.D. in Computer Science. Her research areas of interest include software engineering, software testing and computer science education. Currently, her research focuses on using model-driven software engineering, natural language processing and machine learning to automate the generation of test cases from user requirements.
Testing continues to be the major approach to ensuring the quality of software during development. Although there have been many attempts to automate the generation of test cases from user requirements (formal or informal), the widespread approach to creating test cases continues to be mainly a manual process. However, many studies have shown that automating the generation of test cases from requirements can substantially reduce costs and improve the efficiency of the testing process. Test automation has also proven to show positive effects on software quality. With the advances of Model-driven Software Engineering (MDSE), Artificial Intelligence (AI) and Natural Language Processing (NLP), the possibility of further automating the generation of test cases from requirements is increasing.
The approach we are working on is to use a model-to-model (M2M) transformation to convert user requirements into test cases with the support of a knowledge base. The key to this transformation process is the use of meta-models to represent user requirements (use cases, user stories, etc.) and test cases. The proposed M2M transformation is composed of three phases. Phase 1 includes the creation of M2M transformation rules from the user requirements meta-model to the abstract test case meta-model and an initial knowledge base with grammatical relationships to support the transformation. Phase 2 uses NLP and a data model to generate an enhanced user requirements model, which is then transformed into abstract test cases using the transformation rules and the knowledge base. Phase 3 includes the generation of concrete test cases using the abstract test cases and a data model instance.
To date, a prototype has been created that accepts as input a source model for the user requirement (use cases and user stories), validates the model against a meta-model, and performs NLP processing with a pipeline of extraction features from the user requirements while using the knowledge base. We then create an enhanced user requirements (EUR) model, which is validated against a EUR meta-model, and then transformed to a target model (abstract test case) using the predefined rules of an M2M transformation. Finally, to complete the prototype, a component will be added to generate concrete test cases by querying a database instance and using abstract test case models. We will validate our test case generation process by comparing generated concrete test cases against existing testing cases from student projects using the relevant database instances.