热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

04边界值分析法

04边界值分析法1边界值分析法的介绍和概念***边界值分析是一种常用的黑盒测试方法,是对等价类划分方法的补充;所谓边界值,是指相对于输入

04边界值分析法


1边界值分析法的介绍和概念***


边界值分析是一种常用的黑盒测试方法,是对等价类划分方法的补充;所谓边界值,是指相对于输入等价类和输出 等价类而言,稍高于其最高值或稍低于最低值的一些特定 情况。边界值分析的步骤包括确定边界,选择测试用例两 个步骤。



根据大量的测试统计数据,很多错误是发生在输入或输出 范围的边界上,而不是发生在输入/输出范围的中间区域 。因此针对各种边界情况设计测试用例,可以查出更多的 错误。所以,边界值分析法是一种很实用的黑盒测试用例 方法,它具有很强的发现故障缺陷能力。



2边界值分析法的基本原理


  • 错误更可能出现在输入变量的极值附近

04-1


3边界值分析法的基本思想


选取正好等于,刚刚大于或刚刚小于边界的值 作为测试数据,而不是选取等价类中的典型值 或任意值作为测试数据。



  • 表示方法:最小值min,略高于最小值min+, 正常值nom,略低于最大值max-,最大值max

4边界值测试用例设计法***


  • 一般边界值测试
  • 健壮边界值测试
  • 最坏情况测试
  • 健壮最坏情况测试
  • 特殊值测试

5一般边界值测试**


有n个输入变量,设计测试用例使得一个变量 在数据有效区内取最大值、略小于最大值、正 常值、略大于最小值和最小值。如下图所示, 两个变量X1,X2。它们的有效取值区间分别为 [c,d],[a,b]。


04-2


分析

  • 每次保留程序中一个变量,让其余的变 量取正常值,被保留的变量依次取min、min+ 、nom、max-、max
  • 对程序中的每个变量重复(n个变量的测 试用例个数为4n+1个)

6健壮性测试**


健壮性是指在异常情况下,软件还能正常运行 的能力。健壮性考虑的主要部分是预期输出, 而不是输入。健壮性测试是边界值分析的一种 简单扩展。除了变量的5 个边界分析取值还要 考虑略超过最大值(max)和略小于最小值( min)时的情况。健壮性测试的最大价值在于 观察处理异常情况,它是检测软件系统容错性 的重要手段。如下图所示


04-2


分析

  • 每次保留程序中一个变量,让其余的变量 取正常值,被保留的变量依次取min-、min、 min+、nom、max-、max、max+。
  • 对程序中的每个变量重复(n个变量的测 试用例个数为6n+1个)

7最坏情况测试**


最坏情况测试拒绝单缺陷假设,它关心的是当 多个变量取极值时出现的情况。最坏情况测试 中,对每一个输入变量首先进行包含最小值、 略高于最小值、正常值、略低于最大值、最大 值等5个元素集合的测试,然后对这些集合进 行笛卡尔积计算,以生成测试用例。最坏情况 测试将意味着更大工作量。如下图所示


04-4


分析

  • 所有变量均可去min、min+、nom、 max-、max这五个边界值中的任何一个。( 组合)
  • 测试用例为五个集合的笛卡尔乘积。对 于一个n变量函数,该方法生成的测试用例数 为5的n次方个。

8健壮性最坏情况测试**


健壮最坏情况假设对每一个变量首先进行最小 值、略小于最小值的值、略高于最小值的值、 正常值、最大值、略高于最大值的值、略低于 最大值的值等7个元素的集合。然后对这些集 合进行笛卡尔积运算,以生成测试用例。如下 图所示。


04-5


分析

  • 所有变量均可取min-、min、min+、nom 、max-、max、max+这7个边界值中的任何一 个。
  • 测试用例为7个集合的笛卡尔乘积。对于 一个n变量函数,该方法生成的测试用例数为7 的n次方个

9特殊值测试**


边界值分析假定n个变量是互相独立的,没有 考虑这些变量之间的互相依赖关系;

特殊值测试使用领域知识、使用类似程序的经 验开发用例的特殊值。



  • 特点:最直观、最不一致、具有高度主观性

特殊值测试特别依赖测试人员的能力

虽然特殊值测试是高度主观性,但是能更有效 地发现问题


例如:2月28日、2月29日


10次边界条件***


边界在软件内部,最终用户几乎看不到,但是软 件测试员仍有必要进行检查。这样的边界条件称 为次边界条件或内部边界条件



  • 1、2的幂

    计算机和软件的基础是二进制数----用位(bit)来 表示0和1,一个字节(byte)由8位组成,(在 32位系统上)一个字(words)由4个字节组成。

    位,字节,

    bit byte 1024KB 1024MB GB TB

    2,4,8,16,32,64,128,256,512,1024

  • ASCII码

  • 默认、空白、空值、零值和无

  • 非法、错误、不正确和垃圾数据

    非法、错误、不正确和垃圾数据测试是很有意 思的。

    如果软件要求输入数字,就输入字母。

    如果软件只接受正数,就输入负数

    如果软件对日期敏感,就看它在公元3000年 是否还能正常工作。

    假装有“肥胖的手指”,同时按下多个键。

如果软件要求输入数字,就输入字母。

如果软件只接受正数,就输入负数

如果软件对日期敏感,就看它在公元3000年 是否还能正常工作。

假装有“肥胖的手指”,同时按下多个键。


推荐阅读
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了一个误删Oracle数据文件导致数据库无法打开的问题,并提供了解决方式。解决方式包括切换到mount状态、离线删除报错的数据文件等。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
author-avatar
男人吧总负责人千金
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有