当前位置: 首页 > news >正文

黑盒测试——等价类划分法实验

任务:

        设某程序有两个输入:整数x1和整数x2,计算Y=f(x1,x2)。x1和x2的取值范围为1<= x1<=500,1<= x2<=500。当x1在[1,200) 取值且x2在[1,300] 取值时,Y=f(x1,x2) =x1+x2;当x1在[200,500] 取值且x2在[1,300] 取值时,Y=f(x1,x2) =x1-x2;对于定义域内其它x1和x2值,Y=f(x1,x2) =x1*x2。若输入定义域外的整数则显示“无效输入”。

要求:1、根据程序规格说明按等价类划分法给出各个等价类;

           2、设计弱健壮等价类测试用例;

           3、测试执行。

 过程:

1、等价类划分

表1 等价类划分表

编号

输入条件

有效等价类

无效等价类

1

1≤x1<200 且 1≤x2≤300

2

200≤x1≤500 且 1≤x2≤300

3

1≤x1≤500 且 x2>300

4

x1<1 或 x1>500

5

x2<1 或 x2>500

2、等价类覆盖测试用例

表2 覆盖有效等价类测试用例表

编号

覆盖的有效等价类

测试数据

预期结果

实际结果

1

编号1

(150, 250)

400

400

2

编号2

(350, 150)

200

200

3

编号3

(300, 350)

105000

105000

4

编号1

(199, 300)

59700

59700

5

编号2

(450,250)

200

200

 ※被测程序并记录执行情况截图

 

 

 

表3 覆盖无效等价类测试用例表

编号

覆盖的无效等价类

测试数据

预期结果

实际结果

1

编号4

(0, 100)

“无效输入”

“无效输入”

2

编号4

(501, 99)

“无效输入”

“无效输入”

3

编号5

(100, 0)

“无效输入”

“无效输入”

4

编号5

(99, 501)

“无效输入”

“无效输入”

※被测程序并记录执行情况截图

 

 

 

测试源码 :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>New Document</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content=""><script type="text/javascript">function add() {var varA = myForm.varA.value;var varB = myForm.varB.value;var sum = 0;if (varA.length<=0||varA.length>3)alert("无效输入");else if (varB.length<=0||varB.length>3)alert("无效输入");else if (!checkNum(varA) || !checkNum(varB))alert("无效输入.");else if (parseInt(varA) < 1 || parseInt(varA) > 500)alert("无效输入");else if (parseInt(varB) < 1 || parseInt(varB) > 500)alert("无效输入");else {if((1<=parseInt(varA) && parseInt(varA)<200) && (1<=parseInt(varB) && parseInt(varB)<300))sum = parseInt(varA) + parseInt(varB);else if((200<=parseInt(varA) && parseInt(varA)<=500) && (1<=parseInt(varB) && parseInt(varB)<=300))sum = parseInt(varA) - parseInt(varB);elsesum = parseInt(varA) * parseInt(varB);myForm.result.value = sum;document.getElementById("myForm.varA").focus();}}function checkNum(num) {var flag = true;if (num.charAt(0) < '0' || num.charAt(0) > '9') {flag = false;}return flag;}
</script></head><body><center><h3>输入1~500之间两个整数并计算Y=f(x1,x2)</h3>
</br></center><div align="center"><form name="myForm">姓名:<input type="text" name="name" /></br></br><input type="text" name="varA" />&nbsp+&nbsp <input type="text"name="varB" id="varB" />&nbsp <input type="button" name="submit"value=" = " onclick="add()" />&nbsp <input type="text"name="result" />&nbsp</form></div><center><p>输入两个1~500之间的整数,然后按"="计算Y=f(x1,x2). <br> 如果输入不符合要求,将给出相应提示.</p><p>实验1被测程序.</p></center>
</body>
</html>

相关文章:

  • 日常记录-logback脱敏
  • 准确--CentOS 7 配置 Chrony 同步阿里云 NTP 时间服务器及手动同步指南
  • 代理设计模式:从底层原理到源代码的详细解释
  • opencv图像的梯度处理,边缘检测
  • 基于国产 FPGA+ 龙芯2K1000处理器+翼辉国产操作系统继电保护装置测试装备解决方案
  • 联邦元学习实现个性化物联网的框架
  • 类加载器与jvm的内存
  • 【数学建模】孤立森林算法:异常检测的高效利器
  • 3.1goweb框架gin下
  • 大模型学习笔记------Llama 3模型架构之分组查询注意力(GQA)
  • 轻量级别的htpp客户端--Forest
  • Mysql 读写分离(3)之 schema.xml基本配置
  • Linux系统之----进程的概念
  • 【动手学强化学习】番外8-IPPO应用框架学习与复现
  • [预备知识]4. 概率基础
  • DES、3DES、SM4 加密算法简介
  • 【RuleUtil】适用于全业务场景的规则匹配快速开发工具
  • Post-Processing PropertySource instance详解 和 BeanFactoryPostProcessor详解
  • 信息系统项目管理师_第十三章 项目干系人管理
  • MySQL 双主复制架构入门
  • 人民日报:广东全力推动外贸稳量提质
  • ​王毅会见塔吉克斯坦外长穆赫里丁
  • 三亚一景区发生游客溺亡事件,官方通报:排除他杀
  • 为国出征指纹却无法识别?他刷新了我军在这一项目的最好成绩
  • 云南舞蹈大家跳暨2025年牟定“三月会”昨天开幕
  • 中宣部版权管理局:微短剧出海面临版权交易不畅、海外维权较难等难题