I. Introduction
With the transition of traditional industrial systems towards more software-based solutions, the role of software in industry has become more and more dominant and important than ever before. Such transitions are already observed in domains such as automotive, telecommunication, and process industry as more functionality and features are implemented and assigned to software components in a product. On the other hand, this transition necessitates more rigorous verification and validation as the quality of the embedded software can now have direct and bigger impact on the quality of the end-product that is delivered to the customers (e.g., a car). This also brings along the following requirements on the testing techniques for ensuring the quality of software products in industry:
scalability: the testing techniques adopted should be scalable with respect to the increasing size and complexity of real-world industrial software applications (e.g., amount of code committed, and changes made daily by different development teams located in different parts of the world; as in distributed development environments),
automation: as the size and complexity of industrial software products grow rapidly, automation in testing gains an important role particularly related to the scalability issue as manual solutions can be too costly and time-consuming to scale well and be sustainable in the long run. This is particularly important considering the frequency of code commits and daily changes made by different distributed development teams as in continuous integration and deployment environments, and when continuous decisions on test prioritization, selection and execution for regression testing need to be made repeatedly,
seamless integration: testing techniques should not disrupt and negatively impact the current development process of a company, and should fit seamlessly with it. There are many proposed testing techniques in the literature which may perform better than current ones already used in a company, but are not adopted simply due to this issue.