大多数 Metamorphic Relations 都是摆设。以下是如何挑出真正有用的。
并非所有 metamorphic relations 都能捕获 bug。弱关系给你虚假信心,强关系才能发现真正的缺陷。以下是如何区分两者,并构建一组真正有效的关系。
你为定价引擎写了十二条 metamorphic relations。每个测试都通过了,你对自己的覆盖率感觉良好。 然后有客户报告批量折扣算反了。你检查自己的关系套件,没有一个测试失败。你有加法一致性、单调性和幂等性的关系,却没有一个能捕获折扣乘数中的符号错误。 这是 metamorphic testing…