01 - 测试员不仅仅是执行测试用例,对实际结果和预期结果进行比较
测试员其实是参与了设计和执行测试的各个环节:测试架构,环境搭建,测试用例等等,并确定预期输出。
大多数设计测试都是基于业务流程和原理的有效推断,或者测试员的有效经验。
02 - 黑盒并不是基于“无知”的测试
- 需要了解用户的期望和需要。
- 需要了解测试背景(业务流程、业务配置、测试与运行环境的区别、业务数据、接口交互等等)。
- 了解越多,了解的方式越多,越能够更好地测试。
03- 不要凭借所谓的“直觉”进行测试
直觉有很强的偏见性,是测试员自己的“本能感觉”。
直觉推断实际上是基于有效测试经验和对业务的了解,往往在测试初期发挥作用,测试的越深入细致,“直觉”发生偏差的可能性就越大!
可以把这种“直觉”当作指南,给出合理性证明。
当有“这是问题,因为它显然是问题”的想法时, 可考虑换一种方式: “这是可能是问题,因为观察到行为与需求存在矛盾, 需要做进一步的分析证明”。
04 - 不要急于测试复杂产品或功能
当要测试复杂和使人畏惧的功能集合时,可间歇进行。
可试着先研究复杂产品30分钟或一个小时,然后停下来干点别的。
不要担心在这段不长的时间内效率不高,如果觉得问题太多,则尽快退出.
经过几个轮次的陷入与退出,就会开始明白产品的模式和轮廓,很快就会在头脑中形成更系统、更具体地测试和研究策略。
05 - 运用试探法快速产生测试思路
试探法是一种经验规则,是一种基于经验做出猜测的方法。一组好的试探方法有助于很快地生成测试用例。
以下是采用试探法测试的一些例子:
- 边界测试。边界更有可能暴露规格说明的模糊问题
- 测试所有错误消息。错误处理代码与功能代码相比,一般比较弱
- 测试与程序员的配置不同的配置。程序员已经偏信自己的配置没有问题
- 运行比较难设置的测试。在其它条件相同的情况下,易于设置的测试更有可能已经被执行过
- 避免冗余测试。如果某个测试实际上是重复其它测试,就不会产生新的价值。
慎用陌生的试探法来做测试,可能会花费过多精力去熟悉测试方法本身。
在收集测试方法时,要了解每个方法背后的原理,以及是否适用于当前的测试需求。
06 - 保持清新的态度
测试员在理解了产品或者功能后,会在头脑中形成映射,并且头脑不再那么努力工作。
当非常了解产品后,会对产品做出更多的假设,但却很少地检查这些假设的合理性是否仍然存在。
这种情况对于测试至少有3点提示:
- 第一次接触产品或功能时,要特别注意使自己困惑和烦恼的地方。用户可能也有类似反应。
- 当与团队的新成员一起工作时,与他们一起测试。 观察他们在了解产品时的反应。
- 警惕陷入测试惯例。即使没有遵循严格的测试脚本,也可能对特点功能太熟悉,以至于以越来越窄的方式进行测试。在任何可能的地方引入多样性,或改由其他测试员负责。