面试的时候,常常会被问到一个问题:“你一般是怎么设计测试用例的?”其实这个问题并不难,设计测试用例是每个做测试的人都要接触的东西,但是刚刚开始进入测试领域的时候,一直都是“凭感觉和经验”测试,之前也没有很好的思考过测试用例的意义在哪里。
首先了解什么是测试用例
测试用例:为测试某个目标而编写的一组输入、执行条件、预期结果的案例。即为测试某个具体的功能而编写的操作步骤
然后为什么要写测试用例
测试用例的作用:
- 理清思路,避免遗漏:有时候需求多,测试点也多,写了测试案例不仅可以帮我们梳理清楚要测试的内容,还能直观看到还有哪些点没有涉及到,并加以补充
- 跟踪测试进度:书写了测试案例,我们可以依据其步骤进行测试,测试通过的标记通过,不通过的标记待修改,没测试的标记待测试等等,以便我们随时掌握测试进度
- 指导回归测试:一般我们会在自己的本地环境上先测试,待回归时,再去测试环境测一遍,因此,有了测试案例,我们就可以规范我们的测试行为,不会两次测试都不一样,同时,第二遍测试的时候,还能补充一些未测到的点
- 参考作用:系统一般或多或少会有相似的功能,或者是在本有的功能上进行改造等等,那么会需要将以前测过的拿过来参考,有了测试案例,就可以简化测试的准备工作
- 反思作用:当发布产品后,出现问题,我们可以通过测试案例找到这个问题为什么在测试阶段没有发现,是遗漏了哪个步骤,为今后的测试有指导意义
再如何编写测试用例
编写测试用例的思路:
- 需求分析,得到需求点
需求分析的主要工作:- 了解需求的实现背景,通俗的讲,就是为什么要实现这个需求,了解这个有利于思考一些客户使用场景
- 分析需求的合理性
- 明确需求范围
- 挖掘需求文档中的隐藏需求
- 确定开发的实现思路和方法
- 通过需求点细分测试点
需求点明确后,列出测试点,对于需求中不明确的点记录下来找开发确认 - 分析得到测试优先级
测试优先级可以让测试更有侧重点和着重点 - 细化测试点成测试用例
测试点明确了,梳理测试范围,测试场景,然后一步一步书写测试用例 - 及时更新测试用例
开发过程中也会出现需求变更的问题,我们要及时跟进并更新测试用例,除此之外,用例评审阶段,也要根据会上大家指出的问题对案例进行修改并反馈
最后如何提升编写测试用例的能力
提升编写能力:
- 熟悉业务、了解系统
在了解系统的前提下,一是可以明确自己的测试范围,找到很多隐藏需求,二是可以帮助我们更快的发现系统的问题 - 站在客户角度分析问题
多了解客户的使用场景可以避免无效测试,同时,有利于我们知道客户想要什么,不想要什么,让需求更符合客户预期 - 多思考,多走一步
工作越熟悉之后,越要避免想当然,不能被惯性思维所约束,所以要多思考;多走一步的意思是,比如测试登录功能,那我登录成功后再登录,看看会出现什么 - 利用网络资源
网上有什么学习资源和经验分享,可以多看看,多思考思考,这对于提升用例的设计能力还是很有帮助的 - 多总结分享
总结和分享可以帮助我们梳理自己的技能,同时还可以让自己学习别人的长处等等
好的测试用例所具备的特征:
- 整体完备性:是一个完备的整体,是有效的测试用例组成的集合,能够覆盖测试需求
- 等价类类划分的准确性:所有的等价类划分是对的,保证一类中的一组输入正确,其他输入也正确
- 等价类集合的完备性:保证边界值和边界条件都正确识别
三种常用的测试用例设计方法:
- 等价类划分
- 边界值法
- 错误推断法