软件工程导论 - 了解黑盒测试

news2024/11/25 3:08:33

前言

本篇介绍用例的基本要素,熟悉黑盒测试的7种设计测试用例的方法,了解等价类,边界值,判定表,正交表,场景设计,错误猜测法;如有错误,请在评论区指正,让我们一起交流,共同进步!


文章目录

  • 前言
    • 1. 测试用例的基本要素
    • 2. 黑盒测试用例设计的方法
      • 2.1 怎么设计测试用例 - 基于需求设计测试用例 - 大概测试不全面
      • 2.2 设计测试用例的方法
        • ==1.等价类==
        • ==2.边界值==
        • ==3.判定表法==
        • ==4.正交表法==
        • ==5.场景设计法==
        • ==6.错误猜测法==
  • 总结

本文开始

1. 测试用例的基本要素

测试用例的要素:测试环境,操作步骤,测试数据,预期结果;

【注】测试用例要素不需要执行结果,因为需要执行完测试用例才能知道;

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

2.1 怎么设计测试用例 - 基于需求设计测试用例 - 大概测试不全面

基于需求设计测试用例的思想:
① 充分理解需求
② 将需求根据功能 与 非功能拆分
③ 设计测试用例

前提:关于QQ注册 - 设计测试用例、
1.功能相关 (功能相关的测试点 - 每个测试点还对应这多个测试用例)

  • 业务流程相关 - 依据需求规格说明书
  • 界面相关 - 参考UI设计稿
  • 易用性相关 - 依赖测试人员的测试经验

2.非功能相关

  • 兼容相关 - 操作系统 / 设备;
  • 性能相关
  • 安全相关 - xss漏洞,防止SQL注入,黑客攻击;
  • 网络相关 - 3G/4G/5G/弱网;

2.2 设计测试用例的方法

1.等价类

等价类划分:根据需求,将输入的划分为多个等价类,从等价类中选出一个测试用例,当这个测试用例测试通过,就任务它所代表的等价类测试通过;

优点:可以用较少的测试用例达到尽量多功能的覆盖,解决了不能穷举测试的问题;

  • 有效等价类:满足 用户需求输入集合,有效等价类;
  • 无效等价类:不满足 用户需求的输入集合,无效等价类;

等价类思想设计测试用例的步骤:
① 充分理解需求
② 划分有效等价类 与 无效等价类
③ 从有效等价类中抽取一个数据进行设计测试用例;从无序等价类中抽取一个进行测试用例设计;

例如:针对6 ~ 15 为的用户名输入 写等价类测试用例
划分等价类:有效等价类:6~15位;无效等价类:小于6位大于15位;

在这里插入图片描述

2.边界值

边界值:对输入输出边界值进行测试的一种黑盒测试方法,经常与等价类一起使用,作为等价类的补充;

认识边界点:

  • 上点:边界上的点 (不管是开区间还是闭区间都一样)
  • 内点:边界内的点 - 找一个
  • 离点:边界值附近的一个点 (闭区间:找区间外的距离上的最近的点,开区间:找区间内距离上点最近的点)

图示:

在这里插入图片描述
上点:6,15
内点:12
离点:7,16

边界值设计测试用例的方法:
① 从分理解需求;
② 找边界点:上点,内点,离点;
③ 针对边界点设计测试用例;

在这里插入图片描述

3.判定表法

判定表法:是一种表达逻辑判断的工具(由因果图转换得到)

  • 逻辑关系:与,或,恒等,非;
    与:所有条件都满足,才为真;
    或:满足其中一个条件结果就为真;
    恒等 :条件为真,结果一定为真;
    非:条件为假,结果才为真;

判定表思想设计测试用例:
① 分析所有可能的输入和输出的可能;
② 找出输入与输出之间的对应关系;
③ 设计判定表;
④ 把判定表对应到每一个测试用例

例如:写出下列例子的判断表
参加活动,订单已提交,订单合计金额大于300或有红包,则有优惠;

找到可能的输入与输出:
输入:订单已提交,金额大于300,有红包;
输出:有优惠,无优惠;

找出输入输出之间的对应关系:
① 订单已提交,金额大于300,有红包,优惠
② 订单已提交,金额大于300,无红包,优惠
③ 订单已提交,金额小于300,有红包,优惠
④ 订单已提交,金额小于300,无红包,不优惠
⑤ 订单不提交,金额大于300,有红包,不优惠
⑥ 订单不提交,金额大于300,无红包,不优惠
⑦ 订单不提交,金额小于300,有红包,不优惠
⑧ 订单不提交,金额小于300,无红包,不优惠

画出判断表:Y - yes, N - no;

在这里插入图片描述

这里只是需求点,后面还可以增加需求要素的内容;

在这里插入图片描述

4.正交表法

1.认识正交表:
正交表:最简单的正交表是L^4 (2^3) ;
“L”代表正交表: 数字“4”表示有4行,即要做四次试验;
括号内的指数“3 ”: 表示有3 列; 即最多允许安排的因素是3 个;
括号内的数“2” : 表示表的主要部分只有2 种数字; 即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。

2.认识正交表的两个重要因素
因素:输入变量;
水平:每一个输入变量的取值;
正交表的性质:

  • 每一列中各数字出现的次数都一样多;(一列中1出现2次,2一定也出现2次)
  • 任何两列中的各个有序数对出现的次数都一样多;((1,1)如果出现一次,其他数对也一定出现一次)

正交表思想设计测试用例:
① 充分理解需求;
② 确定因素,水平;
③ 画正交表;
④ 补充正交表;
⑤ 正交表转换为测试用例;

以邮箱注册账号为例:
确定因素:姓名,邮箱,密码,确认密码,验证码;
水平:填写 / 不填写;

确定完因素与水平,使用allpairs工具画正交表
1.将因素与水平放到excel表中

在这里插入图片描述

2.再将excel表中的内容之间复制到txt文本中,并把文本保存到allpairs中;
3.根据win+r 进入命令控制台进入allpairs路径下;
4.使用命令生成正交表

创建正交表的命令;在这里插入图片描述
正交表在这里插入图片描述

5.补充正交表
看正交表是否有遗漏的;

6.将正交表转换为测试用例

在这里插入图片描述

5.场景设计法

1.认识场景
模拟真实的场景:比较生动地描绘出事件触发时的情景 。

主事件流:在场景中,没有意外的话,进行的主要事件;
次事件流:在场景中,出现意外的次要事件,不确定的事件;

使用场景测试思想设计测试用例:
① 充分理解需求;
② 确定主事件流;
③ 确定次事件流;
④ 每一个事件流就是一个测试用例;

在这里插入图片描述

6.错误猜测法

错误猜测法:依据测试人员的经验 和 直觉;- 只能多测试,多看测试用例提高自己!


总结

✨✨✨各位读友,本篇分享到内容如果对你有帮助给个👍赞鼓励一下吧!!
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/479821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用docker部署prometheus最新版本2.43.0

环境准备: 192.168.197.136 安装prometheus 192.168.197.137 安装grafana 先把需要用到的镜像拉取下来 docker pull prom/prometheus 136服务器拉取 当前最新版本2.43.0 在部署prometheus之前先运行一个容器,把需要挂载的目录文件拷贝出来 docker…

[230501] 4月29日考试真题第一篇|Temporary Pools

题目来源:http://t.csdn.cn/goCDT 正确率:6/10 目录​​​​​​​ Temporary Pools 题目 Temporary Pools Paragraph 1: Temporary pools are freshwater habitats that retain water for only three to four months of the year or even shorter pe…

如何在CentOS上详细安装PageOffice进行企业文档管理和协作

PageOffice是一款针对企业文档管理和协作的办公软件,使用它可以轻松创建和编辑办公文档,并协作共享给其他用户。在CentOS上安装PageOffice可以提高企业的工作效率和文档管理水平。本文将详细介绍在CentOS上安装PageOffice的步骤和注意事项。 一、安装Ja…

【Unity-UGUI控件全面解析】| RawImage 显示纹理组件详解

🎬【Unity-UGUI控件全面解析】| RawImage 显示纹理组件详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 相机映射,可充当小地图4.2 播放视频💯总结🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN�…

LDAP概念和原理介绍

LDAP概念和原理介绍 相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从“什么是LDAP”、“LDAP的主要产品”、“LDAP的基本模型”、“LDAP的使用案例”四个方面来做一个介绍。 我们在开始…

c#笔记-变量

变量 在编写程序时,我们不能直接预测运行时所有的可能性。 例如在登录时的用户名和密码,有无数种组合。我们无法写出所有可能的值。 变量可以动态地表示一个值。 定义变量 使用var 标识符,并立刻赋值,可以声明一个变量。 var…

倾斜摄影三维模型OSGB格式转换OBJ格式的主要技术方法

倾斜摄影三维模型OSGB格式转换OBJ格式的主要技术方法 将倾斜摄影所获得的三维模型从OSGB格式转换为OBJ格式,可以实现更加灵活和便捷的数据应用和管理。主要技术方法如下: 1、使用转换工具 目前市面上有许多三维模型格式转换工具,比如K3DMak…

辨析 项目范围核查、WBS核查

项目范围核查、WBS核查辨析 项目范围核查 项目目标是否完善和准确指标是否可靠和有效约束和限制条件是否真实和符合实际重要假设前提是否合理风险是否可以接受成功把握是否很大范围定义是否能够保证上述目标的实现范围能够给出的效益是否高于成本范围定义是否需要进一步进行辅…

Python+vue企业员工高校学生体检服务预约系统PyCharm+django

开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat 开发软件:PyCharm 功能介绍 通过软件的需求分析已经获得了系统的基本功能需求,根据需求&#xff0c…

五子棋游戏程序创作过程(C语言)

五子棋游戏程序创作过程(C语言 ) 我是编程爱好者,对游戏程序编制很感兴趣。学习VB6语言时就编制过一些游戏程序,如独立钻石棋、伤脑筋十二块、连连看、扑克牌游戏等,都是windows标准图形界面的。感到很好玩&#xff0…

vue3+ts+vite自适应项目——路由、layout布局

系列文章目录 第一章:搭建项目 目录 系列文章目录 前言 一、vue-router 1.安装vue-router 2.引入 2.1 新建页面 2.2 公共样式引入 2.3 layout 布局 2.4路由配置 总结 前言 上一章我们搭建了项目,这一张主要讲路由和layout布局,和…

go环境安装

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时…

ArduPilot之GPS Glitch问题M8N模块配置

ArduPilot之GPS Glitch问题&M8N模块配置 1. 源由2. 现象3. 视频分析3.1 配置(不理想)3.2 配置优化3.3 优化配置短时间3D LockGlitch3.4 优化配置长时间3D DGPS Lock3.5 使用尽量多的卫星系统3.5.1 配置一3.5.2 配置二 4. 总结4.1 解锁卫星数4.2 自动…

项目风险管理

风险的分类(按照性质划分) 纯粹风险:只有损失可能性而无获利可能性的风险。投机风险:相对于纯粹风险而言,指既有损失的可能又有获利机会的风险。风险既是一个危险也是一个机会 一、规划风险管理 决定如何进行规划和实施项目风险管理活动 二、风险识别 判断哪些风险会…

单列文本数据快速导入表格

文本数据导入Excel似乎是个老生常谈,方法也有很多,例如 使用文本编辑器打开文本文件,拷贝粘贴到Excel然后分类Power Query中的【从文本/CSV】如下图所示。 但是这个需求略有不同,文本数据为单列,每7行数据为一组&am…

2023年华东杯数学建模B 题 期货价格相关性问题-思路解析

题目背景: 许多金融标的都有其内在的关联,如何从量价数据找到这种关联是一个有趣的 问题。例如在万得的“煤焦钢矿”板块中,有螺纹钢、铁矿石、不锈钢、热轧卷板、 硅铁、焦煤、焦炭、锰硅、线材 9 个品种。这些品种有些是上下游关系&…

【高频电子线路】——高频小信号放大器学习笔记总结

CSDN话题挑战赛第2期 参赛话题:学习笔记 学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐&a…

SmartEngine流程引擎之Custom模式

目录 一、为什么选用SmartEngine 二、各类流程引擎框架简单对比 1、流程设计器推荐 2、什么是BPMN 流程定义解释说明 三、SmartEngine之Custom实操 1、引入依赖 2、典型的初始化代码如下 3、节点如何流转以及流程实例存储问题 4、定义Delegation 关键类 一、为什么选用…

RebbitMQ Windows安装

RabbitMQ是由Erlang语言写的,因此安装前要先安装Erlang Erlang及RabbitMQ安装版本的选择 下载时一定要注意版本兼容性 版本兼容说明地址:RabbitMQ Erlang Version Requirements — RabbitMQ 我们选择的版本 Erlang官网下载:https://www.erlang.org/downloads Ra…

[大家的项目] 获取主机IP地址

get-host-ip https://github.com/stuartZhang/get-host-ip/tree/main 这是一款用rust制作的命令行工具。其被设计用来从C:\Windows\System32\ipconfig.exe的执行结果内提取出指定【网卡】的属性值。比如,从电脑本的【无线局域网适配器WLAN】中提取出【IPv4地址】字符…