4. 设计(黑盒)测试用例 (一) 等价类 边界值 判定表

news/2024/11/24 8:26:50/

本篇文章我们将详细介绍如何来测试用例。

1. 设计测试用例的基本要素

1.1 测试用例概念

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合。

1.2 测试用例要素

测试环境、测试步骤、测试数据、预期结果。

1.3 测试用例的重要性

  • 提高测试效率
  • 降低测试重复性
  • 手工测试用例是自动化测试用例的基础

2. 黑盒测试用例设计方法

为了设计出比较全面的测试用例(正常 + 发散测试 + 逆向测试)

2.1 基于需求设计测试用例

步骤

充分理解需求(前提) -> 将大需求拆分成子需求 -> 基于需求设计

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正 确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测 试点或者测试项,然后根据每一个测试点进行测试用例的设计。
在分析测试需求时,一般分为 功能测试需求 非功能测试需求:

功能相关:

  • 业务流程(prd 软件需求文档)
  • 界面相关(UI 设计稿)
  • 易用性(测试人员经验)

非功能相关:

  • 兼容
  • 安全
  • 性能
用户需求 :
购买 3000 块钱以内的华为智能手机
测试用例:
1. 价格 <=3000
2. 品牌为华为
3. 智能手机
4. 手机功能验证:
        4-1.打电话
        4-2.接电话
        4-3.发短信
        4-4.收短信
        ...
软件需求:
1.1.1.1.5.3 异常事件流
1. 若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件。
2. 每次发送的激活邮件,仅在发送邮件后起 24 小时之内有效,超过 24 小时后需重新发送激活邮件。
** 测试用例 **
1-1 、未收到邮件,登录时输入电子邮件及密码后,再次发送激活邮件
1-2 、已收到邮件,登录时输入电子邮件及密码后,不发送激活邮件
2-1 、收到邮件,未激活, 24 小时内进行激活
2-2 、收到邮件,未激活, 24 小时后链接过期进行激活。
2-3 、收到邮件,已激活, 24 小时后链接过期,再次点击激活
页面检查:
1 、收到激活邮件
2 、邮件内容正确
3 、激活 URl 正确,可激活
4 、再次激活提示已激活
5 、过期激活提示已过期

2.2 练习设计测试用例

163 邮箱注册 登录模块测试用例设计(基于需求设计测试用例)

首先将需求拆分成子需求,然后将子需求拆分成功能相关和非功能相关。具体如下图所示:

2.3 具体设计测试用例方法 

2.3.1 等价类

将需求划分为等价类(若干个),从等价类中选出一个测试用例,如果这个测试用例通过,则认为所代表的等价类测试通过。

有效等价类:满足用户需求对应的输入集合。

无效等价类:不满足需求。

等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
设计测试用例步骤

充分理解需求 -> 划分有效等价类、无效等价类 -> 设计测试用例

举例

对于一个 6-15 位输入,通过等价类方法设计测试用例。

2.3.2 边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

边界点:

  • 上点:边界上的点。
  • 内点:边界内的点。
  • 离点:上点附近的一个点(如果是闭区间,离点就是边界外的点;如果是开区间,离点就是边界内的点)
设计测试用例步骤

充分理解需求 -> 找边界点 -> 针对边界点设计测试用例

举例

2.3.3 判定表(因果图)

判定表:表达逻辑判断的工具(一个表格,表格里面有条件和结果)。

判定表中存在以下四种关系:

恒等条件为真 -> 结果为真
条件为真 -> 结果为假

两个条件均为真 -> 结果为真;

两个条件中任意一个为假 -> 结果为假;

两个条件均为假 -> 结果为假;

两个条件中任意一个为真 -> 结果为真;

设计测试用例步骤
  • 设计所有可能的输出和输入
  • 找输入与输出之间的对应关系
  • 根据输入和输出确定判定表
  • 将判定表对应到每个测试用例
举例

淘宝 618 是否优惠

订单金额大于 300 或者有红包则优惠 否则 不优惠

输入:订单提交、订单金额、红包

输出:优惠 或者 不优惠

12345678
订单提交YYYYNNNN
金额大于300YYNNYYNN
有红包YNYNYNYN
优惠YYYNNNNN


http://www.ppmy.cn/news/942463.html

相关文章

如何升级iOS17/iPadOS17公测版?iOS17公测版升级教程

苹果官方发布了iOS 17/iPadOS 17系统首个公测版更新&#xff0c;其版本号及更新内容与iOS 17 beta 3一致&#xff0c;版本号为21A5277j。 对于想升级iOS 17/iPadOS 17 公测版的用户&#xff0c;可以参考本教程进行操作。 升级注意事项&#xff1a; 1. 为防止意外情况&#xf…

第一阶段-第八章 Python的文件操作

目录 一、文件的编码  1.学习目标  2.文件编码  3.查看文件编码  4.本小节的总结 二、文件的读取  1.学习目标  2.什么是文件  3.文件包含的操作&#xff08;打开、关闭、读、写&#xff09;  4.文件的操作步骤&#xff08;打开或创建文件open&#xff08;mode…

【框架篇】对象注入的三种实现方式

对象注入的实现 一&#xff0c;实现方式的使用 对象注入也可被称为对象装配&#xff0c;是把Bean对象获取出来放到某个类中。 对象注入的实现方式有3种&#xff0c;分别为属性注入&#xff0c;Setter注入和构造方法注入。 为了更好地理解对象注入的实现方式&#xff0c;搞个…

丁磊进退之道《前程密码》

该进的时候进&#xff0c;该退的时候退。丁磊很清楚企业发展到什么阶段&#xff0c;自己就该扮演什么角色。从初中到大学&#xff0c;成绩普普通通&#xff1b;工作三年&#xff0c;业绩平平常常。但他却有一个从来不安分守己的性格……  2005年11月28日&#xff0c;网易公司…

网页版Rstudio︱RStudio Server多人在线协作开发

网页版Rstudio︱RStudio Server多人在线协作开发 想了解一下RStudio Server&#xff0c;太给力的应用&#xff0c;可以说成是代码分布式运行&#xff0c;可以节省时间&#xff0c;放大空间。 RStudio是一个非常优秀的R语言IDE。 RStudio除了在各种系统中有桌面版本外还有Server…

游戏是怎么赚钱的 - 聊聊黑产

我猜今天这篇访问量会比较多。 其实一般情况下不太爱写这种文章&#xff0c;简单说就一点&#xff0c;这个行业的人我惹不起。 1、外挂 所谓外挂&#xff0c;是指通过技术手段&#xff0c;提供辅助游戏的工具&#xff0c;方便玩家获得一些额外的能力&#xff1b; 这事我特意咨询…

(补题心路)——“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛

不知道该摆出什么表情 别的比赛要脑细胞&#xff0c;这比赛要命 水题真的是送分送到家门口但是没有这个命去交。。 热身赛的时候只有最后十分钟左右可以挣扎着交题 正式比赛的话就是&#xff0c;比赛5小时&#xff0c;挂机4小时&#xff0c;延时1小时……&#xff08;延时的…

传奇开服架设之地图索引编辑器以及安装问题排查教程

有朋友下载了地图安装出现黑屏或者花屏问题 &#xff0c;如果出现了黑屏或者花屏 那么肯定是安装方面出现了问题&#xff01; 讲解一下地图结构以便大家了解地图排查问题&#xff1a; 一张地图是由一个X.map文件和一个或多个Objects、SmTiles、Tiles文件组成。 X.map文件存放…