测试的启示——像测试人员一样思考

阅读数:1234 2009 年 10 月 14 日

Sharon Robson是一名软件开发培训师,在其最近的一篇博客中,提到了 James Bach 在近期STANZ 会议(Software Testing Australia &New Zealand,即澳大利亚和新西兰软件测试会议)上的发言,James 展示了一系列人们可以参考的、与测试相关的启示。

Heuristic(启发式的) 是一个形容词,形容基于经验的技术,而且这些技术有助于解决问题、学习和发现的过程。“启发式的方法(heuristic method)”特别用来指能够快速产生最佳答案的方法。Heuristics 就是“实用方法”、有依据的推测、直觉判断或是简单的常识。作为名词的 Heuristics 是启发式方法的另一个名字。

更精确地说,heuristics 是指一种策略,该策略使用易于得到而不完全适用的信息来控制人类或机器的问题的解决。

来源: http://en.wikipedia.org/wiki/Heuristics

Robso 说明了 Bach 在演讲中提到的 36 条启示,还有他提出的缩写:cidtestdsfdpotcrusspicstmplfdsfscura ,这些缩写可以分为 4 组:

Group 1——cidtestd,即:客户(Customers)、信息(Information)、开发者关系(Developer relations)、团队(Team)、设备和工具(Equipment & Tools)、日程(Schedule)、测试条目(Test Items)和可交付物(Deliverables)。这些关注与测试相关的高级规划活动、支持性条目和“装备”。它们有助于设置将要完成的测试所在的上下文。
Group 2——sfdpot,即:结构(Structures)、功能(Functions)、数据(Data)、平台(Platforms)、操作(Operations)和时间(Time)。我曾听 Karen N Johnson 在 San Francisco Depot(SFDPOT)上提到过这个缩写。这有助于人们理解测试将要进行的环境,也就是范围、资源和时间——质量三角形的三条边。在我看来,这是测试的关键所在,而我们却经常忽视其相关细节。
Group 3——crusspicstmpl,即:能力(Capability)、可靠性(Reliability)、可用性(Usability)、安全性(Security)、可延展性(Scalability)、性能(Performance)、可安装性(Installability)、兼容性(Compatability)、支持性(Supportability)、可测试性(Testability)、可维护性(Maintainability)、可移植性(Portability)和本地性(Localisability)。这是有关系统质量特性的一个很长的列表。我更喜欢 ISO 9126 标准(它更短小!),可这个列表覆盖了任何系统都需要考虑的关键属性。我真的很喜欢几乎每个词结尾的“ity”,这让我总能将“质量(qualITY)”放在心上。
Group 4——fdsfscura,即:功能测试(Function Testing)、领域测试(Domain Testing)、压力测试(Stress Testing)、流程测试(Flow Testing)、场景测试(Scenario Testing)、声明测试(Claims Testing)、用户测试(User Testing)、风险测试(Risk Testing)和自动化测试(Automatic Testing)。该列表指出了测试项目中可能、应该或必须完成的测试类型,让我们理解并指明测试不只一种方式,而且还能让我们更深入理解为什么如何进行测试。

Quality Tree Software 的 Elisabeth Hendrickson 以同样的基调,提出了一个 启示检查列表,指出了待测试应用要考虑的条目的领域。在 最近的一篇博客文章中,她指出:学着像测试人员一样思考,这能有助于防范在发布版本中出现重大问题。

只要是具备测试技能的人来进行,即使是最粗略的探索测试,也很可能发现问题。

您和您的团队使用什么样的测试启示或启发式方法呢?

查看英文原文: Testing Heuristics - Thinking like a tester