当前位置:网站首页>软件测试<用例篇>
软件测试<用例篇>
2022-08-03 17:03:00 【Java小菜鸟~】
软件测试<用例篇>
一、基础知识
1. 软件测试的生命周期
首先需要明确一个概念:什么是软件测试?
软件测试:就是验证软件是否满足用户的需求;
需求:用户的期望与满足合同(文档,规则,标准)的规定所需要的条件和权限;
需求分为用户需求及软件需求;
软件测试的生命周期如下面流程图所示:
2. Bug 描述
为了清楚的描述一个Bug
,需要考虑以下:
- (1) 测试版本
- (2)测试环境:不同的测试环境下(包含不同浏览器、
APP
),结果可能会存在偏差 - (3)测试步骤:需要给出详细的测试步骤
- (4)实际结果
- (5)预期结果(需求期望的结果)
- (6)附件:错误截图
补充点:
Bug
的常见级别:
- 建议:一些提示信息,如文字重叠,界面排版等;
- 一般:系统可以稳定的运行,只是一些次要的功能没有实现;
- 严重:服务器可以使用,但是不稳定;
- 崩溃:系统不能运行,如出现黑屏、闪退、死机等;
3. 测试用例概念
测试用例
:软件测试人员向被测系统发起的一组集合,包括测试环境、测试数据、测试步骤以及预期结果;
4. 设计测试用例的意义
- 测试用例是测试执行的依据;
- 可以复用(回归测试、迭代);
- 衡量需求的覆盖率;
- 自动化测试的依据;
- 借鉴;
二、测试用例设计方法
1. 整体(基于需求)的测试用例设计
基于需求的测试用例,需要从两大方面入手:
(1)分析需求
首先需要验证需求的正确性及其合理性,无二义性,并且逻辑自洽;
(2)细化需求
然后从需求中提取出测试项,从每一个测试项中提出测试点,并根据测试点设计测试用例;
设计时从以下两个方面考虑:
(1)功能性需求:
(2)非功能性需求:
非功能性需求就是在功能性需求上进行一些限制来满足特定场景下的需求,让用户有更好的体验;
2. 具体的测试用例设计方法
(1)等价类 *
概念
:根据输入(特殊情况下考虑输出),把输入划分为若干个等价类,从每一个等价类中取一个或多个测试用例进行测试,如果该测试用例通过,就说这个测试用例代表的等价类测试通过;
等价类可以解决测试用例无法穷举的情况!
等价类分为:
(1)有效等价类:符合需求规格说明书的数据集合;
(2)无效等价类:不符合需求规格说明书的数据集合;
case
:网易邮箱注册功能测试用例设计
需求分析:
账号:6~18
位,以字母开头,可使用字母、数字、下划线
有效等价类:
6~18
位,以字母开头,纯字母;6~18
位,以字母开头,加数字;6~18
位,以字母开头,加下划线;6~18
位,以字母开头,加数字与下划线;
无效等价类:
- 小于
6
位,任意字符(字母、数字、下划线); - 大于
18
位,任意字符(字母、数字、下划线); 6~18
位,不以字母开头的字符串;6~18
位,以字母开头,包含特殊字符;
需要注意的是
:不管是有效等价类还是无效等价类均要进行测试 !
(2)边界值 *
概念
:对输入输出的边界针对性的进行测试用例的设计,该种方法称为边界值法;
case
:用户名:6~15
位,包含大小写字母
符合需求的边界值:
长度为:6,7,14,15
不符合需求的边界值:
长度为:5,16
(3)错误猜测法
概念
:测试人员根据自己的经验、知识、个人直觉来判断软件哪一块有问题,针对性的进行测试用例的设计;
依靠于主观性,适合作为补充性的测试用例
;
(4)场景法
概念
:将一个个孤立的功能串接起来形成一个场景,每一个功能不同的输入会触发不同的场景,根据这些触发的不同的场景设计测试用例;
要点:
(1)提取场景中涉及的功能点
(2)考虑每一个功能不同的输入
case
:ATM 机的取款流程
- ATM 机的取款流程及涉及的功能点:
每一个功能不同的输入:
(1)插卡包含的输入情况有:
(2)输入密码包含的输入情况有:
(3)输入取款金额并取款包含的输入情况有:
(4)退卡包含的输入情况有:
还需要考虑ATM机的异常情况:
测试用例:
(1)卡插反,提示无法识别,重新正确插入且每步骤操作正确,取款成功;
(2)卡消磁,失效,提示无效卡,无法取款;
(3) 卡锁定,提示账户被锁定,解锁后重新操作;
(4)卡冻结,提示,账户被冻结,请解冻后重新操作;
(5)密码输入正确,其他操作正常,取款成功;
(6)密码输入错误,提示请重新输入密码,正确后其他操作正常取款成功;
(7)密码输入为空,提示密码输入为空,请重新输入,输入正确后,取款成功;
(8)输入400取款金额,其他操作正常,取款成功;
(9)输入0元,提示请输入正确的取款金额,正确输入后,取款成功;
(10)取款金额大于卡余额,提示卡余额不足,请重新输入金额,输入正确后,取款成功;
等等
(5)因果图法
概念
:因果图是一种逻辑图,包含 恒等、与、或、非;使用场景
:
当输入有多个并且不同的输入组合对应着不同的输出,该种情况下可以使用因果图来进行测试用例的分析,根据分析结果设计测试用例;
因果图的几种关系:
恒等:输入为真,输出为真;
与:输入条件有多个,并且多个条件均是真,输出为真;
- 或:输入条件有多个,其中一个条件为真时,输出为真;
- 非:输入为真,输出为假;
采用因果图设计测试用例的步骤:- 分析所有的输入与输出;
- 找出输入输出之间的逻辑关系;
- 根据输入输出画因果图;
- 根据因果图画判定表;
- 根据判定表设计测试用例;
case
:双十一来临,假设订单已提交,并且购物金额大于 200 或者有红包,就有优惠,否则无优惠;请设计测试用例;
分析:采用因果图来进行设计,步骤如下:
(1)分析输入与输出:
输入:订单已提交,购物金额大于 200,有红包;
输出:有优惠,无优惠;
(2)找输入与输出之间的逻辑关系:
订单已提交,购物金额大于 200 元,有红包,有优惠;
订单已提交,订单金额大于 200 元,无红包,有优惠;
订单已提交,购物金额小于 200 元,有红包,有优惠;
订单已提交,订单金额小于200元,无红包,无优惠;
订单未提交,无优惠;
(3)根据输入输出画出因果图:
(4)根据因果图画出判定表:
(5)根据判定表设计测试用例:
(1)订单已提交,购物金额大于 200 元,有红包,有优惠;
(2)订单已提交,订单金额大于 200 元,无红包,有优惠;
(3)订单已提交,购物金额小于 200 元,有红包,有优惠;
(4)订单已提交,订单金额小于200元,无红包,无优惠;
(5)订单未提交,购物金额大于 200 元,有红包,无优惠;
(6)订单未提交,订单金额大于 200 元,无红包,无优惠;
(7)订单未提交,购物金额小于 200 元,有红包,无优惠;
(8)订单未提交,订单金额小于200元,无红包,无优惠;
(6)正交法
概念
:根据正交性,从大量的实验数据中,选取最优的数据组合的结果来衡量整个测试的结果;
一般不常用!
小结
用例设计方法 | |
---|---|
整体的 | 基于需求设计测试用例 |
具体的 | 等价类(常用 )、边界值(常用 )、场景法(常用 )、错误猜测法、因果图法、正交法 |
《写作不易,有帮助的,动动手指收藏哦!!!》
边栏推荐
- SwinIR实战:如何使用SwinIR和预训练模型实现图片的超分
- uniapp 去掉默认导航栏
- B站回应HR称核心用户是Loser;微博回应宕机原因;Go 1.19 正式发布|极客头条
- 【数据库数据恢复】SqlServer数据库无法读取的数据恢复案例
- sphinx error connection to 127.0.0.1:9312 failed (errno=0, msg=)
- TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践
- 2年开发经验去面试,吊打面试官,即将面试的程序员这些笔记建议复习
- 兄弟组件通信context
- isNotBlank与isNotEmpty
- 为什么我用了Redis之后,系统的性能却没有提升
猜你喜欢
虹科分享 | 如何测试与验证复杂的FPGA设计(3)——硬件测试
一个域名对应多个IP地址
数字资产的价值激发:NFT 质押
Component communication - parent-child component communication
Huawei, Lenovo, BAIC, etc. were selected as the first batch of training bases for "Enterprise Digital Transformation and Security Capability Improvement" by the Ministry of Industry and Information Te
学会 Arthas,让你 3 年经验掌握 5 年功力!
Components of communication - the drop-down menu
Detailed explanation of setting HiSilicon MMZ memory and OS memory
沃尔沃:这是会“种草”的“安全感”!
FinClip | 2022 年 7 月产品大事记
随机推荐
C专家编程 第2章 这不是Bug,而是语言特性 2.4 少做之过
C专家编程 第1章 C:穿越时空的迷雾 1.9 阅读ANSI C标准,寻找乐趣和裨益
Web3的开源为何会如此受到人们喜爱?
我想请问下,我们的数据库是在亚马逊,Dataworks 连不通,怎么办?
【无标题】
【目标检测】Focal Loss for Dense Object Detection
产品-Axure9英文版,轮播图效果
请问下这个hologres维表是被缓存了么?怎么直接Finished了
双指针/滑动窗口问题
405. Convert a Number to Hexadecimal
Looking at the ecological potential of Hongmeng OS from the evolution of MatePad Pro
PTA递归练习
通用型安全监测数据管理系统
为何微博又双叒叕崩溃了?
C专家编程 第2章 这不是Bug,而是语言特性 2.3 误做之过
uniapp 去掉默认导航栏
303. Range Sum Query - Immutable
sibling component communication context
C专家编程 第3章 分析C语言的声明 3.9 轻松一下---驱动物理实体的软件
After using Stream for many years, does collect still have these "saucy operations"?