测试用例`
1.什么是测试用例
2.测试用例的万能公式(重点)
1.功能测试
功能测试是⼀个试图发现程序与其外部规格说明之间存在不⼀致的过程。外部规格说明是⼀份从
最终⽤⼾的⻆度对程序⾏为的精确描述。功能测试通常是⼀项⿊盒操作。在进⾏功能测试时,需要对
规格说明进⾏分析以提炼测试⽤例,本课程中讨论的具体设计测试⽤例的⽅法尤其适⽤于功能测试。
然⽽,不仅是⼯作中还是⾯试中,可能会存在需求不明确的功能?这种情况下该如何进⾏功能测试?
◦ 查找其他相关⽂档,来帮助理解所要测试的产品需要完成的⽬标;
◦ 尽量多参加项⽬组内的会议,⽐如需求讨论、设计讨论、计划讨论等,能够加深对产品的理解;
◦ 召集相关⼈员,对你整理的结果进⾏讨论,通过评审后,这份⽂档就可以作为依据来设计你的case了;
◦ 如果是⼀款已经上线的产品,可以多使⽤产品,有不懂的问产品经理;
◦ 也可以去看历史bug,可以了解到⼀些需要关注的东西。
2.界⾯测试
对软件界⾯上所有的内容都需要进⾏测试。
要求:
◦ 整体界⾯测试界⾯的实现与设计图要求⼀致。
◦ 界⾯元素测试
▪ 控件操作验证
3.性能测试
性能测试和功能测试的区别是:功能测试检查软件是否做了,⽽性能测试测试软件做的好不好。
4.兼容性测试
软件是部署在硬件系统之上,并依赖所需要的软件环境。如QQ可以在PC端打开,也可以在移动
端打开;移动端⼜分为IOS系统和Android系统,且市⾯上⼿机⼜有不同的品牌、不同的机型、不同
的版本。软件是否能够在不同的环境下正确运⾏需要测试⼈员进⾏验证。
问题:既然市⾯上有众多版本的机器,那么在执⾏兼容性测试时难道所有的机型都需要全⾯覆盖吗?
选取标准:
• 优先选择使⽤当前产品top级别的机型进⾏测试
实际在企业中,后台是可以获取到使⽤产品的机型,并以报表的形式统计在后台,供产品⼈员或
其他⼈员制定策略参考。
• 选择主流的浏览器/机型进⾏测试
5.易⽤性测试
易⽤性测试的标准是检查产品是否具备简单易上⼿的属性。假如测试⼈员从来没有安装或使⽤过
该产品,作为⼀个新⽤⼾,对当前产品是否能够快速适⽤产品的使⽤流程。
6.安全测试
安全测试和性能测试⼀样都是⽐较⼤的领域。常⻅的安全问题如:
隐私数据明⽂显⽰。
参数未强校验导致SQL注⼊。
越权:普通⽤⼾也可以执⾏管理员权限的操作。
几个测试用例举例:
1.针对无畏契约英雄设计测试用例
2.针对登录页面设计测试用例
3.场景题:针对优惠券设计测试用例(注意:优惠券可以叠加使用,并且不会冲突)
场景题:优惠券:有三种优惠:
1.某⼀店铺对指定商品打五折
2.全场满300减50(淘宝机制)
3.同⼀家 店的同⼀商品针对第⼆件打⼋折根据这三种优惠来设计测试⽤例
3.弱网测试
弱网测试是指用户在访问网站的过程中出现的网络问题
页面响应时间是否可以接受.
安全角度:是否包含dns劫持,登录ip更换频繁等
进行弱网测试我们一般使用抓包工具(Fiddler),通过抓包修改请求的上行速率和响应的下行速率
将上行速率和下行速率降低我们观察
进行弱网测试后我们发现页面还是可以正常打开
4. 设计测试用例的方法
4.1 等价类法
等价类法就是依据需求将输入划分为若干个等价类.比如我们在注册账号的时候,要求输入长度限制为6~15个字符.我们把所有的情况整合形成一个集合.此时我们只需要在这个集合内抽取一个实例进行测试,假如我们测试10个字符,如果通过测试,我们就认为整个等价类就通过测试.
等价类分为:有效等价类和无效等价类.
还是以注册账号的用户名长度进行举例,规定长度为6,15个字符,那么[6,15]区间的集合就称为有效等价类,而除了这个集合之外的剩下的我们也整合成一个集合就称为无效等价类
4.2 边界值
边界值包含:边界值和次边界值.
当我们规定注册账号的用户名是大于等于6并且小于等于15 [6,15]的时候
边界值:6位,15位 就是有效等价类;次边界值:5位或者16位就是无效等价类
当我们规定注册账号的用户名是大于6并且小于15 (6,15)的时候
边界值:6位,15位就是无效等价类;次边界值:7位,14位就是有效等价类
4.3 场景法

在测试中也要多考虑这些容易出现这些正常流程之外的情况.
还是以注册账号举例
全面发散性考虑,对于我们测试是很有帮助的.
4.4 正交法
学习正交法,我们首先要学习下正交表
最简单的正交表是L4(2^3),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性
正交表的组成






4.5 判定表法
需求:⽤⼾输⼊的账号中包含admin字符,或者通过内部链接进⼊注册⻚⾯,提交注册按钮成为管理员⾝份;反之⽆管理员⾝份。


