如何做一名专业的软件测试工程师
今晚在本人创建的测试群里,邀请了一位行业大佬做了一期关于软件测试工程师工作成长的很多“套路”的经验分享,受用良多。。。
会分为三篇博客进行描述,这篇博客,将基础篇做一个整理,分享出来。。。
作为一个软件测试工程师,在面试过程中,如何表达自己的核心竞争力?如何体现自己的专业性?这是个值得思考的问题。。。
1、缺陷的生命周期
总结:是否可以准确清晰的描述缺陷的生命周期,以及每个流转过程中你应该做什么?怎么做?(敲黑板,思考!!!)
2、对缺陷错误状态的定义
新建(New):测试中新报告的软件缺陷;
打开 (Open):被确认并分配给相关开发人员处理;
修正(Fixed):开发人员已完成修正,等待测试人员验证;
拒绝(Declined):拒绝修改缺陷;
延期(Deferred): 不在当前版本修复的错误,下一版修复;
关闭(Closed):错误已被修复;
总结:软件测试工程师的职责是主动发现暴露软件存在的缺陷,并辅助开发工程师一起确保缺陷被修复,提高交付软件质量和交付速率的岗位,每个不同的软件缺陷状态,作为一个测试工程师,你应该做什么?
3、人员角色的不同权限
new—tester:测试工程师
declined-not bug--Test Supervisor:测试主管/测试工程师
declined-duplicated--Test Supervisor:测试主管/测试工程师
open--Project Manager/Technical Manager:测试工程师/项目经理/技术主管
fixed—programer:开发工程师
closed—tester:测试工程师
deferred-next build--Test Supervisor:测试主管/测试工程师
deferred-next main release--Test Supervisor:测试主管/测试工程师
总结:应该明确在一个项目或者一个部门里,你的权限职责,不同同事的权限职责,以及遇到问题需要协商沟通,应该找谁,怎么解决!
4、缺陷管理流程要点
为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复;
每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态;
拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和产品经理共同决定;
错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误;
加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例;
总结:上述几点,其实主要思想还是围绕第一部分--在缺陷的整个生命状态流转中,应该如何管理,什么状态需要什么对应的管理方法,灵活应用!
5、用例设计规范
新建测试用例时要求选择对应的产品模块、用例类型、适用阶段和相关需求,用例类型一般选择功能测试,适用阶段一般选择系统测试;
用例标题要求描述对象功能明确,并尽量做到简洁;
根据需要填写适当的前置条件,要求在业务流程上前置条件之后可以衔接第一步操作;
操作步骤要表述清楚具体步骤和检查点及其所在的位置,UI元素和控件需要标识清楚;
预期结果需要明确,原则上不应有无预期结果的操作步骤;
总结:谈到用例设计,有最基本的“八要素”,以及设计用例的2个思路(按模块还是按业务流),对业务依赖、异常如何思考处理?如何提高覆盖率?这些都可以从设计用例的规范里面思考找到答案!
6、缺陷提交规范
提交缺陷时要求选择对应的产品模块、所属项目、影响版本、优先级、严重程度和相关需求;
缺陷标题要求能够确切地描述缺陷,包括缺陷出现的位置和表现,要注意避免冗长;
重现步骤中必须包括步骤,结果和期望,情况允许的话需要提供测试数据供开发人员迅速重现问题(日志截图,报错方法);另外,比较复杂的UI要求截图;
总结:提交缺陷,必须记住四要素:when、how、what、why!
即表达一个问题必须满足的四个条件:什么时间执行了什么操作,发生了什么问题,为什么会发生(或可以理解为怎么解决的)!
7、缺陷优先级定义
被很多其他功能或检查点依赖,或者造成blocking issue的缺陷定义为P1,要求开发人员最高优先解决;
被其他功能或检查点依赖的功能或检查点所属的缺陷定义为P2,要求开发人员次优先解决;
独立的功能或检查点所属的缺陷定义为P3,要求开发人员将P1和P2级别缺陷处理完成后再着手解决;
较小的功能缺陷或页面样式问题定义为P4,要求开发人员将P1、P2和P3级别缺陷处理完成后再着手解决;
一些功能和样式方面的建议也可以登记到系统并标识优先级别为P4,一般可以放到后续版本中解决;
总结:缺陷优先级和严重程度有很大的关系,以及综合考虑对上线发布,对用户的影响!
测试结果质量评估的最低标准:测试结果最低限度的符合需求并且可以正常运行!
8、缺陷严重程度定义
特别严重的问题,比如严重的样式问题,数据错误,主要流程卡死等,要求标示严重级别为S1;
比较严重的问题,比如较严重的样式问题,主要功能缺陷等,要求标示严重级别为S2;
一般严重度的样式或功能问题,要求标示严重级别为S3;
轻微的样式或功能问题,要求标示严重级别为S4;
测试人员在测试过程中发现的一些可以改进优化的地方,同样应该记录下来并提交到缺陷管理工具上,可以标示严重级别为S4,一般可以放到后续版本中跟进;
总结:关于缺陷严重程度,学会取舍,做什么和不做什么?如果做,怎么做?如果现在不做,什么时候做?