如何编写一份高质量测试用例

简介: 如何编写一份高质量测试用例

大家好,我是阿娟,一位从业 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的正交排列表,如下图所示:



将每个控件及其取值进行编号,并填入正交表中,如下图所示:



根据整理好的正交表,编写测试用例,每一行对应一条用例


三、其他


一)独立性和可重复性


每个测试用例应该是相互独立的,不依赖于其他用例的执行结果。用例应该是可重复执行的,以便在需要时重复验证结果。


二)可验证性


每个测试用例的预期结果应该是可验证的,能够判断测试是否通过或失败。


三)可复用性


很多功能组件都是复用的或是同一个功能展示在不同入口,所以有些用例是可以复用的,通过修改或扩展,减少冗余的测试用例编写。


四)及时更新和维护


随着项目的发展或是需求的变化,及时更新和维护测试用例,以确保其与系统的最新版本功能保持一致。


以上就是今天的分享,谢谢你的阅读呀~


相关文章
|
1月前
|
测试技术
编写测试用例
编写测试用例
22 7
|
7月前
|
测试技术 程序员 数据安全/隐私保护
如何编写测试用例?
如何编写测试用例?
114 1
|
4月前
|
测试技术 API 数据库
流程测试用例的编写与执行
流程测试用例是为验证特定业务流程而设计和编写的测试案例,专注于检查系统或应用程序在执行某一业务流程时的正确性、稳定性和可靠性。一个业务流程可能涉及多个步骤、多个用户交互和多个系统组件的协作,流程测试用例有助于确保整个流程在各种情况下都能正常运行。
43 0
|
测试技术 数据库 数据安全/隐私保护
如何优雅编写测试用例
测试用例写的差,领导不满意怎么办?看完这篇就懂了。
255 1
|
11月前
|
NoSQL 关系型数据库 MySQL
一日一技:如何正确为历史遗留代码补充单元测试?
一日一技:如何正确为历史遗留代码补充单元测试?
76 0
|
测试技术
测试用例的编写
测试用例的编写
|
测试技术
软件测试面试题:常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用?
软件测试面试题:常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用?
127 0
|
资源调度 测试技术 Python
Cypress系列(11)- Cypress 编写和组织测试用例篇 之 动态生成测试用例
Cypress系列(11)- Cypress 编写和组织测试用例篇 之 动态生成测试用例
299 0
Cypress系列(11)- Cypress 编写和组织测试用例篇 之 动态生成测试用例
|
资源调度 测试技术
Cypress系列(10)- Cypress 编写和组织测试用例篇 之 动态跳过测试用例
Cypress系列(10)- Cypress 编写和组织测试用例篇 之 动态跳过测试用例
304 0
Cypress系列(10)- Cypress 编写和组织测试用例篇 之 动态跳过测试用例
|
存储 测试技术
浅谈测试分析与测试用例的编写
最近有朋友问测试用例相关的内容,我就冒充一名测试人员写下这篇文章图片。文章写的应该会比较的粗,从比较浅的视角下介绍功能测试是如何进行功能测试点分析的,以及测试用例的编写需要包含的一些关键点。如果想了解测试方法的话可以去相应的论坛或者找书籍进行学习哦,本文就不会涉及到这些知识点啦。
246 0
浅谈测试分析与测试用例的编写