测试报告表格
我第一次认真盯着一份测试报告表格看,测试是报告表格2019年在一个做智能门锁的硬件团队。那份表格里有一列叫“异常复现率”,测试旁边手写标注了“3/10,报告表格低温环境”。测试当时测试主管跟我说,报告表格这一行字比前面二十页描述都值钱——因为研发一看就明白,测试这问题不是报告表格偶发,是测试能稳定触发的。
测试报告表格的报告表格核心不是“好看”,是测试“能追”。很多人把表格当成汇总工具,报告表格把数据填进去就完事。测试但真正有用的报告表格表格,每一行都该对应一个可追溯的测试测试动作。比如“用例编号”这一列,不能只写TC-001,得能关联到需求文档里的具体条款。我见过一个团队用“需求ID+测试类型+序号”的格式,比如“REQ-045-FUNC-003”,查起来快得离谱。这种细节看着麻烦,出问题的时候能救命。
表格的列怎么设,取决于你要拿它做什么决策。如果是给开发看的缺陷报告,那“复现步骤”和“预期结果”必须分列,不能挤在一格里写小作文。我自己的习惯是再加一列“环境指纹”,把设备型号、系统版本、网络状态这些变量单独拎出来。有次一个App的闪退问题,测试写了“Android 10”,开发在自己Android 11的机器上死活复现不了。后来一看环境指纹列,发现还缺了“厂商ROM”这个维度。补上之后,问题定位时间从两天缩到四十分钟。
表格里的文字要克制。见过太多“点击按钮后页面出现异常”这种废话。异常是什么?白屏、卡死、报错弹窗、还是数据错乱?写清楚。我要求团队里所有人填表格时,动词必须具体:“点击”“滑动”“长按”“连续点击五次”。形容词尽量换成数字或状态描述。“卡顿”改成“掉帧至12fps”,“发热”改成“背面温度47℃”。这不是吹毛求疵,是让看表格的人不用猜。
还有一点容易被忽略:表格的排序逻辑。按用例编号排?还是按执行时间排?还是按缺陷等级排?我倾向于按“模块+严重程度”排。这样开发拿到表格,一眼能看出哪个模块是重灾区。曾经有个项目,表格按时间顺序排,结果登录模块的问题散落在十几页里,开发翻了三遍才找全。后来改成按模块聚类,同样一份数据,修复效率提升了差不多一倍。
颜色可以用,但别滥用。红色标失败,黄色标阻塞,绿色标通过,灰色标未执行——四色足够了。有些团队搞出七八种颜色,最后没人记得住哪个色代表什么。还有,别用颜色作为唯一标识。打印出来全是灰的,色弱同事也分不清。在状态列里直接写“失败”“阻塞”比什么都强。
最后说一个真实教训。有次验收测试,表格里所有用例都标了“通过”。上线后第二天,用户反馈某个功能在特定机型上直接崩溃。回头查表格,发现那一行写着“通过”,但备注栏有一行小字:“仅测试了模拟器”。模拟器和真机差异巨大,这行小字被所有人忽略了。从那以后,我要求表格里任何“通过”都必须附带测试载体——真机型号、模拟器名称、或者云测平台设备编号。没有载体的“通过”,一律视为未测试。
测试报告表格说到底是一份沟通工具。写的人要假设看的人不在现场、没参与讨论、甚至不懂技术。每一格填进去的内容,都得经得起追问:怎么测的?在哪测的?测了几次?结果是什么?把这些答清楚了,表格才真正有用。否则,它就是一堆占地方的格子。