Adapting Quality Assurance to Adaptive Systems: The Scenario Coevolution Paradigm
This addresses quality assurance problems for software engineers working with adaptive systems, but it appears incremental as it adapts existing testing concepts.
The paper tackles the challenge of quality assurance for self-adaptive systems by proposing scenario coevolution, a paradigm where test cases evolve alongside the system to prevent its behavior from eluding traditional testing methods.
From formal and practical analysis, we identify new challenges that self-adaptive systems pose to the process of quality assurance. When tackling these, the effort spent on various tasks in the process of software engineering is naturally re-distributed. We claim that all steps related to testing need to become self-adaptive to match the capabilities of the self-adaptive system-under-test. Otherwise, the adaptive system's behavior might elude traditional variants of quality assurance. We thus propose the paradigm of scenario coevolution, which describes a pool of test cases and other constraints on system behavior that evolves in parallel to the (in part autonomous) development of behavior in the system-under-test. Scenario coevolution offers a simple structure for the organization of adaptive testing that allows for both human-controlled and autonomous intervention, supporting software engineering for adaptive systems on a procedural as well as technical level.