Automatic Generation of System Test Cases from Use Case Specifications: an NLP-based Approach

07/19/2019
by   Chunhui Wang, et al.
0

Software testing plays a crucial role to ensure the conformance of software systems with their requirements. Exhaustive testing procedures are enforced by functional safety standards which mandate that each requirement be covered by system test cases. Test engineers need to identify all the representative test execution scenarios from requirements, determine the runtime conditions that trigger these scenarios, and finally provide the test input data that satisfy these conditions. Given that requirements specifications are typically large and often provided in natural language (e.g., use case specifications), the generation of system test cases tends to be expensive and error-prone. In this paper, we present Use Case Modelling for System Tests Generation (UMTG), an approach that supports the generation of executable system test cases from requirements specifications in natural language, with the goal of reducing the manual effort required to generate test cases and ensuring requirements' coverage. More specifically, UMTG automates the generation of system test cases based on use case specifications and a domain model for the system under test, which are commonly produced in many development environments. Unlike existing approaches, it does not impose strong restrictions on the template of use case specifications. It relies on recent advances in natural language processing to automatically identify test scenarios and to generate formal constraints that capture conditions triggering the execution of the scenarios, thus enabling the generation of test data. In two industrial case studies, UMTG automatically and correctly translated 95 constraints required for test data generation; furthermore, it generated test cases that exercise critical scenarios not previously considered by engineers.

READ FULL TEXT

page 1

page 6

page 22

research
02/02/2022

Automatic Creation of Acceptance Tests by Extracting Conditionals from Requirements: NLP Approach and Case Study

Acceptance testing is crucial to determine whether a system fulfills end...
research
01/31/2023

Triggering Conditions Analysis and Use Case for Validation of ADAS/ADS Functions

Safety in the automotive domain is a well-known topic, which has been in...
research
06/02/2020

Kaya: A Testing Framework for Blockchain-based Decentralized Applications

In recent years, many decentralized applications based on blockchain (DA...
research
12/02/2021

Testing Reactive Systems Using Behavioural Programming, a Model Centric Approach

Testing is a significant aspect of software development. As systems beco...
research
07/13/2023

Crucible: Graphical Test Cases for Alloy Models

Alloy is a declarative modeling language that is well suited for verifyi...
research
12/22/2022

Simulation-based Testing of Simulink Models with Test Sequence and Test Assessment Blocks

Simulation-based software testing supports engineers in finding faults i...
research
07/12/2021

Integrated and Iterative Requirements Analysis and Test Specification: A Case Study at Kostal

Currently, practitioners follow a top-down approach in automotive develo...

Please sign up or login with your details

Forgot password? Click here to reset