Generalized Test Tables:
A Powerful and Intuitive Specification Language for Reactive Systems
Alexander Weigl, Franziska Wiebe, Mattias Ulbrich, Sebastian Ulewicz,
Suhyun Cha, Michael Kirsten, Bernhard Beckert, and Birgit Vogel-Heuser
Test tables are a widely used and generally accepted means to intuitively
specify test cases for automation software. However, each table only specifies
a single software trace, whereas the actual software behavior may cover
multiple similar traces not covered by the table. Within this work, we present
a generalization concept for test tables allowing for bounded and unbounded
repetition of steps, "don't-care" values, as well as calculations with
earlier observed values. We provide a verification mechanism for checking
conformance of an IEC 61131-3 PLC software with a generalized test table,
making use of a state-of-the-art model checker. Our notation is inspired by
widely-used paradigms found in spreadsheet applications. By an empirical study
with mechanical engineering students, we show that the notation matches user
expectations. A real-world example extracted from an industrial automation
plant illustrates our approach.