测试用例`

1.什么是测试用例

测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素.

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。正交表的特点是其安排的试验方法具有均衡搭配特性


正交表的组成


正交表的性质:
每⼀列中,不同的数字出现的次数相等。
任意两列中数字的排列⽅式⻬全⽽且均衡
正交表的性质非常重要,通过正交表的性质. 正交法的⽬的是为了减少⽤例数⽬。⽤尽量少的⽤例覆盖输⼊的两两组合.
正交法的测试步骤:

  1. 找到因素和⽔平
  2. ⽤allparis⼯具⽣成正交表
    a. 将因素和⽔平写⼊Excel表格中

    b. allparis⽬录下创建新的⽂本⽂件new.txt,复制Excel中的因素和⽔平,直接粘贴到⽂本中保存并退出

    c. 使⽤allparis命令⽣成正交表:allparis.exe new.txt>zhengjiao.txt
  3. 根据正交表编写测试⽤例
  4. 补充遗漏的重要测试⽤例

4.5 判定表法

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


通过这个需求可以看出,不同的组合操作可能对应不同的结果。采⽤正交法⽆法解决这样的问题。⽽正交法能够解决需要考虑输⼊之间的组合关系对应不同结果的场景。
根据判定表法设计测试⽤例的步骤:

  1. 确认需求中输⼊条件和输出条件
  2. 找出输⼊条件和输出条件之间的关系
  3. 画判定表
  4. 根据判定表编写测试⽤例
    账号包含admin字符,并且点击了提交按钮--管理员
    内部连接进入,点击了注册按钮,--管理员
    ...........
相关推荐
测试杂货铺6 小时前
Web自动化测试详细流程和步骤
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
测试老哥19 小时前
白盒测试用例的设计(图文讲解)
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
Python测试之道2 天前
从需求到智能管理:用 AntSK 和 DeepSeek-R1 打造企业级知识库与测试用例生成系统
测试用例
互联网杂货铺3 天前
接口测试工具:Jmeter
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
测试老哥3 天前
软件测试之单元测试/集成测试/系统测试详解
自动化测试·软件测试·功能测试·测试工具·单元测试·测试用例·集成测试
littlegirll4 天前
一个KADB测试实践
开发语言·数据库·测试用例·database
天才测试猿4 天前
Selenium工作原理详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
测试杂货铺5 天前
Postman核心功能详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
程序员杰哥5 天前
python+requests实现的接口自动化测试
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例