Testing Software Product Lines: A Case Study
International Journal of Computer and Electrical Engineering
Testing traditional software products follow a systematic process that includes: test data generation; oracle specification and design; test execution and test outcome collection; test outcome analysis and product remediation. This simple lifecycle is challenged in product line engineering because it is not possible in domain engineering, and it is not practical in application engineering. In domain engineering, we have no finished executable product, nor do we have a complete requirements
... e requirements specification to use as the basis for oracle design. In application engineering, it is not practical to apply the testing process to each new application as if it were developed from scratch; rather it would be beneficial to capitalize on the verification and validation that we may have done in domain engineering, and on the testing that we may have carried out on other applications within the same product line. In this paper, we explore, on the basis of a sample example, possible lifecycles for product line software testing that include domain engineering and application engineering steps.