热门标签 | 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;。用等价类划分方法为该程序进行测试 用例设计。(三角形问题的复杂之处在于输入 与输出之间的关系比较复杂。)

(答案网上找)


推荐阅读
  • 华为智慧屏:超越屏幕尺寸的智能进化
    继全球发布后,华为智慧屏于9月26日在上海正式亮相,推出65英寸和75英寸版本。该产品不仅在屏幕尺寸上有所突破,更在性能和智能化方面实现了显著提升。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 本次挑战涉及数组截断操作,初看似乎简单,但实际上考察了对数组切片方法的理解与应用。本文将详细解析该算法的实现逻辑,并提供多个示例以加深理解。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 网络出版服务许可证申请指南
    本文详细介绍了网络出版服务许可证的办理条件、适用企业范围及具体流程,帮助相关企业和个人了解并顺利完成许可证的申请。文章由专业机构提供,旨在为读者解答在互联网出版领域遇到的技术和合规问题。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • NTP服务器配置详解:原理与工作模式
    本文深入探讨了网络时间协议(NTP)的工作原理及其多种工作模式,旨在帮助读者全面理解NTP的配置参数和应用场景。NTP是基于RFC 1305的时间同步标准,广泛应用于分布式系统中,确保设备间时钟的一致性。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ... [详细]
  • HTML5 表单新增属性详解
    本文深入探讨了HTML5中表单的新增属性,帮助读者全面掌握这些新特性。内容涵盖autocomplete、autofocus、list等常用属性,并详细解释了form、novalidate、enctype和accept-charset等高级属性的功能与应用场景。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
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社区 版权所有