您在基于模型的测试中使用了哪些策略?
您是专门用于集成测试,还是将其分支到其他区域(单元/功能/系统/规范验证)?
您是否构建了专注的"密封"模型,或者您是否随着时间推移开发复杂的onibus模型?
在产品周期中,您是否投资创建MBT?
您为MBT专门创建了哪种基础测试库?
您在功能基础测试库中有什么区别可以更好地支持MBT?
Jeff Fry.. 14
[有几篇文章值得一读.Stack Overflow不会让我发布多个,所以我在博客文章中汇总了它们,在这个答案的最后链接.]
首先,快速说明条款.我倾向于使用James Bach对测试的定义为"质疑产品以进行评估".所有测试都依赖于被测应用程序的/ mental/models.术语"基于模型的测试"通常用于描述可以通过自动化进行探索的模型编程.例如,可以指定应用程序可以处于的状态数,这些状态之间的各种路径,以及关于这些状态之间的转换应该发生什么的某些断言.然后,可以让脚本在状态模型中执行转换的半随机排列,记录可能有趣的结果.
这里有实际的成本:构建一个有用的模型,创建用于探索它的算法,记录系统,允许人们通过有趣的故障来解决等等.成本是否合理与你想要的问题有很大关系回答?一般来说,从"我想知道什么?我怎样才能最好地了解它呢?"而不是寻找有趣技术的用途.
总而言之,一些优秀的测试人员已经从基于模型的自动化测试中获得了很多好处.有时,我们对被测应用程序有重要问题,这些问题最好通过自动化,大批量半随机化测试进行探索.Harry Robinson(基于模型的测试的主要理论家和支持者之一)描述了一个非常丰富多彩的例子,他使用基于模型的测试(使用ruby的Watir库编写)在Google驾驶方向上发现了许多有趣的错误.1
Robinson在贝尔实验室,微软和谷歌等公司成功使用了MBT,并且有许多有用的论文.[2]
Ben Simo(另一位伟大的测试思想家和作家)也在基于模型的测试中写了相当多的阅读材料.[3]
最后,一些警告:要充分利用战略,需要探索其优势和劣势.为此,James Bach就基于模型的测试的极限和挑战进行了精彩的讨论.这篇关于巴赫的博客文章链接到他长达一小时的谈话(以及相关的幻灯片).[4]
最后我将结束一篇关于鲍里斯·贝泽尔所谓的杀虫剂悖论的说明:"你用来防止或发现漏洞的每一种方法都会留下一些微妙的错误,这些方法无效."脚本测试(无论是由计算机还是由计算机执行)人)特别容易受到农药悖论的影响,每次执行相同的脚本时,往往会发现越来越少的有用信息.人们有时会转向基于模型的测试,认为它可以解决农药问题.在某些情况下基于模型的测试,很可能发现更大的一组错误比一个给定的脚本测试的......但应该记住,它仍然从根本上由农药悖论的限制.记住它的局限 - 从问题MBT开始很好地解决 - 它有可能成为一个非常强大的测试策略.
可以在此处找到上述所有论文的链接:http://testingjeff.wordpress.com/2009/06/03/question-about-model-based-testing/
[有几篇文章值得一读.Stack Overflow不会让我发布多个,所以我在博客文章中汇总了它们,在这个答案的最后链接.]
首先,快速说明条款.我倾向于使用James Bach对测试的定义为"质疑产品以进行评估".所有测试都依赖于被测应用程序的/ mental/models.术语"基于模型的测试"通常用于描述可以通过自动化进行探索的模型编程.例如,可以指定应用程序可以处于的状态数,这些状态之间的各种路径,以及关于这些状态之间的转换应该发生什么的某些断言.然后,可以让脚本在状态模型中执行转换的半随机排列,记录可能有趣的结果.
这里有实际的成本:构建一个有用的模型,创建用于探索它的算法,记录系统,允许人们通过有趣的故障来解决等等.成本是否合理与你想要的问题有很大关系回答?一般来说,从"我想知道什么?我怎样才能最好地了解它呢?"而不是寻找有趣技术的用途.
总而言之,一些优秀的测试人员已经从基于模型的自动化测试中获得了很多好处.有时,我们对被测应用程序有重要问题,这些问题最好通过自动化,大批量半随机化测试进行探索.Harry Robinson(基于模型的测试的主要理论家和支持者之一)描述了一个非常丰富多彩的例子,他使用基于模型的测试(使用ruby的Watir库编写)在Google驾驶方向上发现了许多有趣的错误.1
Robinson在贝尔实验室,微软和谷歌等公司成功使用了MBT,并且有许多有用的论文.[2]
Ben Simo(另一位伟大的测试思想家和作家)也在基于模型的测试中写了相当多的阅读材料.[3]
最后,一些警告:要充分利用战略,需要探索其优势和劣势.为此,James Bach就基于模型的测试的极限和挑战进行了精彩的讨论.这篇关于巴赫的博客文章链接到他长达一小时的谈话(以及相关的幻灯片).[4]
最后我将结束一篇关于鲍里斯·贝泽尔所谓的杀虫剂悖论的说明:"你用来防止或发现漏洞的每一种方法都会留下一些微妙的错误,这些方法无效."脚本测试(无论是由计算机还是由计算机执行)人)特别容易受到农药悖论的影响,每次执行相同的脚本时,往往会发现越来越少的有用信息.人们有时会转向基于模型的测试,认为它可以解决农药问题.在某些情况下基于模型的测试,很可能发现更大的一组错误比一个给定的脚本测试的......但应该记住,它仍然从根本上由农药悖论的限制.记住它的局限 - 从问题MBT开始很好地解决 - 它有可能成为一个非常强大的测试策略.
可以在此处找到上述所有论文的链接:http://testingjeff.wordpress.com/2009/06/03/question-about-model-based-testing/