使用等价类划分法设计测试用例_等价类划分法和边界值分析法

使用等价类划分法设计测试用例_等价类划分法和边界值分析法by青竹居士  等价列划分设计方法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试。等价类划分有两种不同的情况:有效等价类和无效等价类。设计时要同时考虑这两种等价类

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

by 青竹居士

 

 

等价列划分设计方法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试。

等价类划分有两种不同的情况:有效等价类和无效等价类。设计时要同时考虑这两种等价类,因为软件不仅要能接收合理的数据,也要能经受意外的考验。
*有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
*无效等价类:与有效等价类的定义恰巧相反。

下面给出6条确定等价类的原则:
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。
3、在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。
4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。
5、在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

在确立了等价类后,可建立等价类表,列出所有划分出的等价类。然后从划分出的等价类中按以下的3个原则设计测试用例:

为每一个等价类规定一个唯一的编号
设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

范例:程序规定;输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。
解:设a、b、c代表三角形的三条边。
1)分析题目中给出的和隐含的对输入条件的要求:
a) 整数
b) 3个数
c) 非零数
d) 正数
e) 两边之和大于第三边
f) 等腰
g) 等边

2)列出等价类表并编号

1

3)列出覆盖上述等价类的测试用例,如下表:

2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184077.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python进阶(17)协程「建议收藏」

    python进阶(17)协程「建议收藏」协程协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)作用:在执行A函数的时候,可以随时中断,去执行B函数,然后中断B函数,继续执行A函数(可以自动切换)

    2022年7月28日
  • pyinstaller 打包exe[通俗易懂]

    pyinstaller 打包exe[通俗易懂]环境:虚拟环境win10:21H2conda:4.11.0python:3.8.0所包含一些特殊的库:tensorflow-gpu:2.7pyqt5:5.15.6pyqt-tools:1.0.0pyinstaller:4.9pymysql:1.0.2pyyaml:6.0打包过程:1.在虚拟环境里安装pyinstallerpipinstallpyinstaller2.以管理员权限进入anacondaPromptcondaactiva

    2022年6月24日
  • cocos2dx三种定时器使用

    cocos2dx三种定时器使用

    2022年1月14日
  • 前端实现多语言切换_等红灯时频繁D到N档切换

    前端实现多语言切换_等红灯时频繁D到N档切换这两天做了多国家多语言切换的需求,遇到了一个问题。androidN版本之后在进入包含webview页面之后,再次切换语言失效的问题,记录一下。原因是:webview在AndroidN之后,webview的相关类以及相关jar的修改AndroidN之前:Android的WebView是使用webkit构建的。虽然它最初是AOSP的一部分,但是从KitKat开始,决定分离出We

    2022年9月3日
  • 国家的崛起,无法建立局域网连接[通俗易懂]

    国家的崛起,无法建立局域网连接[通俗易懂]w8,w10需要启动directplay,具体步骤:控制面板,选择程序和功能,启用或关闭windows功能,旧版组件。然后勾选上directx组件就行了。

    2022年9月23日
  • CreateEvent用法

    CreateEvent用法事件对象就像一个开关:它只有两种状态—开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对象的函数如下: HANDLE    CreateEvent(       LPSECURITY_ATTRIBUTES   

    2022年7月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号