  Their highly adaptive nature and the combinatorial explosion of possible
configurations makes testing context-oriented programs hard. We propose a
methodology to automate the generation of test scenarios for developers of
feature-based context-oriented programs. By using combinatorial interaction
testing we generate a covering array from which a small but representative set
of test scenarios can be inferred. By taking advantage of the explicit
separation of contexts and features in such context-oriented programs, we can
further rearrange the generated test scenarios to minimise the reconfiguration
cost between subsequent scenarios. Finally, we explore how a previously
generated test suite can be adapted incrementally when the system evolves to a
new version. By validating these algorithms on a small use case, our initial
results show that the proposed test generation approach is efficient and
beneficial to developers to test and improve the design of context-oriented
programs.

Software Engineering