测试用例设计与黑盒测试用例设计

测试用例设计与黑盒测试用例设计

1.测试用例(test case)

1.1定义:

是一份具体的测试步骤的文档,是为了达到最佳的测试效果或者高效的揭露软件中的潜藏的错误和缺陷,而精心设计的少量且具有代表性的测试场景和测试数据。

1.2描述:

测试用例就是设计一个程序,软件程序在该情况下运行使用,是是能够达到预期结果;如果在该情况下不能达到预期结果,那么就认为是缺陷,就可提交给开发进行修复和确认,修复完成时,必须利用同一个测试用例来测试该问题是否修复。

1.3测试用例编写

  1. 测试用例编号

参考写法:testcase_项目名称__模块名称_子模块名称_功能名称_测试类型_0001
testcase_verdows_zcxyh_zc_function_0001

功能测试function 界面测试ui 性能测试performance

2.测试项/用例标题

概述:一句话概述用例的目的(测试步骤+数据能验证的事情)

例:验证5位长度用户名的登录

验证......的情况

3.依赖用例(非必写)

概述:当前用例的设计,需要其他场景的支持,如果有用例依赖的关系,写明依赖用例编号

例:删除一条数据依赖数据的增加,写明数据增加的用例编号。

4.测试步骤(简洁明了,描述清楚)

概述:针对测试项设计详细步骤,通俗易懂

例:验证5位长度用户名的登录

测试步骤:输入用户名qqqqq

输入密码:123456

点击登录按钮

5.输入数据/测试数据

概述:测试过程中用到的测试数据

6.预期结果

概述:按照步骤执行,软件运行结果

例:预期结果 登录失败

7.测试结果(执行后填写)

概述:实际结果和预计结果对比后的结果值

例:失败/成功/阻塞

阻塞指由于其他原因用例无法执行

8.测试人(执行测试用例的人)

9.备注

执行用例时,执行某一模块,其他模块默认为正确的操作。

执行测试用例的作用

有效性:测试用例时测试人员在执行测试时的重要参考依据

可重复性:测试用例可重复使用

易组织性:即使在小的项目也会有大量的测试用例,而且过程中也会被一直创建和使用

可评估性:测试用例执行的通过率也是检验代码质量的标准

可管理性:测试用例也是检查一节测试人员的工作效率的标准

测试用例编写的注意事项

不要设计穷尽测试用例

多关注反向测试问题

测试用例需要设计

多学习他人的测试用例

覆盖测试需求量达到百分百

黑盒测试用例设计方法(等价类划分法和边界值法)

黑盒测试:把程序看作黑色盒子,完全不考虑内部结构,只看程序功能是否满足需求,判定结果的正确性

黑盒测试用例的方法

针对测试数据的选择:等价类划分法,边界值分析法

针对测试步骤的设计:因果图判定表法 场景法 正交试验法 功能图法

测试数据的选择

定义:依据需求把程序中所有可能输入的数据,即程序的输入域,划分成若干部分,从每一部分中选取少量具有代表的数据作为测试用例的输入数据,选取代表性数据就等同于该部分的其他数据。只要选取的代表性数据有问题,那么该部分的其他数据也可能有问题。

如何划分等价类(有效等价类,无效等价类)

有效等价类:指的是根据需求划分出有意义的,合理的数据结构构成的集合

无效等价类:指的是根据需求划分出无意义的,不合理的数据结构构成的集合

等价类划分的原则

按照区间划分

如果输入条件中规定了取值范围或者值的个数,可以划分成一个有效等价类和俩个无效等价类

例;输入成绩 0--100之间 可以划分为0----100 <0 >100

按照数值划分

如果输入条件中规定了n个值,且每个值都需要做处理的情况下,可以划分出n个有效等价类和一个无效等价类。

例:学生分班,有效是学生 无效是除了学生的其他身份。

按照数值的集合

如果输入条件中规定了输入值的集合,可以确定一个有效等价类和一个无效等价类

例:变量名命名规则:首字符为字母开头

有效等价类:以字母开头的数据构成的集合

无效等价类:非字母开头构成的数据集合

按照规则划分

如果输入条件中规定了必须遵守规则的情况下,可以确定一个有效等价类和若干个无效等价类

输入一个布尔量,可以划分一个有效等价类,和一个无效等价类

例:假定把产生ture结果的数据结构的集合看成有效的,那么产生false结果的数据就是无效的

如果在确定了已划分的等价类中,在程序处理方式不同的情况下,还可以再进一步划分出更小的等价类

例:非字母开头---->以数字开头的数据结合 以特殊符号开头的数据结合

利用等价类进行用例的设计

设计用例的参考步骤:

1.根据需求,划分出有效等价类和无效等价类,建立等价类表

2.给以划分出来的有效等价类和无效等价类各自添加一个唯一编号

3.设计一条测试用例,使其能尽可能多的覆盖掉有效等价类(能一条解决,不考虑第二条)

4.设计一个新的测试用例,使其能覆盖一个无效等价类(无效等价类,一个设置一个测试用例)

边界值分析法

等价类划分法的核心思想是:把有效无效等价类数据集合区间带给划分除来,划分完成后,如何选具有代表性的值,需要边界值分析法。

边界值分析法概述:错误易发生于输入输出边界,边界设计测试用例易发现错误,也是对等价类划分的补充

边界值指恰好边界值,超越边界,边界以下

测试数据的选择步骤分析:1.边界数据 2. 选取测试数据,边界值刚刚等于,刚刚大于,刚刚小于

输入值:0-100 选取数据0 100 -1 101

如果输入项中规定了值的个数,则最大个数 最小个数 最大个数加一 最小个数减一

例:文件规定1-255条数据 测试数据选择1 255 0 256

如果输入是有序列表,注意序列中第一个元素和最后一个元素

分析需求规格说明说,找寻隐藏的边界值

例:月份输入框只能输入一到十二

等价类划分法和边界值法结合使用,针对测试数据进行操作

测试用例评审

作用:使用例结构清晰,覆盖场景更全面(查漏补缺,适当修改),快速提高用例水平

测试步骤的设计

因果图法

概述:等价类边界值法着重考虑条件中数据的选择,而因果图法是一种适合于描述多种输入条件的组合的测试方法;根据输入条件的组合,以及约束条件的因果关系,分析输入条件中的各种组合情况,从而设计测试用例。

因果图分析方法

a,找寻原因和结果的关系,画出因果图

1.恒等 有a条件就有b结果 例:a------------------>b

2.非 有a条件就没有b结果

3.或 a b c 有一个就会产生d结果

4.与 a b c同时存在就会有d结果

b.根据需求说明,给因果图加上约束条件

原因和原因之间的约束条件:

互斥:abc三个条件,最多成立一个

包含:abc三个条件,至少成立一个

唯一:abc三个条件有且只能有一个成立

要求:a条件的操作,也必须要求b条件保持一致

结果和结果之间的约束条件:

屏蔽:只要有a结果,就会屏蔽b结果

c:因果图分析完成后,转换出表格来分支因果关系(根据因果图转换成判定表)

d.表中每一列都是一条测试用例

因果图判定表法:根据因果图---->生成判定表---->表中每个列,设计测试用例

判定表法

概述;又称“判定表驱动法”。是用来分析和表达多个条件下执行不同操作的情况分析的工具(找出原因和结果)包含以下内容“

条件桩:指所有的输入条件(问题)

条件项:指输入条件(原因)取值

动作桩:指所有输出的结果

动作项:指的是输出结果的取值

表中的列,又称规则,一个规则一条测试用例。

判定表的建立步骤

a,确定规则的个数

例:假定有n个条件,每个条件取值0 1 那么有2n个规则

b,列出所有条件桩和动作桩(问题和结果)

分别填入条件项和动作项,生成初始化判定表

c,简化,合并,去重相似的规则。

注意:不是所有的判定表都能够进行合并简化前提是:这些规则都有相同的动作,且天剑项之间是存在相似的关系

场景法

概述:模拟用户使用软件时的场景(在不同场景下测系统软件)主要在于测试系统的业务流程。

例:把软件放不同网络环境下

场景一:强网络环境下,看软件是否完整执行整个流程

场景二:弱网络环境下,看软件是否完整执行整个流程

作用:帮测试人员设计测试用例(设计不同的场景来测试系统软件),测试需求的完整度。

场景法的分析过程

场景法的实现过程:基本流和备选流

基本流(正确的业务流程):从程序执行开始到程序执行结束,整个过程是没有任何错误的场景(软件运行的流程正确(无任何错误)分析表达出来)

备选流(不同错误的业务流程):在基本流基础上,发生各种错误的场景

用例中设计的测试场景:来源于基础流和备选流的不同组合场景,一个场景就是一条测试用例。

1.确定基本流和备选流

2.根据场景法列举的场景来设计测试用例

案例分析2:

用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。

根据以上描述,利用场景法设计测试用例

4.1确定基本流和备选流

基本流:进入购物网站-->选择商品-->登录账号-->付款--->生成订购单

备选流1:账号不存在

备选流2:密码错误

备选流3:余额不足

备选流4:卡里没钱

4.2根据基本流和备选流组合生成场景

场景一(成功购物):基本流

场景二(账号不存在):基本流+备选流1

场景三(密码错误):基本流+备选流+2

场景四(余额不足):基本流+备选流3

场景五(卡里没钱):基本流+备选流4

4.3针对每一个场景设计测试用例

4.4去重复后选取测试数据

使用场景较为复杂,使用场景比较多,拿到测试任务时,不要先关注某个控件的边界值,而要关注软件的主要功能和业务流程是否能正确实现用到场景法(冒烟测试)

验证完成时,再结合等价类,边界值,以及因果图判定表法对各项输入项进行测试工作。

错误推测法

概述:基于经验和直觉推测程序中所有存在的各种错误,从而针对性的设计测试用例的方法

思想:列举出程序中所有可能出错的或者容易发生错误的特殊情况,依据这些分析点来设计测试用例。

例:除数不为零设计测试用例。

探索性测试

思想:测试人员一边学习被测软件的需求,功能,特性等等,一边进行测试工作的推荐,学习和测试是同时进行的状态,从而了解到系统更多的相关信息,进行用例设计

正交试验法

概述:

正交试验法利用正交表对试验进行整体的分析设计,综合比较,实现通过较少的试验次数找到较好的生产条件,达到最优的效果。(大量试验选取代表性的试验点,放入正交表中,来进行数据的分析和试验的实施)

思想:

把影响实验结果的量被称为试验因素(因子),简称“因素”

在实验中,每个因素所处的不同状态或状况,被称为因素的水平,简称”水平“

正交试验法设计步骤

1.确定因数,指影响软件运行结果的条件

2.确定每个因素水平,指的是吧条件的取值获取到。

3.利用正交试验助手,选择正交表

注意:根据因数水平的个数,选择合适的正交表,如果没有合适的正交表,可以选择大一些的。

L4_水平数__因素数

L4_2__3 代表2水平三因素 4次试验(四条测试用例)

 

4.生成的每一个试验,都是一条测试用例。

在正交表中,每列不同的数据出现的次数是相同相等的,每个因素每个水平参与试验几率是一致的。

正交表中,任意俩列横向组成的数据对,出现的次数也是相等的,保证不同因素,不同水平的组合参与实验的几率是一致的。

正交试验法最典型的测试功能(测试场景):软件中的设置模块的测试用例设计,选取不同场景,对应不同的测试案例。

测试大纲法

概述;主要应用于涉及多个窗口,每个窗口包含多个操作,窗口间存在一定联系,为了弄清楚窗口与窗口间的条件,借助测试大纲法

应用场景:典型案例,测试安装和卸载操作。测试窗口间的跳转关系。理清需求间的关系,着眼于需求的测试方法。

monkey测试

它是一种没有书面测试用例的测试方法,通过monkey命令完成测试操作,整个过程充满随机性。偏向于压力测试,看程序的响应,报错,异常等情况

缺点:

测试往往不太真实,会有较多冗余的操作,测试覆盖率不确定,难以完全覆盖

测试用例设计方法的选择策略

测试用例对于需求的覆盖率应该为百分百针对有任何输入项数据的选择使用:

等价类划分法,边界值法

如果程序功能说明中含有输入条件的组合情况

优先考虑因果图判定法

对于参数配置类的软件

正交实验法,选择较少的组合方式

对于业务流程清楚的系统

场景法更为有效

可以用错误推测法追加一些测试用例,用例的设计如果没全面覆盖,应补充测试用例。

 

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值