Synthetic End-User Testing: Modeling Realistic Agents Based on Behavioral Examples

08/25/2022
by   Pasquale Salza, et al.
0

For software interacting directly with real-world end-users, it is common practice to script scenario tests validating the system's compliance with a number of its features. However, these do not accommodate the replication of the type of end-user activity to which the system is required to respond in a live instance. It is especially true as compliance might also break in scenarios of interactions with external events or processes, such as other users. State-of-the-art approaches aim at inducing the software into runtime errors by generating tests that maximize some target metrics, such as code coverage. As a result, they suffer from targeting an infinitely large search space, are severely limited in recognizing error states that do not result in runtime errors, and the test cases they generate are often challenging to interpret. Other forms of testing, such as Record-Replay, instead fail to capture the end-users' decision-making process, hence producing largely scripted test scenarios. Therefore, it is impossible to test a software's compliance with unknown but otherwise plausible states. This paper introduces "Synthetic End-User Testing," a novel testing strategy for complex systems in which real-world users are synthesized into reusable agents and employed to test and validate the software in a simulation environment. Hence, it discusses how end-user behavioral examples can be obtained and used to create agents that operate the target software in a reduced search space of likely action sequences. The notion of action expectation, which allows agents to assert the learned compliance of the system, is also introduced. Finally, a prototype asserting the feasibility of such a strategy is presented.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/10/2019

Search-based Crash Reproduction using Behavioral Model Seeding

Search-based crash reproduction approaches assist developers during debu...
research
03/02/2023

Reasoning-Based Software Testing

With software systems becoming increasingly pervasive and autonomous, ou...
research
08/02/2022

Mimicking Production Behavior with Generated Mocks

Mocking in the context of automated software tests allows testing progra...
research
07/05/2021

SilGAN: Generating driving maneuvers for scenario-based software-in-the-loop testing

Automotive software testing continues to rely largely upon expensive fie...
research
09/16/2016

Model-based Test Generation for Robotic Software: Automata versus Belief-Desire-Intention Agents

Robotic code needs to be verified to ensure its safety and functional co...
research
10/03/2021

Stress Testing Autonomous Racing Overtake Maneuvers with RRT

High-performance autonomy often must operate at the boundaries of safety...

Please sign up or login with your details

Forgot password? Click here to reset