Testing Reactive Systems Using Behavioural Programming, a Model Centric Approach

12/02/2021
by   Yeshayahu Weiss, et al.
0

Testing is a significant aspect of software development. As systems become complex and their use becomes critical to the security and the function of society, the need for testing methodologies that ensure reliability and detect faults as early as possible becomes critical. The most promising approach is the model-based approach where a model is developed that defines how the system is expected to behave and how it is meant to react. The tests are derived from the model and an analysis of the test results is conducted based on it. We will investigate the prospects of using the Behavioral Programming (BP) for a model-based testing (MBT) approach that we will develop. We will develop a natural language for representing the requirements. The model will be fed to algorithms that we will develop. This includes algorithms for the automatic creation of minimal sets of test cases that cover all of the system's requirements, analysing the results of the tests, and other tools that support the testing process. The focus of our methodology will be to find faults caused by the interaction between different requirements in ways that are difficult for the testers to detect. Specifically, we will focus our attention to concurrency issues such as deadlocks and logical race condition. We will use a variety of methods that are made possible by BP, such as non-deterministic execution of scenarios and use of in-code model-checking for building test scenarios and for finding minimal coverage of the test scenarios for the system requirements using Combinatorial Test Design (CTD) methodologies. We will develop a proof-of-concept tool kit which will allow us to demonstrate and evaluate the above mentioned capabilities. We will compare the performance of our tools with the performance of manual testers and of other model-based tools using comparison criteria that we will define and develop.

READ FULL TEXT

page 3

page 19

page 23

research
04/30/2022

What Petri Net Obliges Us to Say

We identify and demonstrate a weakness of Petri Nets (PN) in specifying ...
research
07/19/2019

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

Software testing plays a crucial role to ensure the conformance of softw...
research
07/17/2019

Mutation Testing with Hyperproperties

We present a new method for model-based mutation-driven test case genera...
research
01/03/2022

Combinatorial Sequence Testing Using Behavioral Programming and Generalized Coverage Criteria

This paper tackles three main issues regarding test design: (1) it propo...
research
09/06/2021

Towards API Testing Across Cloud and Edge

API economy is driving the digital transformation of business applicatio...
research
11/25/2019

Integrating Inter-Object Scenarios with Intra-object Statecharts for Developing Reactive Systems

In all software development projects, engineers face the challenge of tr...
research
10/29/2019

Modelling and testing timed data-flow reactive systems in Coq from controlled natural-language requirements

Data-flow reactive systems (DFRSs) are a class of embedded systems whose...

Please sign up or login with your details

Forgot password? Click here to reset