Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
By Cheno
情景驱动的测试方法是Cem Kaner和James Bach提出来的,指出了软件开发的复杂性以及不可预测性,因此在这情景下,测试人员需要积极发挥主观能动性,而不是墨守成规的遵守一些通用的规定和流程。总之,这是一种为以人为本的测试方法论,强调主观能动性,而不是固定的流程和方法。
情景驱动测试(Context-Driven School)的7个基本原则(https://www.context-driven-testing.com/)
1)任何实践的价值都依赖于情景(Context)
2)好的实践只作用在特定的情景下,没有通用的最佳实践
3)在任何项目的环境下,共同协作的人是最重要的部分
4)项目的进展常常是不可预测的
5)软件产品实际上是一个解决方案。如果问题没有被解决,产品也不可能工作
6)好的软件测试是一个非常挑战性,需要智力的过程
7)只有经历过项目整个过程,通过决策力和技能,我们才能在正确的时间做正确的事情来测试我们的产品
举个例子,考虑2个项目
1)个飞行控制软件,“正确行为”意味着高技术含量和数学科学。它必须服从FAA(联邦航空局)的规定。做或者不做任何事情在20年内都可能成为法律诉讼的证据。开发人员共同营造着一种谨慎,精确,可重复性和反复检查每个人工作的工作氛围。
2)另外一个项目是开发一个用于互联网上的字处理软件,“正确的行为”是引导微软Word的大量用户使用这款软件。没有航空法规的约束,但需要考虑软件发布时间:从现在起20个月,项目结束时,它可能成功,可能失败。开发人员不可能依照第一个项目的工作风格,因为这种风格将不利于项目的开展。
情景驱动的测试人员总是尽力选择自己的方式来测试不同软件,而不是总是应用所谓的“最佳实践”,不同的环境下,选择的实践活动总是不一样的。
情景驱动的测试方法与敏捷测试(Agile Testing)对比:
1) 敏捷测试强调单元测试的重要性,情景驱动的测试方法却强调在不同的环境下选择不同测试方法,包括如果开发人员的单元测试用例很多或则很少情况下。
2) 敏捷开发强调迭代的软件开发周期,情景驱动的测试方法却适合不同类型的软件开发周期,当然,它不是很适合瀑布型模式。
情景驱动的测试方法与探索式测试(Exploratory Testing)方法对比:
1)探索式测试来源于手工测试方法,主要强调测试人员学习软件的过程。情景驱动的测试方法覆盖更多的内容。
2) 探索式测试是和脚本化测试(Scripted Testing)相对的,适用于时间紧,少文档的环境下。
我喜欢软件测试,喜欢复杂的软件测试,喜欢主动的进行测试,这正是情景驱动测试方法所适用的。