【软件测试】第四招-用例篇

在这里插入图片描述

一.设计测试用例的万能公式

万能公式(6):功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全性测试

1.非软件类

  • 水杯(非软件)测试用例

    • 功能测试:想想产品的基本功能(保证基本使用)

      • 装水,喝水

      • 装满水

      • 装一半的水

      • 安全刻度

      • 不漏水

      • 烫手

      • 折叠

    • 界面测试(大小,形状,颜色,材质)

  • 形状,大小,材质,颜色均符合产品说明

  • 性能测试(对他百般折磨能不能抗住)

    举例:登录注册(千万人同时登录)

    • 耐热性

    • 抗冻性

    • 抗摔性

    • 抗压性

    • 抗腐蚀性

    • 最大使用次数

  • 兼容性测试

    如果是一个软件:兼容性可以想到(系统版本,软件/浏览器版本)

    • 水杯能否装水,啤酒,果汁等液体
  • 易用性测试

    假设我是一个从来没有使用过这个产品的用户,我首次使用的能否简单快速上手,考虑用户的使用习惯。

    • 倒水是否方便

    • 水杯是否拿着舒服

    • 带盖水杯是否方便打开

    • 水杯表面是否防滑

    • 清洗水杯是否方便

  • 安全性测试

    image-20230129225709491

    • 材质是否健康

    • 材质是否容易爆炸

      • 材质在高温下是否会散发有毒气体

设计测试用例通常用思维导图来设计测试用例

image-20230129224512092

2.软件类

再给你一个软件类的课后练习:设计登录+注册页面(软件)测试用例

  1. 功能测试:账号和密码的错误情况穷举
  2. 界面测试:能看到的比如文字,图片,表单,下拉框,按钮等的颜色,大小,形状和布局测试和文字错别字,病句等测试
  3. 性能测试:响应时间,高并发测试
  4. 兼容性测试:系统(linux,windows)版本,终端(pc,移动端)测试,浏览器版本测试
  5. 易用性测试:用户习惯,上手体验
  6. 安全性测试:SQL注入,XSS漏洞,越权(垂直越权,水平越权)

二.设计测试用例的方法

  1. 等价类
  2. 边界值
  3. 判定表
  4. 正交法
  5. 场景设计法
  6. 错误猜测法

1.等价类

针对有需求的案例来设计测试用例

需求分析–>需求有哪些功能–>设计测试点–>设计测试用例

  • 假如说给定的软件需求是:提示姓名长度为6~15位

6,7,8,9…15<=通过穷举法设计测试用例,若测试用例通过,则认为符合功能符合需求。

  • 假如说姓名长度是6~200位,应该如何设计测试用例?

通过枚举法来设计是并不合理的!

分区分块—>使用较少的测试用例达到符合的系统测试覆盖

生活中的等价类的案例之图书馆的书籍摆放:

如果我要去图书馆找一本计算机专业书籍,那么我们不是从图书馆1楼第一本书开始一本本往下找,而是通过书籍摆放是分区域的,我们从一个区域拿出一本书,如果它是一本计算机专业书籍,那么这一片区域都是计算机区域!

image-20230201103738867

根据需求输入范围划分为若干个等价类,从其中一个等价类取出一个用例,若干该测试用例通过,则认为该测试用例所在的等价类是通过的!

根据等价类来设计测试用例的步骤:

  1. 确定有效等价类和无效等价类
  2. 编写测试用例

ps:

有效等价类:针对需求来说是有效且有意义的数据构成的集合

无效等价类:针对需求来说是无效且无意义的数据构成的集合

需求:6~200位的名字

有效等价类:6~200

无效等价类:0~5和>200

无效等价类的测试用例还更为复杂,更为离谱的测试用例。

image-20230201105944231

2.边界值

边界值法通常是对等价类的补充

设计测试用例的时候:边界值+次边界值

高考的时候老师说:总分超过600分的就可以考985大学,这个时候我就会问老师:“老师,那我刚好600分能不能上985大学呐”?

对于代码来说,假如截止日期是1月31日,截止日期:deadline

if(deadline< 1.32 00:00:00 )

if(deadline<= 1.31 23:59:59 )

1的次边界值:0和-1

-1的次边界值:-2和0

23:59:59的次边界值:23:59:58和00:00:00

image-20230201111239969

3.判定表

一种表达逻辑判断的工具

适用场景:需要考虑输入之间的组合关系,不同的组合对应不同的输出结果

需求:淘宝618活动,订单已提交,订单合计金额大于300或订单有红包,则认为该订单属于有优惠的订单,否则属于没有优惠的订单。

判定表设计测试用例的步骤:

  1. 确定输入和输出条件
  2. 找出输入条件和输出条件的关系
  3. 画判定表
  4. 根据判定表编写测试用例

image-20230201114019250

4.正交法

两个概念:

因素数:输入的条件

水平数:输入条件对应的可选项(不是输出条件)

image-20230201115535375

正交表特性:

1.每一列每一个水平数出现的次数相等(列的内部)

image-20230201115843292

2.任意两列中水平数的排列方式齐全且均衡(列和列之间)

设计正交表非常有难度,怎么办?但是有一个设计正交表的工具-allparis

image-20230201130039300

  m

最后一步就是根据正交表设计测试用例啦!

值得注意的是除了正交表设计出来的测试用例,还有一些是遗漏的,遗漏的得自己补充!

5.场景设计法

主要分为基本事件流和多个备用事件流

image-20230201205802184

绿色路径为主要的业务流程,被称为基本事件流
备用数据流是以基本事件流为基础,而触发的其他事件流。

编写测试用例:

  • 基本事件流
    插入银行卡,输入正确的密码,选择取款业务,选择小吴5w且金额是100的倍数的金额,等待出钞,最终出卡。

  • 备用事件流

  1. 插入银行卡,第一次密码输入错误,第二次密码输入正确,选择取款业务…
  2. 插入银行卡,前两次密码输入错误,第三次密码输入正确,选择取款业务…

6.错误猜测法

比较依赖测试人员的测试经验和工作经验

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于软件测试用例白盒测试和练习题,我可以给你一些参考: 白盒测试是一种测试方法,它通过了解被测试软件的内部结构和代码逻辑来设计测试用例,并对其进行测试。在白盒测试中,测试人员可以访问程序代码和内部数据结构,从而可以设计测试场景以覆盖所有可能出现的情况。下面是一些白盒测试用例的例子: 1. 确保所有代码路径都被测试覆盖,包括所有条件语句和循环结构。 2. 检查是否有未初始化的变量或指针,这可能导致程序崩溃或产生意外的行为。 3. 检查程序是否能够正确地处理错误情况,如无效的输入或错误的参数。 4. 检查程序是否能够正确地处理边界条件,如处理最小和最大值。 5. 检查程序是否能够正确地处理并发或多线程访问。 6. 检查程序是否能够正确地处理内存分配和释放,以避免内存泄漏或错误的内存访问。 下面是一些白盒测试练习题: 1. 设计测试用例以测试一个函数,该函数接受两个整数并返回它们的和。 2. 设计测试用例以测试一个函数,该函数接受一个字符串并返回该字符串中的第一个单词。 3. 设计测试用例以测试一个函数,该函数接受一个整数数组并返回数组中的最大值。 4. 设计测试用例以测试一个函数,该函数接受一个字符串并返回该字符串中的所有元音字母的数量。 5. 设计测试用例以测试一个函数,该函数接受一个日期和一个整数,并返回该日期加上给定天数后的日期。 希望这些练习题和用例可以帮助你更好地理解白盒测试。如果你还有其他问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值