Metamorphic testing is a testing method for problems without test oracles. Integration testing allows for detecting errors in complex systems that may not be found during the testing of their components. In this paper, we propose a novel approach that applies metamorphic testing in integration testing. The main idea is to develop a composite metamorphic relation for the system represented as an acyclic graph. This relation is a logical function of metamorphic relations for the parts of the system (vertices of the graph). It takes into account the features of the parts. Also, it can simplify the search for failure by identifying the subsystem with error. In this paper's theoretical part, we describe an algorithm of relation design. Then, we apply our method to a bioinformatics system for comparative genetic analysis of tissues using production tools. This experiment proves our method can be applied to real-life pipelines and find errors in them.
翻译:蜕变测试是一种针对无测试预言问题的测试方法。集成测试能够检测复杂系统中可能在组件测试中无法发现的错误。本文提出了一种将蜕变测试应用于集成测试的新方法。其核心思想是为表示为无环图的系统构建复合蜕变关系。该关系是系统各部分(图的顶点)蜕变关系的逻辑函数,考虑了各部分的特点。此外,它还能通过识别存在错误的子系统来简化故障定位。在理论部分,我们描述了关系设计算法。随后,我们将该方法应用于一个基于生产工具的组织比较遗传分析生物信息学系统。实验证明,该方法能够应用于实际流程中并发现其中的错误。