Skip to content

Special Issue on Testing Extra-Functional Properties – 2nd Edition

As the presence and role of computer systems in our daily life increases, we rely more and more on the services that are provided by software. On the one hand, more tasks and functions are delegated to software systems (e.g., in the automotive domain), and on the other hand, the expectations and demands on the variety of services these systems provide are dramatically growing (e.g., in mobile phones). In this context, the success of a software product may not only be dependent on the logical correctness of its functions, but also on their quality characteristics and how they perform. Such system characteristics, referred to and captured as Extra-Functional Properties (EFPs), or Non-Functional Properties, have determinant importance, particularly in resource-constrained systems. For instance, in the real-time embedded domain there can be limitations on available memory, CPU and processing capability, power consumption, and so on, that need to be considered along with timing requirements of an application. EFPs can span different aspect of the system such as security, safety, robustness, performance, power consumption, etc. With the increasing complexity of modern software systems, the EFPs need to be considered and continuously tested from early stages of the system development until the system is deployed in production, inclusively. Furthermore, considering the rapid development towards increased integration of software with the social and physical world that we see today, quality aspects become more important in an increasing number of the systems and devices we use and depend on. These systems, therefore, need to be tested with a special attention to EFPs such as safety, security, performance and robustness. Testing a system with respect to its EFPs, however, poses specific challenges and traditional functional testing methods and approaches may not simply be applicable. Examples of such challenges are: fault localization, the need to have appropriate techniques for different types of EFPs, the role and impact of the environment in testing EFPs, observability and testability issues, coverage and test-stop criteria, modeling EFPs and generating meaningful test cases, mutation operators for EFPs, etc.