2021最详细的测试用例的设计方法及案例——骚操作

软件测试自动化测试 软件测试自动化测试     2022-10-23     634

关键词:

测试用例的设计方法

 

一.概念

1.什么是测试用例?

在测试过程中很重要的一类文档,它是测试工作的核心、是一组在测试时输入输出的标准、是软件需求的具体对照。

2.测试用例的作用:

检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路

3.测试用例所包含的内容:

用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。

4.测试用例的编写流程:

需求分析->提取测试点->测试用例编写->测试用例评审

 

二.需求分析

1.什么是需求?

客户的需要的东西以及对东西的要求

2.需求的种类有什么?

业务需求:关注系统是否满足业务要求

用户需求:关注系统是否满足用户习惯

功能需求:关注系统是否满足功能要求

 

三.测试用例的设计方法和编写

1.如何设计编写测试用例?

对各个功能模块进行测试点分析提取测试点再堆测试点进行用例编写

【测试点:通过需求分析后对得出的需要进行测试的具体内容】

 

比如对PC端QQ账号的登录模块,提取测试点就有:

①正常登陆 ②账号为空时点击登录 ③密码为空时点击登录 ④账号密码都为空时点击 登录 ⑤密码错误时点击登录 ⑥找回密码功能是否有效 ⑦记住密码功能是否有效 ⑧ 自动登录功能是否有效

2.编写测试用例该注意什么?

①根据项目的实际情况设计测试用例表格

②用例格式不要生搬硬套

③根据具体情况编写

3.编写测试用例的常用方法:

①等价类划分法:等价类是输入的集合,比如在注册时,密码规定为6-16位英文字母或数字及下划线,那么小于6位的一串字符就是一个等价类,大于16位的一串字符是另一个等价类,在6-16位之间且符合规范的一串字符也是一个等价类,在6-16位之间的但包含除英文字母和数字和下划线之外的字符是另外一个等价类。

在每个等价类中选取一定数目的值作为代表。等价类分为有效等价类和无效等价类,输入符合条件的值对功能进行检验,输入无效等价类中的值可以找出程序错误的地方。

②边界值分析法:对输入的边界值或稍大(小)于边界值的值进行分析。比如某公司在招聘时筛选简历时对年龄的要求是20岁到35岁,那么19、20、21、34、35、36都是边界值,对其进行输入测试观察结果是否符合要求。

③场景法:通过运用场景来对系统的功能点或业务流程的描述,从而提升测试效果。场景法一般分为基本流和备用流,覆盖所有的场景。

④错误猜测法:通过直觉和经验对结果进行分析。

 

四.测试用例评审:

1.什么是用例评审?

①简单的说,评审就是对测试用例进行检查

②评审包括:同行评审、小组评审、部门评审和第三方评审等

③不同的评审有不同的角色参与其中

2.评审的意义:

①通过评审发现用例的不足

②方便测试人员改进用例

③达到在测试时提高测试质量的目的

3.评审的流程是什么?

评审后改进测试用例,再进行评审再改进测试用例,这样一直循环直到评审都通过,这时候才结束评审,也标志着测试用例编写的完成

 

二.测试用例管理:

1.为什么要管理测试用例?

①测试用例数目巨大

②测试用例会根据需求的改变而改变

③测试用例需要补充完善

2.如何管理测试用例?

①原始的Excel管理

②专业的项目管理系统(eg:ALM、禅道、testlink、Bugzilla、JIRA)一般都为web格式

 

三.还是举个例子实在

如图所示为CSDN的web端登录界面部分的截图:

    

如图所示为提取的测试用例点以及编写的相应的测试用例:

测试点:

 

 

测试用例:

 

 

 

等价类

因材施教的例子:

原则上讲,老师都应该根据每个学生的学习情况制定相应符合的学习方案,但是实际上学生太多,老师管不过来,只能讲学生分为三六九等,优等生强调知识面的扩展和综合能力的提升,中等生强调夯实基础,查缺补漏,差等生强调优先掌握重点,暂时逃过难点.......

思路:输入的集合是无穷的,不能全部都覆盖到

等价类:依据需求将输入划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的整个等价类测试通过,这样就可以通过较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题

弊端:等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充 

有效等价类:对于程序的规格说明书是合理的,有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明书中所规定的功能和性能

无效等价类:根据需求说明书,不满足需求的集合

超市买水果

有效等价类:苹果,香蕉,桃子...

无效等价类:青菜,大米,饮料...  

边界值

日常语言的漏洞:

考完试发成绩了,老师布置寒假作业:超过60分的,所有题目抄写一遍,低于60分的,所有题目抄写三遍

于是小明就没有作业~~~,因为他刚好60分

边界值:边界值分析法就是对输入或者输出的边界值进行测试的一种黑盒测试方法,通常边界值分析法是作为对等价类划分方法的补充,这种情况下,其测试用例来自等价类的边界 

1. 输入框长度为1-11,边界值取值:0,1,11,12

2. 运动员参赛项目为1-3项,边界值取值:0项,1项,3项,4项

3. 查询面页面有999行,每50行为一页,边界值取值:0行,1行,50行,51行,999行 

因果图

因果图:因果图是一种简化了的逻辑图,能直观的表明程序输入条件(原因)和输出动作(结果)之间的相互关系,因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的各种情况

因果图需要掌握的基本知识:

恒等

恒等:如果原因为真,那么结果必为真

与:只有当两个原因都为真的时候结果才为真  

或 

或:两个原因中有一个为真,那么结果就为真 

非 

 

非:只有原因为假,结果才为真 

因果图设计测试用例的步骤:

分析所有可能的输入和可能的输出

找出输入与输出之间的关系

画出因果图

把因果图转化成判定表

把判定表对应到每一个测试用例  

 案例:

淘宝在双十一退出打折优惠活动,订单已提交,订单金额大于300或有红包,则优惠

1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:

输入:订单已提交,订单金额大于300,有红包

输出:优惠,不优惠

2. 然后进行第二步,找出输入域输出之间的关系,通过分析得出以下对应关系

订单已提交,订单金额大于300,则优惠

订单已提交,订单金额小于等于300,无红包,不优惠

订单已提交,订单金额小于等于300,有红包,优惠

订单已提交,有红包,优惠

 订单未提交,不优惠

3. 为了方便画出因果图和判定图,对所有输入和输出编号,编号如下:

 1:订单已提交

 2:订单金额大于300

 3:有红包

 21:优惠

 22:不优惠 

4. 画因果图

             

 

5. 画判定表

                1 2 3 4 5 6 7 8

        条件 1 Y Y Y Y N N N N

                 2 Y Y N N Y Y N N

                  3 Y N Y N Y N Y N

中间结果    11 Y Y Y N Y Y Y N

动作           21 Y Y Y N N N N N

                  22 N N N Y Y Y Y Y

 6. 最终的测试用例

1,2,3,4,5(包括6,7,8)

正交排列

因果图法测试用例太多怎么办?

正交法的目的是为了减少用例数量,用尽量少的用例,覆盖输入的两两组合

正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由实验因素的全部水平组合中挑选出部分有代表性的点进行实验,通过对这部分实验结果的分析了解全面试验的情况,找出最优的水平组合,正交试验设计是一种基于正交表的,高效率,快速,经济的试验.

因素(Factor):在一项试验中,凡是考虑的变量都称为因素(变量)

水平(位级)  Level :在试验范围内,因素被考查的值称为水平(变量的取值)

正交表的构成:

行数(Runs):正交表中行的个数,即试验的次数,用N表示

因素数(Factors): 正交表中列的个数,用C表示

水平数(Levels): 任何单个因素能够取到的值的最大个数,正交表中包含的值为从0到数"水平数-1"或者从1到"水平数",用T表示

正交表的表示形式: L=行数(水平数*因素数)  L=N(TC)

正交表的两条性质:

每一列中各数字出现的次数都一样多

任何两列锁构成的各有序数对出现的次数都一样多

正交法设计测试用例的步骤: 

1、有哪些因素(变量)

2、每个因素有哪几个水平(变量的取值)

3、选择一个合适的正交表

4、把变量的值映射到表中

5、把每一行的各因素水平的组合作为一个测试用例

6、加上你认为可疑且没有在表中出现的用例组合 

案例

以注册为例:

1.因素:姓名,邮箱,密码,确认密码,验证码

2.水平: 填写,不填写

实验说明 选择正交表 因素与水平      

序号 1 2 3 4 5

因素名称 姓名 EMAIL 密码 确认密码 验证码

水平1 填写 填写 填写 填写 填写

水平2 不填写 不填写 不填写 不填写 不填写

3.表中的因素数:5

表中至每个因素数的水平数=2

行数取最少的一个,即试验次数最少的一个

L=N(TC)=(2-1)*5+1=6(25)     N试验次数   T水平数   C因素数

 4.生成测试用例

实验计划表            

所在列 1 2 3 4 5 6

因素 姓名 EMAIL 密码 确认密码 验证码 实验结果

实验1 填写 填写 填写 填写 填写  

实验2 填写 填写 不填写 填写 不填写  

实验3 填写 不填写 填写 不填写 不填写  

实验4 不填写 填写 不填写 填写 不填写  

实验5 不填写 不填写 填写 不填写 填写  

实验6 不填写 不填写 不填写 不填写 填写  

场景设计法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流,该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行

案例

以注册为例

错误猜测法

错误猜测法是经验丰富的测试人员喜欢使用的一种测试方法

基于经验和直觉,找出程序中你认为会出现的错误,有针对性地设计测试用例,经验可能来自于对某项业务的测试较多,也可以来自售后用户的反馈意见,或者从故障管理库中整理出bug,整理出产品越往哪些地方越容易出现问题,问题越多的地方,潜在的bug越多

案例

以注册为例

1、校验中特殊字符空格的处理?

2、密码校验中的大小写?

3、姓名中的特殊字符?

4、密码发送是否明文

总结:如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入Python自动化测试技术群: 953306497 群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

测试用例

...其它相关系统(5)、除功能测试外的其它测试类型二、详细用例的设计1、功能切面表面用例设计(1)、具体功能测试(2)、组合操作的测试(3)、GUI界面的测试(4)、数据初始化情况测试(5)、业务需求实现是否正确2、功... 查看详情

测试用例的设计方法

测试用例的总体设计方法基于需求的设计验证需求的正确性和合理性细分需求,多细致的需求就设置多细致的测试用例(从细分的需求里面,根据每一个功能设计完整的测试用例)如:软件需求(1)若... 查看详情

测试点设计及编写思路

我们写用例的时候一般是先写测试点,然后再写测试用例,也可以这么理解,测试点就是精简版的测试用例。编写用例四个基本方法:等价类、边界值、正交法、场景法。我认为对于一般的企业测试来说,这... 查看详情

功能测试用例的书写

...1)需求说明及相关文档2)相关的设计说明(概要设计,详细设计等)3)与开发组交流对需求理解的记录(可以是开发人员的一个解释)4)已经基本成型的UI(可以有针对性的补充一些用例)   简而言之,所有你能得... 查看详情

接口测试方案怎么写

...。要实现测试用例的独立性,就必须对被测系统的设计有详细的了解,这样,不会出现测试用例执行后遗漏数据,环境未改变,另外,还需要对测试用例进行详细的设计。另外,要保证测试用例的重复使用,还需要做到测试用例... 查看详情

测试用例的设计

一、什么是测试用例        测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求,通俗的讲:就是把我们测试... 查看详情

软件测试测试用例的设计

测试用例:是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素。评价测试用例的标准:1.用例表达清楚,无二义性。2.用例可操作性强。3.用... 查看详情

备考第12天——测试用例的编写

...试的通用方法。如果方法在测试计划中列出,就应该在此详细描述要使用的技术,并给出如何验证测试结果的方法。例如,我们这样描述一种方法,开发一种测试工具,顺序读写不同大小的数据文件,数据文件的数目和大小及包... 查看详情

测试用例的理论知识

什么是测试用例? 是为了实现测试有效性而采取的一种最基本的手段。在测试过程中可以通过对于测试用例的组织和跟踪来完成对测试工作的量化和管理是有效地发现软件缺陷的最小测试执行单元,是为了特定目的(验证是否... 查看详情

软件测试:测试用例的设计思想

一,登陆页面的测试:下面以一个登陆窗口为例,说说我设计登陆界面的思路和方法。我把这个测试用例分为三层结构,表单测试、逻辑判断、业务流程。第一层,表单测试为最底层(最基础的)。这部分的测试用例是对登陆窗... 查看详情

面试测试开发工程师:用例篇

目录1.测试用例的基本要素2. 测试用例的给我们带来的好处 3. 测试用例的设计方法3.1测试用例的总体设计方法基于需求的设计3.2 具体的设计方法3.2.2等价类3.2.3 边界值3.2.4 因果图3.2.5 正交排列 3.2.6场景设计法3.2.7 错误猜测... 查看详情

测试2:编写测试用例的方法(代码片段)

2.编写测试用例的方法==7种==测试常用的方法:codereview+代码静态分析、CI/CDCI--持续集成--开发成员经常集成它们的工作,尽快发现集成错误CD--持续部署--将集成后的代码部署到更贴近真实运行的环境2.1测试用例的描述:用例编号... 查看详情

软件测试用例

一、测试用例的基本要素测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。好的测试用例是一个不熟悉业务的人也能依据... 查看详情

测试用例的设计步骤

测试用例的设计步骤作为测试新人,如何实现测试用例的设计一直是我的一个疑惑,在工作中写过几个项目的测试用例,尝试总结一个测试用例的设计步骤。前提:编写测试用例之前我们需要对项目的需求有清晰的了解,对要测... 查看详情

我的测试用例设计-01测试用例的个人见解

刚入行的时候,看了很多关于测试相关的文章,记得有一篇说到测试用例是测试灵魂让我印象深刻。如今,我入行几年了,越发深感测试用例的设计重要性,可以这么说,测试用例的设计与管理是测试工程师的核心技能。我发现... 查看详情

测试用例设计方法场景设计方法

...成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。基本流和备选流:如下图所示,图中经过用例的... 查看详情

单元测试中测试用例的设计方法

单元测试中测试用例的设计方法1.用于语句覆盖的基路径法基路径法保证设计出的测试用例,使程序的每一个可执行语句至少执行一次,即实现语句覆盖。基路径法是理论与应用脱节的典型,基本上没有应用价值,读者稍作了解... 查看详情

优秀测试用例的设计策略

测试工作最为基础核心的内容就是设计测试用例,什么样的测试用例是好的测试用例?我们一般会认为数量越少,发现缺陷越多的用例就是最好的用例。那么我们如何才能设计出好的测试用例呢?一份好的用例是设计出来的,是... 查看详情