A platform for efficient and effective variant testing
knowledge-based requirements analysis and selection
Extraction of features and requirements using machine learning techniques and map-reduce algorithms, and identify features and rank by priority for testing. Base of the methods is a knowledge-based analysis of requirements formulated in natural language, and a model-based test generation on the product-line level.
Variability abstraction to ensure all features can be tested, the use of feature models and product line base models for test case generation to guarantee defined quality criteria, and a variant selection mechanism which determines instances and configuration parameter values to guarantee an optimal coverage for given testing efforts.
AUTOMATED Test Generation
Automatically create test cases using association rules and features, and combine software testing techniques with machine learning techniques to improve code security.
INDUSTRIAL application domains
Within the XIVT project, a method and toolchain will be defined for testing highly configurable, variant-rich embedded systems in the automotive, rail, industrial production and telecommunication domains.
In the project, a methodology for the selection and derivation of test cases will be developed and applied to several use cases from various domains. The main project innovations can be summarised as follows:
methods to define a hierarchy of system requirements and correlations between them, which is abstracted from the application domain;
approaches to prioritise and select requirements for testing from an informal / semiformal description, based on risk analysis and knowledge bases, such as machine learning techniques and map & reduce algorithms;
a framework to generate a model-based specification of components using the extracted requirements;
methods to derive abstract test cases automatically from base models and feature models and to assess test cases with respect to given product instance in an incremental development process;
methods for certification of software on the basis of conformance to the product family; this is mainly related to maintaining parts that have been previously delivered during an incremental development process;
methods to measure the software security of a given product based on the test cases realised; integrated by an end to end automation platform and tool chain that brings together the above elements in an easy to use, industry and use case agnostic manner for variant testing, while lending itself to be easily extensible for future use cases.