作者:爱塔居
专栏:软件测试
作者简介:大三学生,希望同大家一起进步!
文章简介:介绍写测试案例的功能需求测试和非功能需求测试和具体方法:判定表、正交表、等价类、边界值等
文章目录
目录
文章目录
一、测试用例的基本要素
二、测试用例设计方法
2.1 功能测试需求
2.2 非功能需求测试
2.3 尝试使用公式写测试用例
①水杯测试用例
三、具体的设计方法
3.1 等价类
3.2 边界值
3.3 错误猜测法
3.4 场景设计法
3.5 正交排列
3.6 判定表
一、测试用例的基本要素
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
好的测试用例是一个不熟悉业务的人也能依据用例来很快地进行测试。
评价测试用例好坏的标准:
1.用例表达清楚
2.用例可操作性强
3.输入和输出明确。一条用例只有一个预期结果
4.用例的可维护性好
5.用例对需求的覆盖率高
测试用例的好处:
1)提高测试效率,节省测试时间
2)测试用例是自动化测试用例的前提
二、测试用例设计方法
分析测试需求时,一般分为功能测试需求和非功能测试需求。
基于需求设计测试用例
步骤:充分理解需求→拆分需求→功能/非功能→测试用例设计
万能公式:
功能:业务流程(软件规格说明书,prd,需求规格说明书)、界面(UI设计稿)、易用性(测试人员测试经验)、性能
非功能:兼容(操作系统(windows、Linux、Mac)、设备(电脑、手机、平板))、安全性(xss漏洞、SQL注入、黑客攻击)、网络(3G、4G、5G弱网))
2.1 功能测试需求
功能测试需求通常包括以下几个方面【了解】
(1)系统各个功能界面的验证
(2)借助业务把功能串起来进行测试
(3)功能的一致性,交互性的测试
(4)系统的不同输入,结果输出的业务数据测试
(5)功能的错误操作,异常操作的测试
(6)功能实现用到的算法验证,有时需要运用代码评审
(7)用户操作的易用性,用户体验,往往功能测试同时验证
针对具体的需求,将系统的功能分解成若干个功能模块,按照功能模块分别进行测试需求分析。
以百度云盘手机端为例:
在进行需求分析的时候,我们还要考虑到业务规则,上传文件的大小限制、一次性最多可以上传多少数量的文件,文件夹最多可以有多少层等。
2.2 非功能需求测试
非功能测试需求主要涉及性能、安全性、可靠性、兼容性,易维护性和可移植性等。从测试需求分析来看,每一类非功能特性测试都需要根据需求单独分析。
2.3 尝试使用公式写测试用例
①水杯测试用例
②微信发送朋友圈设计测试用例
三、具体的设计方法
3.1 等价类
依据需求将输入内容划分为若干个等价类,从等价类中选出一个测试用例。如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决不能穷举测试的问题。
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能。
无效等价类:根据需求说明书,不满足需求的集合。
就比如我去超市买水果:
有效等价类:苹果、桃子、西瓜、梨、葡萄……
无效等价类:芹菜、餐巾纸、盐巴、鱼……
3.2 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分的补充。
上点:边界上的点
内点:边界内的点
离点:边界值附近的一个点(闭区间:区间外距离上点最近的点,开区间:区间内距离上点最近的点)
上点和内点都好记,就是离点要注意开闭区间
上点:6、15
内点:13(任取(6,15)之间的点)
离点:5、16
上点:6、15
内点:13
离点:7、16
上点:6、15
内点:13
离点:5、14
3.3 错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。
这类方法在敏捷开发模式下的投入产出比很高,被广发运用于测试。
缺点:难以系统化,而且过度依赖个人能力
以注册为例:
1、校验码中的特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文?
3.4 场景设计法
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。
典型的应用是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节,忽视业务流程要点的错误倾向。
我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回。每个事件触发时的情景便形成了场景。
3.5 正交排列
正交法的目的是减少用例数目,用尽可能少的用例覆盖输入的两两组合。
正交表的两条性质:
每一列各数字出现的次数都一样多
任何两列中的各有序数对出现的次数都一样多
画正交表的方法:
应用软件:allpairs
步骤:
1. 在wps中建立了excel表格:
2.复制粘贴到新建记事本中
3.将文件另存到allpairs安装路径,命名为4.26.txt
4.
在电脑右下角点这个标,输入cmd 回车
5.
5.结果:
3.6 判定表
一种表达逻辑判断的工具
关系:
与:所有的条件必须满足,如果一个条件不满足,此时结果为假
或:满足其中一个条件,结果就为真。如果条件全部为假,结果就为假
恒等:条件为真,结果一定为真
非:条件为假,结果才为真
假设业务单的处理规则为:“淘宝618活动,订单已提交,订单合计金额大于300元或者有红包,则有优惠。
输入:订单已提交,订单金额大于300,有红包
输出:优惠、不优惠
1)订单已提交,金额大于300,有红包,优惠
2)订单已提交,金额大于300,没有红包,优惠
3)订单已提交,金额小于300,有红包,优惠
4)订单已提交,金额小于300,没有红包,不优惠
5)订单不提交,金额大于300,有红包,不优惠
6)订单不提交,金额大于300,没有红包,不优惠
7)订单不提交,金额小于300,有红包,不优惠
8)订单不提交,金额小于300,没有红包,不优惠
判定表:
测试案例: