软件测试——用例篇

目录

1、(回忆)什么是测试用例?

2、软件测试人员为什么要写测试用例?

3、基于需求设计测试用例

功能性测试

非功能性测试

4、具体的设计测试用例的方法

(1)等价类

​编辑(2) 边界值

(3)错误猜测法

(4)场景法

什么是事务?

(5)因果图法

(6)正交法


1、(回忆)什么是测试用例?

测试用例是向被测试系统发起的一组集合,这组集合包括测试环境、测试数据、测试步骤、测试结果。

2、软件测试人员为什么要写测试用例?

(1)测试用例是测试执行的依据

(2)测试用例可以复用,在进行回归测试的时候不用重新编写

(3)测试用例可以衡量需求的覆盖率

(4)后人可以借鉴

(5)手工测试用例是自动化测试的基础

3、基于需求设计测试用例

需求是测试人员进行测试的依据,测试人员分析需求,验证需求的合理性和正确性,无二义性

从需求当中提取出测试项,根据测试项进行进一步的细分,提取出测试点,编写测试用例

功能性测试

(1)从界面开始测试(符合UI设计稿)

(2)验证软件的功能,把业务相关的功能串联起来进行测试,不能只关注某一个孤立的功能

如:淘宝的购物场景,搜索商品——加入购物车——结算——付钱

(3)一个功能的不同的输入,和相应的不同的输出

如:测试QQ登录时,输入正确的账号和密码,登录成功,输入正确的账号和错误的密码,登录失败等等

(4)功能之间的交互性,如

同一个系统不同角色之间的交互,如淘宝的买家和卖家

注册和登录

购物车和收藏夹

(5)异常功能的测试,如QQ测试用例的异常

(6)功能用到的算法的验证,这个需要看代码

非功能性测试

非功能性测试就是测试在软件本身的功能之上做的一些限制

易用性、兼容性、性能、安全性、可移植性、可靠性、可维护性

不同应用的软件对于以上非功能性的要求不太一样

(1)面向客户端的软件,如画图板、office、word、xmind对性能、安全性要求不高,但是对于兼容性(必须在不同的系统上都可以安装和应用)、可移植性、稳定性(日常频繁的使用)要求较高

(2)面向企业内部的软件,如飞书,对兼容性、性能要求不高,但是对于功能要求高,可靠性要求高

(3)大型商用软件,如微信、QQ对性能、兼容性、可靠性、可移植性、安全性要求高

4、具体的设计测试用例的方法

(1)等价类

根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类,从每一个等价类当中选择测试用例进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价类测试通过

等价类帮助而我们解决测试用例无法穷举的情况

等价类又分为有效等价类和无效等价类

有效等价类:符合需求数据规格说明的数据集合

无效等价类:不符合需求数据规格说明的数据集合 

(2) 边界值

边界值要取边界上的值,和边界左右两边的值

如用户名的范围是6~15位,所以要测试5,6,7和14,15,16

一般建议等价类和边界值结合在一起进行测试用例的设计

(3)错误猜测法

根据测试人员的经验,知识积累,猜测某一块功能有问题,有针对性地进行测试用例地编写

探索性测试,针对性比较强,比较依赖测试人员个人地水平

比如搜索查询框的空格

比如搜索查询出的信息不同的页面上有相同的数据,数据id也一样,原因是没有对查询到的数据进行排序,导致每一页的数据都是随机展示的。

(4)场景法

很多软件不同的场景,是基于不同的事件的触发,不同事件的触发,导致场景走向不同的事件流,不同的功能点穿起来形成一个场景,不同的功能点又有不同的输出,不同的输出导致不同的测试场景。

为了更好的理解,举个例子

ATM取款机场景:插卡——输入密码——输入取款钱数——取款——退卡

插卡:

插错卡,如公交卡、饭卡、会员卡;卡插反;卡磁条无法识别;卡损坏;卡号冻结,账户锁死;网络不好无法识别卡

输入密码:

输入正确的密码;输入错误的密码(密码格式不正确);不输入密码,直接点击确认;密码输入错误超过三次,账户锁定;密码第一次输入错误,第二次或第三次输入正确;密码输入框是否支持输入删除操作;测试密码是否加密;是否支持不同字符的输入

输入取款的钱数:

输入小于卡余额的钱数;输入大于卡余额的钱数;输入等于卡余额的钱数;输入非整百的数;不输入直接按取钱按钮;多久不操作超时;

取款:

输入小于等于卡余额的钱数时,取款成功;输入大于卡余额的钱数时,取款失败,并提示“余额不足”;超过每日取款的上限;超过每日取款次数的上限

退卡:

取钱后正常退卡;操作超时,吞卡

ATM机器:

ATM一切正常;ATM余额不足;ATM断网、断电、硬件故障、软件系统崩溃

什么是事务?

事务是一系列密切相关的操作的集合,如果所有的操作成功了,我们就说这个事务成功了,如果其中一个操作失败,我们就说这个事务执行失败

比如取款过程就是一个事务

以上我们写的仅仅是测试点,如果要写测试用例的话,要把一个个测试点给串起来,如

插错银行卡,系统提示“无法识别”

卡消磁后,插入该卡,ATM机提示“无效卡,请检查您的银行卡是否有效!”

等等

(5)因果图法

因果图法是一种逻辑图,恒等、与、或、非,用因果图来设计测试用例,叫做因果图法

使用场景:当我们有很多输入,不同的输入或者不同的输入组合针对有不同的输出,这个时候我们可以用因果图法来进行测试用例的设计

因果图

第一种,恒等

输入为真,输出为真

第二种,与

多个不同的输入同时为真,输出才为真

这个可以举个例子来理解

两个人谈对象到了结婚的地步,然后男方来见女方家长,然后女方家长的意思是有房有车才能结婚,那么此时有房、有车就是与的情况,只有两者都具备了,两人才可以结婚

此时,没房没车,没房有车,有房没车都不满足女方家长的要求,因此是不可以结婚的。

第三种,或

多个不同的输入中其中一个为真,输出为真

还是接着举上个例子,女方家长看到了男方的诚意,所以退了一步说,房子或车子只要有一个就可以结婚了,此时有房有车,有房没车,没房有车都是可以结婚的,只有没房没车不可以

第四种,非

输入为真,输出为假

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

分析出所有的输入和输出

找出输入和输出之间的组合关系

根据关系画出因果图

根据因果图画出判定表

根据判定表写出测试用例

小练习:618活动,订单已提交,金额大于等于300,或者有红包,有优惠

分析输入和输出

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

输出:有优惠,没有优惠

输入和输出的组合关系

(6)正交法

根据正交性来设计测试用例,从大量的实验(测试)数据中根据正交原则取出最优的数据的组合,根据最优数据组合实验的结果,来分析整个测试的结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值