热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

03等价类划分

03等价类划分1等价类划分的定义***等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。一个等价类或等价类划分是指测试相同目标或
03等价类划分

1等价类划分的定义***

  • 等价类是指某个输入域的子集合。在该子集合 中,各个输入数据对于揭露程序中的错误都是等效的,具有等价特性。
  • 一个等价类或等价类划分是指测试相同目标或 者暴露相同软件缺陷的一组测试用例
  • 等价类测试方法是把所有可能的输入数据,即 程序的输入域划分成若干部分,然后从每一部 分中选取少数有代表性的数据作为测试用例
  • 对测试的意义:完备性和无冗余性

2等价类的类型划分***

等价类划分可有两种不同的情况:有效等价类和无效等价类

  • 有效等价类
    • 是指对于程序的需求规格说明来说是合理的,有意义的输入数据构成 的集合。
    • 利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性 能(确认过程)。 ***
  • 无效等价类(与有效等价类的定义恰巧相反)
    • 是指对于程序的需求规格说明来说是不合理的,无意义的输入数据构 成的集合。
    • 利用无效等价类可检验程序对于无效数据的异常处理能力(检验过 程)。 ***

设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接 收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具 有更高的可靠性。

3等价类测试用例的类别

  • 弱等价类测试
    • 弱一般等价类测试
    • 弱健壮等价类测试
  • 强等价类测试
    • 强一般等价类测试
    • 强健壮等价类测试

4健壮性测试***

健壮性有两层含义:容错能力恢复能力

容错性测试通常构造一些不合理的输入来引诱软件错误

例如:

  • 输入错误的数据类型:如“猴”年“马”月
  • 输入定义域之外的数值
  • 粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬之外,什么招术都可以使出来。例如在测试客户机服务器模式的软件时,把网线拔掉,造成通信异常中断。

恢复测试重点考察以下几项:***

  • 系统能否重新运行
  • 有无重要的数据丢失
  • 是否毁坏了其他相关的软件硬件

5弱一般等价类

  • 遵循单缺陷原则,要求用例覆盖每一个变量的 一种取值即可,取值为有效值。

《03等价类划分》

6弱健壮等价类

  • 在弱一般等价类的基础上,增加取值为无效值的情况
  • 对于有效输入,使用每个有效值类的一个值
  • 对于无效输入,测试用例将拥有一个无效值, 并保持其余的值是有效的

《03等价类划分》

7强一般等价类

  • 遵循多缺陷原则,要求用例覆盖每个变量的每种取值之间的笛卡尔乘积,即所有变量所有取值的所有组合,取值为有效值
  • 覆盖所有的等价类
  • 有可能的输入组合中的一个

《03等价类划分》

8强健壮等价类

  • 在强一般等价类的基础上,增加取值为无效值 的情况
  • “健壮”考虑无效值,所有等价类都有考虑
  • “强”多缺陷假设

《03等价类划分》

9等价类划分的原则***

  • 按照区间划分
  • 按照数值划分
  • 按照数值集合划分
  • 按限制条件或规则划分
  • 细分等价类
1按照区间划分

在输入条件规定了取值范围或值的个数的情况下,则可以 确立一个有效等价类和两个无效等价类

例子:淘宝购物时,数量库存为209件

  • 有效等价类:0<并≤209,如1,10等
  • 无效等价类:0≤ 或 >209,如-1,210等
  • 弱一般等价类:1~209中任意一个数为测试数 据,只设计1个用例即可
  • 强一般等价类:分为1、 2~208、 209三个等 价类,需要设计3个用例
  • 弱健壮等价类:在弱一般的基础上增加一个无 效等价类的测试,即1,-1两个等价类
  • 强健壮等价类:考虑各种非法输入,如负数、 其他字符等等
2按照数值划分

在规定了输入数据的一组值(假定n个),并且 程序要对每一个输入值分别处理的情况下,可 确立n个有效等价类和一个无效等价类。

例子:输入条件说明输入学历为本科、硕士和 博士3种之一

  • 有效等价类:本科、硕士和博士其中一种
  • 无效等价类:除要求的3种外其他字符,如小 学、专科等
3按照数值集合划分

在输入条件规定了输入值的集合或者规定了 “必须如何”的条件的情况下,可确立一个有 效等价类和一个无效等价类。

例子:密码输入框,要求密码必须是数字或字 母

  • 有效等价类:密码是数字和字母的组合(还可以细分)
  • 无效等价类:密码包括中文、密码包括其他符号等
4按限制条件或规则划分

在规定了输入数据必须遵守的规则的情况下, 可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

例子:校内电话号码拨外线为9开头

  • 有效等价类:9+外线号码
  • 无效等价类:非9开头+外线号码,9+非外线号码等

10等价类划分法的测试用例应用

  1. 按照[输入条件][有效等价类][无效等价类] 建立等价类 表,列出所有划分出的等价类

《03等价类划分》

  1. 为每一个等价类规定一个唯一的编号。

  2. 设计一个新的测试用例,使其尽可能多地覆盖尚未被 覆盖地有效等价类,重复这一步,直到所有的有效等价类 都被覆盖为止。

  3. 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖 的无效等价类,重复这一步,直到所有的无效等价类都被 覆盖为止。

等价类划分法的实例分析

某程序规定:&#8221;输入三个整数 a 、 b 、 c 分别 作为三边的边长构成三角形。通过程序判定所 构成的三角形的类型,当此三角形为一般三角 形、等腰三角形及等边三角形时,分别作计 算 … &#8220;。用等价类划分方法为该程序进行测试 用例设计。(三角形问题的复杂之处在于输入 与输出之间的关系比较复杂。)

(答案网上找)


推荐阅读
  • 当前物联网领域十大核心技术解析:涵盖哪些关键技术?
    经过近十年的技术革新,物联网已悄然渗透到日常生活中,对社会产生了深远影响。本文将详细解析当前物联网领域的十大核心关键技术,包括但不限于:1. 军事物联网技术,该技术通过先进的感知设备实现战场环境的实时监测与数据传输,提升作战效能和决策效率。其他关键技术还包括传感器网络、边缘计算、大数据分析等,这些技术共同推动了物联网的快速发展和广泛应用。 ... [详细]
  • Redis 主从复制机制详解及其工作原理
    主从复制机制在 Redis 中具有重要作用,能够实现读写分离、提升系统性能并提供快速的灾难恢复能力。具体实现方面,以一主两从的架构为例,需要创建三个独立的配置文件(.conf),分别用于主节点和两个从节点的设置。通过这种方式,可以从主节点同步数据到从节点,确保数据的一致性和高可用性。此外,还可以利用从节点进行读操作,减轻主节点的压力,进一步提高系统的整体性能。 ... [详细]
  • 基于Java和SSM框架的志愿者管理平台源代码分析与实现
    本研究针对基于Java和SSM框架的志愿者管理平台进行了详细的源代码分析与实现。该平台属于Java Web项目,采用Java EE技术栈,并结合了Spring、Spring MVC和MyBatis三大核心框架(非开源)。项目名称为“基于SSM的志愿者管理系统”,旨在提升志愿者管理的效率和规范性。通过对系统架构、模块设计及关键代码的深入解析,本文为开发者提供了全面的技术参考和实践指导。 ... [详细]
  • 隐藏的威胁:你的供应链是否真正安全?
    在网络环境日益复杂的当下,诸如网络钓鱼、DNS欺骗、勒索软件和中间人(MITM)攻击等威胁手段已司空见惯。这些攻击手段无孔不入,对供应链的安全构成了严重挑战。企业必须加强安全意识,采取多层次的防护措施,以确保供应链的每一个环节都得到有效保护。 ... [详细]
  • 在腾讯云服务器上部署Nginx的详细指南中,首先需要确保安装必要的依赖包。如果这些依赖包已安装,可直接跳过此步骤。具体命令包括 `yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel`。接下来,本文将详细介绍如何下载、编译和配置Nginx,以确保其在腾讯云服务器上顺利运行。此外,还将提供一些优化建议,帮助用户提升Nginx的性能和安全性。 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 润乾报表JNDI配置异常分析与解决方法
    在使用润乾报表时,通过JNDI连接数据源是常见的配置方式。本文详细分析了JNDI配置异常的原因,并提供了具体的解决方法。重点讨论了JNDI名称在三个关键位置的配置:1. Tomcat或应用服务器的数据源配置(以Tomcat为例);2. 润乾报表中的数据源配置;3. 应用程序代码中的JNDI名称引用。通过这些步骤,可以有效解决JNDI配置异常问题,确保报表系统的稳定运行。 ... [详细]
  • 在IIS上运行的WebApi应用程序在开发环境中能够正常进行文件的读写操作。然而,在尝试通过FTP访问实时服务器上的文件列表时,遇到了无法显示的问题,尽管服务器配置与开发环境相同。这可能涉及权限设置、FTP服务配置或网络连接等方面的问题。 ... [详细]
  • Syncnavigator激活工具及破解方法详解
    本文详细介绍了Syncnavigator激活工具的使用方法及其破解技巧。用户可以通过访问官方网站www.SyncNavigator.CN获取相关资源,并通过客服QQ 1793040获得技术支持和帮助。此外,文章还提供了详细的步骤说明和常见问题解答,以确保用户能够顺利激活并使用Syncnavigator软件。 ... [详细]
  • 《我的世界》Java版与Windows 10版(基岩版)有何不同?
    《我的世界》Java版与Windows 10版(基岩版)有何不同? ... [详细]
  • 在SQL Server 2008数据库迁移过程中,备份方法是一种高效且可靠的导出手段。本文详细介绍了如何利用备份功能实现数据的快速迁移,并提供了具体的步骤和注意事项,适合Golang程序员和数据库管理员参考。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 在网络故障排查中,tcpdump 是一款强大的工具,尤其在 Linux 环境下。尽管开发环境中问题较少,但在测试或生产环境中,往往会遇到各种难以预料的异常情况。通过在问题发生的环境中启用 tcpdump 进行抓包,并重现问题,可以获取到宝贵的原始数据,为问题的诊断提供关键线索。本文将详细介绍如何使用 tcpdump 进行实战操作,帮助读者掌握这一技能。 ... [详细]
  • TensorFlow Lite在移动设备上的部署实践与优化笔记
    近期在探索如何将服务器端的模型迁移到移动设备上,并记录了一些关键问题和解决方案。本文假设读者具备以下基础知识:了解TensorFlow的计算图(Graph)、图定义(GraphDef)和元图定义(MetaGraphDef)。此外,文中还详细介绍了模型转换、性能优化和资源管理等方面的实践经验,为开发者提供有价值的参考。 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
author-avatar
sdauilk_299
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有