热门标签 | 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:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
    在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
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社区 版权所有