大家好,我是阿娟,一位从业 7 年的软件测试程序媛
测试用例编写是软件测试中非常重要的一个环节,今天给大家分享如何编写一份高质量测试用例
一、需求拆解
一)整体了解需求
仔细阅读需求文档,对整体需求进行的充分理解,例如遇到业务相关联的需求,需要查询相关文档或是询问相关同学,尽全力做到不遗漏。
二)识别功能点
将整体的需求拆分为具体的功能点,例如注册,除了正常的注册流程,还要考虑不同注册的方式,手机号注册、邮箱注册、微信注册等等。
三)确定边界和约束
确定每个子功能的边界和约束条件,包括输入、输出、数据格式等,例如邮箱注册,支持的邮箱类型,密码输入的格式等等。
四)结合业务
很多测试场景是要和业务相结合的,例如登录,常见的一般有手机号登录、邮箱登录。但是还有很多需求方要求授权码登录,一些绑定在主帐号上的公共帐号只能通过这种方式进行登录等。
二、测试用例的编写
一)组成要素
1、测试用例名称:用于描述测试用例的目的或功能点,例如登录、注册等。
2、测试前提:测试用例执行的前提条件,例如登录功能的验证前提网络正常等。
3、测试步骤:测试用例的操作流程。包括所需的输入和操作等,例如输入正确的帐号和密码,点击登录。
4、测试数据:测试用例执行的输入数据,包括输入值、边界条件等。
5、预期结果:测试用例的预期执行结果,例如点击登录按钮,预期结果是登录成功,进入到app首页等。
6、实际结果:测试用例的实际执行结果,
7、优先级:标识测试用例的优先级或重要性级别
8、测试状态:标识测试用例验证通过或失败
9、备注:记录其他和用例执行相关的数据信息
二)呈现方式
1、Excel:包含如上所述的要素,用例编写更详细一些,每一条用例验证一个功能点
2、XMind:如果业务场景不是很复杂,可以尝试使用XMind编写,结构比较清晰
3、其他工具
使用开源或是自研的工具,编写方法是一样的,优点是项目或是团队各成员之间用例可以实现共享,并且能看到具体的执行记录
三)编写测试用例的常用方法
1、等价类划分法
一般是指一个输入域的集合,在这个集合中每个输入条件都是有效的,一般分为有效等价类和无效等价类。
举例:计算1~10之间两个整数的和。
有效等价类:1~10,无效等价类:<1和>10、非整数、其他字符
2、边界值法
输入值的边界情况,包括最小值、最大值和临界值。一般是对等价类划分的一个补充。
举例:计算1~10之间两个整数的和。
产生了1和10这两个边界值(闭区间,1和10都有效)
还有一些场景是开区间的,例如(1,10],[1,10)等,根据实际情况进行调整
3、场景法
事件触发形成了场景,而同一事件的不同触发条件或是顺序或处理结果形成事件流,最后要形成闭环
例如登录流程:
基础流:输入正确的账户和密码登录成功
基础流+备用流1:账户需要二次验证,输入正确的账户和密码,进入二次验证界面,验证成功,登录成功
基础流+备用流2:输入错误的账户和密码,提示账户或密码错误等。
4、因果图法(判定表法)
输入条件比较多的情况下,所有的输入条件的排列组合
举例:注册流程,a. 输入手机号或者电子邮箱作为账户名 b. 输入正确验证码
两项都验证成功,填写账户信息
如果一项验证不正确(输入手机号或电子邮箱格式错误),提示账户错误
验证码输入错误,提示验证码错误
❌表示不输入
根据整理好的表数据,编写测试用例
5、错误推测法
基于测试人员的测试经验,猜测系统中可能存在的错误和缺陷,并编写相应的测试用例来验证这些猜测。
6、正交表法
举例:一个样式控件
字体包含宋体和楷体
颜色包含黑色和红色
样式基于正文和标题
找出控件个数(因素数)以及每个控件的取值个数(水平数)
根据正交表查询链接(http://support.sas.com/techsup/technote/ts723_Designs.txt),选择一个水平为:2,因素为:3的正交排列表,如下图所示:
将每个控件及其取值进行编号,并填入正交表中,如下图所示:
根据整理好的正交表,编写测试用例,每一行对应一条用例
三、其他
一)独立性和可重复性
每个测试用例应该是相互独立的,不依赖于其他用例的执行结果。用例应该是可重复执行的,以便在需要时重复验证结果。
二)可验证性
每个测试用例的预期结果应该是可验证的,能够判断测试是否通过或失败。
三)可复用性
很多功能组件都是复用的或是同一个功能展示在不同入口,所以有些用例是可以复用的,通过修改或扩展,减少冗余的测试用例编写。
四)及时更新和维护
随着项目的发展或是需求的变化,及时更新和维护测试用例,以确保其与系统的最新版本功能保持一致。
以上就是今天的分享,谢谢你的阅读呀~