Testing is an important part of the software engineering process to help ensure that systems will behave as expected. In this paper we investigate interactive system testing, taking into consideration the different components of the system. Interactive systems have three different components, the interactive, functional and overlap. The interactive component is the interface of the interactive system, the functional the underlying instructions of the interactive system, and the overlap component the point at which the interactive and functional components intersect. The interactive and functional components are often tested separately, however, problems can occur where these components overlap. Therefore, in this paper we present a model-based testing approach specifically designed to inspect the overlap component behaviour and to ensure that it behaves as expected.
Interaction sequences can be used as an abstraction of an interactive system. We can use such models to consider or verify properties of a system for testing purposes. However, interaction sequences have the potential to become unfeasibly long, leading to models which are intractable. We propose a method of reducing the state space of such sequences using the self-containment property. This allows us to hide (and subsequently expand) some of the model describing parts of the system not currently under consideration. Interaction sequences and their models can therefore be used to control the state space size of the models we create as an abstraction of an interactive system.
The rapid growth in the number of Internet of Things (IoT) systems and their increasing use in safety-critical domains has led to the need for an evolution of development methods. Model-Driven Development (MDD) approaches have been used in software engineering to reduce development time and minimise errors in implemented systems. This paper introduces a novel Model-Driven Development (MDD) approach for Internet of Things (IoT) systems which considers interactivity from the perspective of both users and IoT components. A real-world example is presented to explain the motivation for the work and demonstrate the benefits and use of lightweight interactive system models adapted for the design and development of IoT systems.
Informal design artefacts allow end-users and nonexperts to contribute to software design ideas and development. In contrast, software engineering techniques such as modeldriven development support experts in ensuring quality properties of the software they propose and build. Each of these approaches have benefits which contribute to the development of robust, reliable and usable software, however it is not always obvious how best to combine these two. In this paper we describe a novel technique which allows us to use informal design artefacts, in the form of ideation card designs, to generate formal models of IoT applications. To implement this technique, we created the Cards-to-Model (C2M) tool which allows us to automate the model generation process. We demonstrate this technique with a case study for a safety-critical IoT application called "Medication Reminders". By generating formal models directly from the design we reduce the complexity of the modelling process. In addition, by incorporating easy-to-use informal design artefacts in the process we allow non-experts to engage in the design and modelling process of IoT applications.
Interaction sequences (ISeqs) are an abstraction of interactive systems which allow us to inspect the interactive system behaviour. In this research, ISeqs are used to support interactive system testing. In interactive system testing the components of an interactive system, the functional and the interactive, are often tested separately. However, errors can still occur when these components overlap. Therefore, we must investigate ways to test this overlap as part of a more comprehensive testing approach. ISeqs provide a clear view of this overlap, which we use to inform a model-based testing approach. By testing not only the functional and interactive components of a system, but also this overlap, ISeqs provide us with a way to better cover the interactive system state space, improving system reliability and safety. CCS CONCEPTS • Software and its engineering → Formal methods; Model-driven software engineering;
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.