当有人发现问题时,想要精确、详细、重复的步骤是完全可以的。但是,如果您以这种方式编写测试计划,您将面临以下问题的风险:
1)不注意的失明——我看到人们执行详细的程序测试脚本,尽职尽责地走过并一丝不苟地记录每一步,完全错过了他们面前的明显错误。因为它“不在剧本中”。他们的注意力如此集中在所有那些挑剔的测试步骤上,以至于他们根本看不到他们面前的问题。
2) 你会错过所有那些离你非常详细、非常具体的路径仅一步之遥的错误。当客户拿到你的产品时,他们不会遵循详细的测试计划。他们将以各种方式浏览您的应用程序。他们会改变主意。它们的名称将比您认为的可能或可能的更长或更短。他们将完成交易并放弃它。他们会流浪。他们不会坚持一条路。而且每次有人重复测试时,他们都会再次错过那些错误。
3)您将花费非常长的时间来编写“任何人都可以遵循”的测试脚本。相信我,我花了数年时间试图完善这一点,而这在人类看来是不可能的。更糟糕的是,你浪费在做这件事上的时间可能会以其他方式花在更有利可图的地方,所以你的产品会变得更糟。
4) 你最终会得到大量的重复,如果不阅读整个内容,你将很难说出你的测试的重点。快速浏览测试以查看您可能错过的用例并不容易。
保持您的测试计划广泛,并让进行测试的人行使他们的判断力。如果您有关于必须测试的特定使用场景的信息,或者关于目标用户组希望如何操作的信息,那么将这些信息连同测试计划一起提供给测试人员 - 也许以用户角色的形式,也许只是在用例的形式。如果您需要勾选特定事项,请考虑使用清单。(有关更多信息,请参阅 Cem Kaner 的精彩演示
www.kaner.com/pdfs/ValueOfChecklists.pdf)。
Alternatively, write your test plans as short exploratory charters. You could, for example, give guidance such as: "Callcentre users will be using workstations with no mouse attached. Explore the process of raising a ticket on behalf of a customer, ensuring that it's possible to complete all activities using keyboard shortcuts only." This is far more likely to result in your testers finding defects than saying "Tab into field 1. Enter "Complaint about line quality". Tab into field 2. Select "Phone call" from the dropdown menu. Tab into .... field 68."