欢迎光临散文网 会员登陆 & 注册

感觉测试用例好难写怎么办?

2023-03-29 17:06 作者:黑马测试  | 我要投稿


PS:本文转载自黑马测试知乎高赞文章

链接:https://www.zhihu.com/question/393584042/answer/2957750770



写在前面:报了软件测试培训在线班后,报班的同学却还不知道怎么写测试用例,还要到知乎上求助,真是令人心痛,同行们要加油“课程设计”和“学员服务”哇。


测试用例,是指导测试人员进行测试执行的重要文档,是测试人员的一项非常核心工作。作为测试培训机构,我来解答下。为了能彻底解答题主的疑惑,我将文章的结构先公布下:


1、明确动力,了解“测试用例”重要性
2、清晰样式,讲解“测试用例”格式八大要素
3、提前排雷,告知“测试用例”编写注意事项
4、案例巩固,手把手教“测试用例”如何撰写
5、拓宽眼界,有关测试用例学习资源分享



一、明确动力,了解“测试用例”重要性


什么是用例?


用例,就是用户使用软件的案例。


那什么是测试用例呢?


测试用例,是将用户使用软件的案例,做一个科学化的组织归纳,形成文档,以指导测试执行。
所以测试用例也可简单的阐述为:为特定测试目的,设计的测试执行文档。


测试用例有多么重要,只要我们从宏观上去看“软件的测试流程”就能知道。


完整的测试流程

完整的测试流程中,与用例有关的就有两个环节。所以测试用例的撰写工作非常重要,堪称是核心工作。因为重要,测试人员日常工作中,会花费大量时间来撰写测试用例。正如下图所示:



测试用例之所以如此重要?有3个原因:


原因1、测试用例可以防止漏测

测试用例是对测试工作提前进行编写和梳理。如果不把测试用例提前写成文档,测试人员会很容易遗漏测试场景。


原因2、测试用例是实施测试的标准

测试用例写清楚了测试什么,怎么测,测试人员按照测试用例的编写去执行,会非常明确,执行的过程和结果都是可控的,杜绝不同的人对测试场景认识的偏差。


原因3、测试用例是测试工作评估的重要依据

测试是否全面,通过测试用例也能直观的反应出来。也是测试人员工作量的一个评估



二、清晰样式,讲解“测试用例”格式八大要素


测试用例如此重要,那如何撰写测试用例呢?

先展示完整的测试用例格式给大家看。从用例格式可以看出,测试用例含有八大要素。


1、为集中注意力,先来掌握4大核心要素


我们先看红色字体的标明的4个要素,这4个要素是核心要素(以下介绍文字建议一个字一个字看):


1)用例标题:用户书写测试目的和测试点,这是最重要的。格式建议采用“测试目的-测试点(概括,无概括文字可不写)”。比如图片中的“登录成功-正确的账号和密码”

2)测试步骤:为了达到测试目的,你需要通过哪些步骤,使用编号描述操作步骤,不显得混乱。

3)测试数据:操作步骤涉及的数据。如果操作步骤不需要数据,比如就是点击各类按钮,则可以为空

4)预期结果:期望达到的结果。结果不是自己主观想象,而是来自可见的产品需求文档(产品经理提供,简称PRD)。

以上4个要素,需要测试人员重点要掌握。


2、讲完核心要素,再来了解非核心要素


另外4个就是非核心要素,我们也来了解一下:


1)用例编号: 如果是软件来写用例,就无需关注该项。但如果是自己通过excel文档手写,那就需要按照格式“项目_模块_编号”来撰写,这种格式撰写,不容易重号。

2)前置条件:要执行此用例的前提条件。
举例上方截图案例,测试登录的前提是要先进入到登录页面,且qq号已经注册好了。

3)模块/项目:所属的项目或模块。以截图为例,我们现在测试登录模块,所以此处填写登录即可。

实际工作中,我们无需思考,因为产品需求文档(产品经理提供,简称PRD)都会规划清楚,只需要按照要求填写即可。

4)优先级:表示用例的重要程度或者影响力。这个要素比较重要。原则是对用户越重要的功能,优先级越高。



三、提前排雷,告知易犯错元素注意事项


测试用例8大要素介绍完成之后,为后面项目实践更加顺利,我们先来介绍6大易犯错元素,编写注意事项,先来提前排雷。


1、“用例标题”编写注意事项

用例标题,是用来表名测试目的。
合格的用例标题,可通过两个方面进行评判:

1)要清晰:团队其他人,通过用例标题,能清楚你要测试什么场景,无需看后面的测试步骤。
2)不能太繁琐:不要为清晰写一大串,其实只需要将核心的点标识清楚就可以。


2、“测试步骤”编写注意事项

合格的测试步骤编写,需要把握:

1)一定要参考产品提供的原型页面和原型图。
2) 不要跳过某些步骤:原型图里的步骤和环节,在测试步骤中也要一步步写清楚。
3) 不要多步骤糅杂在一起:每一步表示一个动作,阅读起来才会清晰。

3、“测试数据”编写注意事项

怎么判定“测试数据”书写合理呢?

1) 内容前的标识(举例截图,是指“QQ号”、“密码”)一定要写清楚。这样团队的其他人执行用例时,也能清楚数据代表的意思,能够清晰执行。
2) 一定是把和测试步骤相关联的核心数据,单独构造出来,不要给团队其他人带来困惑。
3)写死的数据,不需要填入测试数据,只需要在“前置条件”中写明即可。举例验证码,如果就是8888,那我就不需要在测试数据中说明。

4、“预期结果”编写注意事项

合格的“预期结果”,需要注意下面2点:

1) 要把预期结果写清楚。不要只写成功和失败。不然测试用例了执行者还要去查看产品需求文档,不然无法判断什么是成功,什么是失败。
2)需求文档是怎么定义成功,怎么定义失败的,就怎么写,不可以省略。

5、“前置条件”编写注意事项

合格的“前置条件”,可注意下面这2点:

1)前置条件的前提是你的测试步骤是啥。所以先写测试步骤,再写前置条件。
2)绝大部分前置条件都需要满足的条件,就是默认条件,可以不写。比如网络正常(除非要做弱网测试,需要网络不正常)。

 6、“优先级”编写注意事项

优先级,不要只写P0(最高级),那是不合理的。根据项目要求定即可。

普及下优先级编写,一般是P0~P3进行命名,为了大家更好理解,我加入“商城app"案例进行说明:

P0:最高优先级,验证业务流程,占比10-15%。
业务流程,代表用户使用你软件的最高商业价值
比如商城app里的,用户登录->搜索商品->加购物车->下单->支付->查看订单,这条核心业务线上的功能,就属于P0级。
-----------
P1:  高优先级,验证核心功能,占比20-30%。
比如商城app里的,使用账户余额支付订单,或注册账号,就都属于P1级别。
-----------
P2:  中优先级,验证一般功能,占比50%-60%。
比如商城app里,用户修改个人头像为png格式,就属于P2级别。
------------
P3:  低优先级,验证特殊的预置条件和数据设置,占比10-15%。
比如3分钟在商城app上随机操作1万次,就属于P3级别。

具体填入什么,参考项目的划分即可。

结合“测试用例”8大要素简介+6大易犯错元素注意事项,总结下来,合格的测试用例,关键把握这个原则:

“不仅自己能执行,团队其他人也能执行才是过关的”。



四、案例巩固,手把手教“测试用例”如何撰写

经过上述两部分的阐述,现在再来编写测试用例是不是就容易了呢?接下来我们来案例验证下。

TP商城-产品需求文档(产品经理提供,简称PRD)

如上图产品需求文档PRD所示,我们需要针对“注册成功”和“手机号存在”设计两条测试用例,应该怎么撰写呢?


结合“测试用例”8大要素简介+6大易犯错元素注意事项,我们来试试:


Step1:先写模块+用例编号

需要按照格式“项目_模块_编号”来撰写,这种格式撰写,不容易重号。

项目是“TP商城”,模块是“注册”,编号定位001,002
所以用例编号和模块可以一并完成,如截图所示:

Step2: 用例标题

用户书写测试目的和测试点,这是最重要的。格式是“测试目的-测试点(概括)”
1)要清晰:团队其他人,通过用例标题,能清楚你要测试什么场景,无需看后面的测试步骤。 2)不能太繁琐:不要为清晰写一大串,其实只需要将核心的点标识清楚就可以。

测试场景1)目的:注册成功,场景是:手机号不存在,也就是手机号未注册,
测试场景2)目的:注册失败,场景是:手机号已经存在,也就是手机号已注册

目的和测试点以“-”隔开,同时要满足清晰和不繁琐的要求,所以用例标题撰写如下:

Step3:优先级

优先级:一般是P0~P3进行命名
P0:最高优先级,验证业务流程,占比10-15%。
业务流程,代表用户使用你软件的最高商业价值
比如商城app里的,用户登录->搜索商品->加购物车->下单->支付->查看订单,这条核心业务线上的功能,就属于P0级。
-----------
P1:  高优先级,验证核心功能,占比20-30%。 比如商城app里的,使用账户余额支付订单,或注册账号,就都属于P1级别。
-----------
P2:  中优先级,验证一般功能,占比50%-60%。 比如商城app里,用户修改个人头像为png格式,就属于P2级别。
------------
P3:  低优先级,验证特殊的预置条件和数据设置,占比10-15%。 比如3分钟在商城app上随机操作1万次,就属于P3级别。

手机注册功能不属于业务流程上的功能,但属于核心功能(注册不成功,无法实现业务功能),所以定P1较为合适。

提示手机注册失败,不属于业务流程上的功能,相对而言,属于一般功能,所以定P2较为合适。

若拿不准,可根据项目要求来定即可。

Step4:测试步骤->前置条件->测试数据

“前置条件”2个注意点:
1)前置条件的前提是你的测试步骤是啥。所以先写测试步骤,再写前置条件。
2)绝大部分前置条件都需要满足的条件,就是默认条件,可以不写。比如网络
“测试步骤”3个注意点:
1)一定要参考产品提供的原型页面和原型图。
2) 不要跳过某些步骤:原型图里的步骤和环节,在测试步骤中也要一步步写清楚。
3) 不要多步骤糅杂在一起:每一步表示一个动作,阅读起来才会清晰。
“测试数据”3个注意点:
1) 内容前的标识(举例截图,是指“QQ号”、“密码”)一定要写清楚。这样团队的其他人执行用例时,也能清楚数据代表的意思,能够清晰执行。
2) 一定是把和测试步骤相关联的核心数据,单独构造出来,不要给团队其他人带来困惑。
3)写死的数据,不需要填入测试数据,只需要在“前置条件”中写明即可。举例验证码,如果就是8888,那我就不需要在测试数据中说明。

所以,先写测试步骤,一定要参考产品提供的原型页面和原型图,一步步写清楚:

原型图

结合原型图撰写测试步骤:

结合测试步骤撰写前置条件:

结合前置条件撰写测试步骤:

相同三步骤,我们也得到了注册失败时,3要素的填写:

Step5:预期结果

1) 要把预期结果写清楚。不要只写成功和失败。
2) 需求文档是怎么定义成功,怎么定义失败的,就怎么写,不可以省略。
需求文档定义的成功和失败

跟着我,手把手写完两个测试点的测试用例后,还感觉难吗?

希望听到你们说:不难。



五、其他有关测试用例学习资源分享

测试用例作为测试人员核心工作,我手头上也有很多学习资源,分享给大家:

1)若时间紧张,可快速看下面测试用例相关的高赞文章:

《如何编写测试用例?2410 赞同 · 343 评论回答》

https://www.zhihu.com/question/51558124/answer/1494934653

《有哪些比较好的测试用例管理工具?68 赞同 · 10 评论回答》

https://www.zhihu.com/question/26898212/answer/2940946212

《如何写出高效的软件测试用例?924 赞同 · 79 评论回答》

https://www.zhihu.com/question/39865629/answer/1639536795

《测试工程师都是怎么写测试用例的?164 赞同 · 7 评论回答》

https://www.zhihu.com/question/339206144/answer/2322810917

《在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?634 赞同 · 69 评论回答》

https://www.zhihu.com/question/19721142/answer/1633490943


2)若时间充裕,想系统学习测试用例和功能测试,可看下方视频:


码字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。



若你是对测试不太了解的测试小萌新,有太多太多对测试的疑惑(前途、薪资、技术含量、男生是否可以干.....),强烈推荐你观看《测试小白必看:学习软件测试必问的100个问题,从此贴开始》,相信能扫除掉你心目中90%以上的常见问题。


《100个常见问题链接》:http://bbs.itheima.com/thread-507947-1-1.html



最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。


包括软件学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助….. 


《2022黑马测试学习路线图链接》:http://bbs.itheima.com/thread-405757-1-1.html



感觉测试用例好难写怎么办?的评论 (共 条)

分享到微博请遵守国家法律