Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 26559:2018 addresses one of the most challenging aspects of software product family engineering: testing management. Testing a product family is fundamentally different from testing a single product because testers must contend with the combinatorial explosion of possible product configurations, shared platform assets that evolve over time, and the need to verify both common and variable functionality across all family members.
The standard provides a structured approach to test planning, test artifact management, test execution, and test evaluation specifically tailored to the realities of product family development. It covers domain testing (testing the platform and reusable assets) and application testing (testing specific product configurations derived from the platform).
Domain testing focuses on verifying the shared platform assets — the core architecture, reusable components, and variability mechanisms. Key activities include: test of the commonality model (ensuring shared features work correctly in all contexts), test of variability mechanisms (verifying that variation points and binding mechanisms function correctly), and test of the reference architecture (validating architectural qualities such as performance, security, and scalability across the intended scope of the product family).
Application testing verifies specific product configurations derived from the platform. This includes: configuration validation (ensuring the selected variant combination is valid according to the variability model), product-specific integration testing, acceptance testing for each product variant, and delta testing that focuses only on the parts that differ from previously tested configurations.
| Testing Level | Domain (Platform) Focus | Application (Product) Focus |
|---|---|---|
| Unit Testing | Test reusable components in isolation with stubs for variation points | Test product-specific adaptations and extensions |
| Integration Testing | Verify component interactions through defined variation interfaces | Validate the specific configuration’s component wiring |
| System Testing | Validate platform qualities: performance, security, reliability | End-to-end product validation in target environment |
| Acceptance Testing | Verify platform meets domain requirements | Verify product meets customer-specific requirements |
The standard describes several advanced techniques for handling the combinatorial complexity of product family testing:
Rather than testing every possible product configuration (which is often infeasible), this approach selects a representative sample of configurations for full testing. Techniques include: pairwise (covering all pairs of variant interactions), t-wise combinatorial testing, and risk-based sampling where configurations with higher risk profiles receive more thorough testing.
Delta testing exploits the fact that product variants share a common core. By testing the core thoroughly once, subsequent product configurations only need to test the “delta” — the specific variant selections and their interactions. This can dramatically reduce testing effort while maintaining coverage.
Platform evolution introduces the risk of regressions across all products in the family. The standard recommends a risk-based regression strategy: full regression for the platform core, targeted regression for variation points affected by the change, and sampling-based regression for unaffected areas. Automated regression test suites are essential for managing this complexity.
A distinctive contribution of ISO/IEC 26559:2018 is its treatment of test artifacts as first-class assets in the product family. Test cases, test data, test scripts, and test results all exhibit variability and must be managed accordingly. The standard prescribes: variability-aware test design (test cases should document which variation points they cover), reusable test assets (test components that can be parameterized for different product configurations), and traceability between test artifacts and the variability model.
Test automation is not merely beneficial in product family contexts; it is an operational necessity. The combinatorial nature of product configurations makes manual testing infeasible beyond the simplest product families. The standard recommends a layered automation strategy: a core regression suite that runs on every platform commit, a configuration-specific test suite that is parameterized by the variability model, and a smoke test suite that validates each derived product configuration before release. Key automation enablers include test case generation from variability models (automatically producing test configurations that cover pairwise variant interactions), containerized test environments that can be instantiated per configuration variant on demand, and continuous integration pipelines that detect regressions at the platform level before they propagate to product-level releases. Investment in test automation infrastructure yields compounding returns as the product family scales, making it one of the highest-ROI activities in product family engineering.