测试用例
测试用例的概念
测试用例是被测试人员向被测试系统发起的一组集合,包括测试环境,操作步骤,预期结果,测试数据等
使用测试用例的好处
使用测试用例进行测试的好处主要有:提高测试效率,降低测试的重复性,用例对需求的覆盖率高,测试用例是自动化测试的基础
测试用例的设计方法
通过学习测试用例的设计方法,设计出比较全面的测试用例,使测试用例更全面的覆盖需求,测试用例的设计方法要求我们以正常思维(正向思维)+发散思维+逆向思维的方式设计测试用例,例如,我们给门锁设计一个测试用例:
黑盒测试用例的设计方法
基于需求设计测试用例
所谓基于需求设计测试用例,就是测试人员通过对软件需求的分析来设计软件的测试用例
为什么基于需求设计测试用例?
我们给出以下应用场景:PM讲解微信红包需求,总结出以三个需求点:1.红包金额由最高的300->200 2.允许用户自定义红包封面3.红包最长有效时长由24h->48h;如果我们的测试用例遗漏了其中的某个需求,一旦项目上线,则会造成比较严重的影响,另一方面,也会显得我们专业能力较差,为了避免项目上线之后存在较大BUG,我们应该根据软件需求来设计测试用例
如何基于需求设计测试用例
基于需求设计测试用例的测试过程如下:在充分理解需求之后,将大需求分解为小需求,将需求分解为功能相关和非功能相关的需求来设计测试用例
功能需求
功能相关的需求主要从以下三个方面进行考虑:
- 业务流程(从软件规格说明书中获取):业务流程即功能,我们要考虑每个测试用例对应的业务点和应用场景,以及新版本功能上线之后是否会影响到以前的版本
- 界面相关(从UI设计稿中获取)
- 易用性(主要依靠测试人员的经验)
针对具体的功能需求,可以根据业务分类,用户角色,或者根据用户操作区域的不等将系统的功能分解为若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功模块划分,业务模块进行划分是最常见的做法
非功能需求
主要从以下几个方面进行考虑:
- 兼容性:不同的软件系统,不同的硬件构成(曲面屏,平面屏),不同的显示形式(对于手机端而言就是横竖屏分别显示),以及新版本发布后是否完全替代旧版本,即新功能生效,旧功能失效。系统不同的模式也是我们要考虑进去的点(黑夜模式和白天模式)
- 网络
- 安全性
- 性能
练习
163邮箱注册登录测试用例的设计(基于需求设计测试用例)
①将大需求拆分为子需求
将功能分解为注册和登录
②将子需求拆分为功能相关和非功能相关
通过正向,逆向和发散思维来设计具体的测试用例
具体设计测试用例的方法
等价类
根据输入将需求划分为多个等价类,在每个等价类中选出一个测试用例,如果该测试用例通过,则认为其所代表的的等价类测试通过,这样可以用较少的测试用例来测试来达到尽可能多的功能覆盖,解决了不能穷举测试的问题(解决输入无穷问题)
在等价类中的测试用例中,可以将等价类划分为有效等价类和无效等价类
- 有效等价类:对于程序的规格说明书是合理的,有意义的输入数据组成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能
- 无效等价类:根据需求说明书,不满足需求的集合
边界值
考虑到输入和输出的边界值往往容易出现问题,所以我们将输入输出的边界值作为等价类生成测试用例的补充
边界值上的几个点概念:
上点:边界上的点
离点:离上点最近的点
如果是闭区间,离点是区域范围外离上点最近的点
如果是开区间,离点是区域范围内离上点最近的点
内点:区域范围内的点
助记:
上点是有效数据时,离点是无效数据
上点是无效数据时,离点是有效数据
示例
区间 (10, 20)
12 是内点
10、20 是上点
11、19 是离点
区间 [10, 20]
12 是内点
10、20 是上点
9、21 是离点
判定表
另一种表达逻辑判断的工具
关系
恒等:条件为真,结果一定为真
非:条件为假 ,结果为真
与:两个条件全为真->结果为真,如果一个条件为假->结果为假
或: 两个条件全为假->结果为假,如果一个条件为真->结果为真
用这种方法设计测试用例:
分析所有的输入和输出
找出输入和输出的对应关系
根据输入输出确定判定表
把判定表队一行到每个测试用例
判定表
正交表测试法
概念
最简单的正交表是L4(23),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。 [1]
目的
正交法的目的是为了减少用例数目,用尽量少的用例覆盖输入的两两组合(避免因为判定表中测试用例太多导致无法完成测试)
涉及的概念
因素:正交法中涉及的变量
水平:因素的取值
特性
1.每一列中各数字出现的次数都一样多
2.任何两列中的各有序数出现的次数一样多
使用步骤
- 充分理解需求
- 确定因素和水平
- 画正交表
- 补充正交表:如下图,我们可以补充一条什么都不填写的数据
- 将正交表转化为测试用例
使用allpairs生成正交表的步骤
- 将因素和水平填写到Excel表中
- 将Excel内容复制到txt文件里,将txt文件移动至allpairs安装目录下
- cmd进入allpairs安装路径下
- 通过一条指令生成正交表
场景测试法
根据事件触发的场景设计测试用例
主事件流和次事件流
主事件流:用户经常操作场景
次事件流:依据主事件流延伸的场景
如何通过场景测试法设计测试用例?
- 确定主事件流
- 确定次事件流
- 将事件转化为测试用例
用例
错误猜测法
错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针 对性地设计测试用例的方法。这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。 错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比 很高,被广泛应运于测试。 这个方法的缺点是难以系统化,并且过度依赖个人能力。
以注册为例1、校验中特殊字符空格的处理?2、密码校验中的大小写?3、姓名中的特殊字符?4、密码发送是否明文
案例设计
模拟弱网
使用fiddler工具实现弱网的模拟
打开弱网设置
设置弱网
具体模拟实现2G3G4G网络请查看:https://www.cnblogs.com/fighter007/p/12145205.html
cd linux测试
测试一个接口
水杯测试
我们在设计测试用例时,首先应该从界面,性能,易用性,安全,兼容,功能等六个方面进行考虑