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

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

任务:

        设某程序有两个输入:整数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>
http://www.xdnf.cn/news/1194.html

相关文章:

  • 虚拟机超详细Ubuntu安装教程
  • 测试基础笔记第九天
  • Idea创建项目的搭建
  • Git入门
  • 从 0 到 1 打通 AI 工作流:Dify+Zapier 实现工具自动化调用实战
  • 进阶篇 第 3 篇:经典永不落幕 - ARIMA 模型详解与实践
  • 乐视系列玩机---乐视2 x520 x528等系列线刷救砖以及刷写第三方twrp 卡刷第三方固件步骤解析
  • EAL4+与等保2.0:解读中国网络安全双标准
  • 【深度学习】LoRA:低秩适应性微调技术详解
  • 【数学建模】孤立森林算法:异常检测的高效利器
  • NDSS 2025|侧信道与可信计算攻击技术导读(二)系统化评估新旧缓存侧信道攻击技术
  • YOLO-E:详细信息
  • 【机器学习案列-21】基于 LightGBM 的智能手机用户行为分类
  • 2022年全国职业院校技能大赛 高职组 “大数据技术与应用” 赛项赛卷(10卷)任务书
  • jenkins pipeline ssh协议报错处理
  • 多模态模型实现原理详细介绍
  • Python 设计模式:模板模式
  • FastText 模型文本分类实验:从零到一的实战探索
  • 4.22tx视频后台开发一面
  • JAVA:Web安全防御
  • 考研系列-计算机网络-第五章、传输层
  • 什么是CRM系统,它的作用是什么?CRM全面指南
  • 信奥赛CSP-J复赛集训(DP专题)(19):P3399 丝绸之路
  • 基于51单片机的温度控制系统proteus仿真
  • 客户端 AI 与服务器端 AI 的深度比较及实践建议?
  • 精益数据分析(15/126):解锁数据分析关键方法,驱动业务增长
  • 【数字图像处理】立体视觉信息提取
  • 鸿蒙Flutter仓库停止更新?
  • 深度解析MySQL INSERT ... ON DUPLICATE KEY UPDATE语句
  • 深度学习是什么?该怎么入门学习?