测试用例设计方法——错误猜测法

news2024/12/26 22:05:41

       很多软件测试从业者用到的黑盒测试用例设计方法大多是等价类划分法、边界值分析法、判定表法、因果图法和正交试验法等,其实还有一种方法不得不提到,那就是错误猜测法,这对资深测试人员尤为重要。因为随着在产品测试的实践中对产品的了解和测试经验的丰富,使用错误猜测法设计的测试用例往往非常有效,可以作为测试设计的一种补充手段。并且积累的经验越丰富,方法使用效率越高。那么到底什么是错误猜测法呢,下面我们将通过定义和实际测试案例来加深对错误猜测法的认识。

    首先,我们先来看看错误猜测法的定义:有经验的测试人员往往可以根据自己的工作经验和直觉推测出程序可能存在的错误,从而有针对性的进行测试。它的要素共有三点,分别为:经验、知识、直觉。关于如何使用的问题,我们提炼出两点:

   1 . 列举出程序中所有可能有的错误和容易发生错误的特殊情况;

   2 . 根据他们选择测试用例。

    我们知道经验是错误猜测法的一个重要要素,也就说带有主观性,那么这就决定了错误猜测法的优缺点,首先我们来看优点:

   1 . 充分发挥人的直觉和经验

   2 . 集思广益

   3 . 方便使用

   4 . 快速容易切入

对应的缺点有:

   1 . 难以知道测试的覆盖率

   2 . 可能丢失大量未知的区域

   3 . 带有主观性且难以复制

综上所述,我们可以总结出错误猜测法的适用方式:

  1 . 先用其他方法设计测试用例

  2 . 使用错误猜测法补充用例

    通过上面的理论知识,我们知道了错误猜测法的定义、优缺点及适用方式,接下来我们将通过一个实际案例来加深对错误猜测法的认识。

实例:测试51CTO学院的课程搜索输入框

既然是用错误猜测法,那么我们首先列出可能导致搜索结果出错的情况,如下:

1 . 单个空格,多个空格

2 . 字符串前面有空格

3 . 字符串后面有空格

4 . 转义符 “\n”

5. Null

6. 特殊字符

7 . 通配符 *

8.空串,很长的字符串

以下是测试执行过程:

1 . 单个空格,多个空格

 上面测试的是在搜索框中输入一个空格的情况,点击搜索按钮后,显示结果为“相关结果0条”,根据结果得知空格被接受了,故这里为一个缺陷。同理,我们输入多个空格,显示结果为“相关结果125条”,不符合预期输出,所以这也是一个缺陷,测试执行过程截图如下:

  1.  字符串前面有空格   字符串后面有空格

关于空格还有另外一种情况,就是字符串中带有空格,我们分别在搜索框中输入“ a”

“   a”

“a ”

“a   ”

具体的执行结果截图如下,从结果中分析得知,这也是一个缺陷。

  1.  转义字符    "\n"

我们输入转义字符“\n”,点击搜索按钮后,搜索框中的“\n”多了一个“\”,并在结果中显示出课程,故这里为一个缺陷。

  1.  Null

在搜索框中输入null,显示“null 相关结果0条”,符合预期结果,故这里不是一个缺陷。

5.  特殊字符   ‘

在搜索框中输入一个单引号 ‘   ,搜索出部分课程,这与预期输出不相符,故这里为一个缺陷。

  1.  通配符   *

当输入通配符时,实际输出结果与预期结果一致,所以这不是缺陷。

  1. 空串,很长的字符串

当我们未在搜索框中输入字符串时,直接点击搜索按钮后,并未有任何显示,这符合预期输出。

输入一个较长的字符串,搜索结果显示“相关结果40条”,与预期输出不一致,所以这里为一个缺陷。

  

不断增加字符串的长度,当字符串达到一定的长度后,点击搜索按钮,显示“

500 Internal Server Error”,也就是字符串超过了系统内存所能承受的最大范围。

经过以上的测试步骤,可以对缺陷进行总结:

1.单个空格   多个空格

2.字符串前面多个空格  字符串后面多个空格

3.转义字符

4.单引号 ‘

5过长的字符串

至此,我们再对错误猜测发做一个总结,希望能对大家有所帮助:

错误猜测法,没有用到任何特殊的方法,只是利用直觉和经验猜测出错的可能类型,然后编写测试用例来暴露这些错误。基本思想是列举出可能犯的错误或错误易发情况的清单,然后依据清单来编写测试用例,并且在阅读规格说明时联系程序员可能做的假设来确定测试用例,也就是说规格说明中的一些内容会被忽略,要么是由于偶然因素,要么是程序员认为其显而易见。

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

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

相关文章

MySQL目录结构与源码

MySQL目录结构与源码 前言一、主要目录结构二、MySQL 源代码获取 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行&#xff…

Linux命令学习之文本查看命令cat、head和tail

for i in {1..100} do echo $i >> good.txt done把1到100写入到good.txt文件中。接下来使用good.txt这个文件来演示查看文本查看命令。 cat man cat可以看一下帮助使用说明,按q可以退出。 cat是连接文件并把文件内容输出到标准输出上。cat good.txt就可以…

Mirai 僵尸网络变体向 RCE、DDoS 开放 Tenda、Zyxel Gear

Mirai 僵尸网络的一个变体利用四种不同的设备漏洞将流行的基于 Linux 的服务器和物联网 (IoT) 设备添加到可以进行基于网络的攻击(包括分布式拒绝服务 (DDoS) 攻击)的僵尸网络中。 Palo Alto Networks 的 Unit 42 的一个团队观察到这个变体,…

【利用AI让知识体系化】Webpack 相关配置技巧

文章目录 章节一:了解 WebpackWebpack 是什么?为什么使用 Webpack?Webpack 的基本概念Webpack 的核心概念和实现原理 章节二:安装和配置 Webpack安装 Webpack配置 WebpackWebpack 的常用配置项 章节三:Webpack 的插件和…

企业应该如何选择适合自己的直播平台?

企业应该如何选择适合自己的直播平台?本文将从功能需求、可靠性与稳定性、用户体验、技术能与售后服务能力等方面进行综合考虑,帮助您做出明智的决策,或是说提供选型方面的参考。 企业在选择一家直播平台时应考虑以下因素: 1. 企…

2023/6/6总结

CSS 如果想要实现背景颜色渐变效果&#xff1a; left是从左边开始&#xff0c;如果想要对角线比如&#xff0c;左上角就是left top&#xff0c;渐变效果始终是沿着一条线来实现的。 下面是跟着视频教学用flex布局写的一个移动端网页&#xff1a; html代码&#xff1a; <!…

chatgpt赋能python:Python字符串:去除\n的方法和应用

Python字符串&#xff1a;去除\n的方法和应用 在Python编程中&#xff0c;字符串是非常常用的数据类型。在文本处理中&#xff0c;经常会遇到需要去除多余的换行符&#xff08;\n&#xff09;的情况。本文将介绍Python中去除\n的方法以及在实际应用中的使用。 方法一&#xf…

第六十七天学习记录:对陈正冲编著《C 语言深度解剖》中关于变量命名规则的学习

最近开始在阅读陈正冲编著的《C 语言深度解剖》&#xff0c;还没读到十分之一就感觉收获颇多。其中印象比较深刻的是其中的变量的命名规则。 里面提到的不允许使用拼音正是我有时候会犯的错。 因为在以往的工作中&#xff0c;偶尔会遇到时间紧迫的情况。 而对于新增加的变量不知…

chatgpt赋能python:Python安装和打开教程

Python安装和打开教程 Python作为一种高效、灵活、易学易用的编程语言&#xff0c;越来越受到广大程序员的青睐&#xff0c;越来越多的人想要学习Python。在学习Python之前&#xff0c;首先要进行Python的安装和打开。那么&#xff0c;本篇文章将为您介绍如何安装和打开Python…

为什么需要 git 和 相关的小知识

为什么需要git和相关的小知识 先看一个实际需求&#xff0c;引出Git 问题: 公司五一活动计划 ● 先说一个最简单的情况&#xff0c;比如你做了公司五一活动计划书(如图) 解决方案: 版本管理工具(Git) 一句话: Git 是目前最流行的分布式版本控制软件 Git 是怎么来的? Git…

读数据压缩入门笔记04_统计编码

1. 统计编码&#xff08;statistical encoders&#xff09;的算法 1.1. 每种编码方法都对每个符号的概率分布做了不同的假定 1.2. 需要处理的数据集中符号的概率分布与现有的VLC方法都不能完全匹配 1.3. 统计编码算法通过数据集中符号出现的概率来进行编码使结果尽可能与熵接…

【音视频开发】FFmpeg转换与封装 I - MP4格式

1 FFmpeg转换与封装 1.1 MP4格式转换 1.1.1 MP4格式标准 1 FFmpeg转换与封装 FFmpeg支持的媒体封装格式具有多样性与全面性&#xff0c;与此&#xff0c;我们还可以使用FFmpeg来对媒体格式进行转换与封装。 1.1 MP4格式转换 在互联网常见的格式中&#xff0c;跨平台最好的应…

【Vue】二:Vue核心处理---vue的其它指令和自定义指令

文章目录 1.vue的其它指令1.1v-text 和 v-html1.2 v-cloak1.3 v-once1.4 v-pre 2. 自定义指令2.1 函数式2.2 对象式2.3.定义全局的指令 1.vue的其它指令 1.1v-text 和 v-html v-text&#xff1a;当做文件解析。 v-html&#xff1a;当做 HTML 代码解析。 1.2 v-cloak v-cloa…

chatgpt赋能python:Python字典通过键找值:什么是Python字典?

Python字典通过键找值&#xff1a;什么是Python字典&#xff1f; Python字典是一种非常有用的数据类型&#xff0c;可以通过键值对方式存储和访问数据。它是Python的一种内置数据类型&#xff0c;可以在编程中非常方便地存储和操作数据。 Python字典可以存储任意类型的数据&a…

图书馆智能照明控制系统设计介绍 安科瑞 许敏

摘 要&#xff1a;简要介绍了一种新型的智能照明控制系统&#xff0c;论述了其系统特点和系统组成&#xff1b;结合该系统对某高校图书馆进行了照明节能设计。工程应用表明&#xff0c;该系统在公 共建筑节能中效果显著。 关键词&#xff1a;高校&#xff1b;图书馆&#xff…

【SpinalHDL快速入门】5.1、SpinalHDL组织结构之Component和hierarchy

文章目录 1.1、简介1.2、Input / output 定义1.3、修剪信号&#xff08;Pruned signals&#xff09;1.4、参数化硬件&#xff08;在Verilog中称为“Parameter”&#xff09;1.5、合成组件名称 1.1、简介 就像在 VHDL 和 Verilog 中一样&#xff0c;可以定义组件以用于构建设计…

Tableau招聘信息数据可视化

获取的招聘信息数据为某招聘网站发布的大数据及数据分析相关岗位&#xff0c;对其他计算机相关岗位的招聘信息数据分析也有一定的参考价值。因为所获取的招聘信息数据数量只有1万左右&#xff0c;实际的招聘信息数量肯定不止1万&#xff0c;所以可能会与实际信息有一定的误差。…

chatgpt赋能python:Python安装Gurobi优化器详细步骤

Python安装Gurobi优化器详细步骤 如果你是一个数据科学家或者运筹学专业的研究者&#xff0c;你肯定会经常接触到优化问题。Gurobi是一个流行的线性与整数规划优化软件包&#xff0c;它提供了出色的线性规划和整数规划支持&#xff0c;速度快&#xff0c;准确度高&#xff0c;…

nginx(八十三)error_page、proxy_intercept_errors深究

一 error_page和proxy_intercept_errors深究 强调&#xff1a; 本文只是基于状态码的角度来讨论error_page、proxy_intercept_errors差异性题外话&#xff1a; 让别人定位,一定要保留好事故现场,尽可能的提供更多的有用信息核心&#xff1a; 本文只讨论错误状态码的异常处理遗…

信息系统设计与分析

系统分析师作用 1. 业务需求 现有组织结构、组织目标、管理模式 部门业务、业务流程、业务规则 业务数据、业务过程与业务管理直接关系 业务优化与业务再造要求 2. 用户需求分析 新系统改进业务要求 对新系统的愿景与期望 对新系统使用要求 3. 系统需求分析 系统应具有哪些功能…