Metamorphic testing (MT) is a general approach for the testing of a specific kind of software systems -- so-called ``non-testable'', where the ``classical'' testing approaches are difficult to apply. MT is an effective approach for addressing the test oracle problem and test case generation problem. The test oracle problem is when it is difficult to determine the correct expected output of a particular test case or to determine whether the actual outputs agree with the expected outcomes. The core concept in MT is metamorphic relations (MRs) which provide formal specification of the system under test. One of the challenges in MT is \emph{effective test generation}. Property-based testing (PBT) is a testing methodology in which test cases are generated according to desired properties of the software. In some sense, MT can be seen as a very specific kind of PBT.\\ In this paper, we show how to use PBT tools to automate test generation and verification of MT. In addition to automation benefit, the proposed method shows how to combine general PBT with MT under the same testing framework.
翻译:突变测试(MT)是测试某种特定类型的软件系统的一般方法 -- -- 所谓“不可测试”的测试方法,“古典”的测试方法难以应用。MT是解决测试或触摸问题和测试案例生成问题的一种有效方法。测试或触摸问题在于难以确定某一具体测试案例的正确预期产出,或难以确定实际产出是否与预期结果一致。MT的核心概念是提供测试中系统正式规格的变形关系(MRs)。MT的挑战之一是\emph{有效的测试生成}。基于财产的测试(PBT)是一种测试方法,根据软件的预期特性产生测试案例。从某种意义上说,MT可以被视为非常具体的PBT类型。\\在本文中,我们展示了如何使用PBT工具将测试生成和MT核查自动化。除了自动化的好处外,拟议方法还表明如何将普通PBT与MT结合在同一测试框架内。