Google 软件测试之道 第 3 章
第 3 章 测试工程师
SET 工作职责:可测试性和测试自动化体系的长期有效性;
TE 工作职责:评估对用户的影响以及软件产品整体目标上的风险。
3.1 一种面向用户的测试角色
TE:工程师的一部分,是 “用户开发者”,综合了开发者的技术能力和以用户为中心检查软件质量而对开发者产生一定制约的能力。
3.2 测试工程师的工作
在研发的早期阶段,功能还在不断变化,最终功能列表和范畴还没有确定,TE 通常没有太多的工作可做。
TE 的根本使命是保护用户和业务的利益,使之不受到糟糕的设计、令人困惑的用户体验、功能 bug、安全和隐私等问题的困扰。
TE 是一个全职地负责从整体角度发现产品或服务弱点的唯一角色。需要与各种角色沟通,需要敏锐的洞察力和领导力,很多高级测试经理都来自于 TE。
TE 工作描述:starting in the middle。必须足够灵活,能够迅速融入一个产品团队的文化和现状。
TE 职责描述:
- 测试计划和风险分析
- 评审需求、设计、代码和测试
- 探索式测试
- 用户场景
- 编写测试用例
- 执行测试用例
- 众包
- 使用统计
- 用户反馈
3.2.1 测试计划
在项目早期阶段,测试人员编写测试计划。
作为一种测试文档,测试计划的生命周期是所有测试产物中最短的。
测试计划是最早出现、最先被遗忘的测试产物。
ACC(Attribute Component Capability,即,特质、组件、能力)是一种测试计划的替代方法。
- ACC的指导原则:
(1)避免散漫的文字,使用简明的列表
(2)不必推销
(3)简洁。测试计划的长短与测试问题的规模有关
(4)不要把不重要的、无法执行的东西放进测试计划
(5)渐进式的描述
(6)指导计划者的思路最终结果应该是测试用例。
在计划完成的时候,它不仅要清楚地描述要做什么样的测试,而且还可以清楚地指导测试用例的编写。
- A代表特质(Attribute)
特质是系统的形容词,代表了产品的品质和特色,是区别于竞争对手的关键。也是人们选择你的产品而不是竞争对手的产品的原因。
确定产品特质列表的窍门:
(1)简单(最多花一两个小时的时间)
(2)精确(确保它来自于团队已经普遍认同的文档或营销信息)
(3)变化(不