引言
测试技术指的是为创建测试而进行的探索方法,是对HTSM模型中的项目环境、产品元素、质量定义的分析。以下列出9种“通用技术”。“通用技术”的含义是指这项技术是简单且可以广泛使用。很多特定的测试技术是基于一项或多项“通用技术”的。并且,这些“通用技术”能够与HTSM模型中其他模块的想法结合来产生更多的测试技术。
功能测试:测试它能做什么
1 产品能做哪些(功能和子功能)
2 你是如何判断一个功能是有效的
3 一次只测试一个功能
4 确认每项功能做了它该做的,并且没做它不该做的
领域测试:划分数据
1 关注产品处理的任何数据。盯紧输入和输出
2 决定测试使用的特定数据,考虑边界值、典型值、有效值、无效值、最具代表性的数据。
3 考虑将需要测试的数据进行组合
压力测试:使产品超负载
1 寻找在具有挑战性数据或者资源受限下,最脆弱的子系统和功能
2 识别与这些子系统和功能相关的数据和资源
3 选择或生成挑战性数据或者资源受限的条件进行测试。例如:大量或复杂的数据结构、高负载、长时间运行、大量测试用例运行、小的内存
流测试:按部就班
1 测试由多个处理步骤相连的流程,例如将某个状态模型走一遍
2 在相关操作或处理间不要重设系统
3 使时序发生异常,并且使用并发的线程
场景测试:测试用户故事
1 以围绕产品的方方面面进行思考为起点
2 设计真实和完整的交互过程的测试用例
3 好的场景测试是真实用户与产品交互的故事
要求测试:挑战每项要求
1 确认对产品的各项要求,包含显性和隐性的。例如:SLA条款、广告说明、特殊说明文档、帮助手册等
2 分析要求条款,使不明确的要求清晰化
3 测试软件是否与要求相符
4 如果你的测试有明确的说明要求,将其设为标准并测试软件。
用户测试:使用者测试
1 明确用户类别和角色
2 明确每一类用户将如何使用产品,他们认为产品的应该给他们带来的价值是什么
3 获取到真实用户的数据,或者将他们引入测试
4 否则,需要系统性地模拟用户。注意,这很容易错估用户的使用情况。
5 有效的用户测试需要包含一定量的用户和用户角色,而不是一个用户。
风险测试:想象一个问题,找出它
1 产品可能出现哪些问题
2 哪些问题是重要的。关注它们
3 当问题发生时,你如何发现问题
4 列出风险问题,并对其设计测试
5 咨询专家、参考设计文档、过往问题报告或者探索风险,将会有所帮助
自动检查:检查不同的事实
1 寻找或开发能够辅助测试活动的工具
2 考虑自动化的执行、测试结果检查、测试覆盖检测、变化监测、测试数据生成等工具
3 考虑能够使测试人员工作更有效的工具(不一定是开发或者测试工具)
翻译说明:之前介绍的HTSM模型 ,弱化了模型的详细内容。HTSM本身只是个框架,现在按James Bach 2015年的版本,做一个翻译。这是译文的第一部分:通用测试技术。
有不太清楚和错漏的,也欢迎大家指正,在此表示感谢。
另外,HTSM本身最重要的是适合自己的使用。James Bach的版本未必就是适合你的。仅作为参考。所以你发现有你不同意的,或者不以为然,都是正常的。