针对三角形问题,使用边界值分析法设计测试用例

2023-10-27

一、测试问题描述

输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。

二、设计测试用例

1.用边界值测试方法设计测试用例

用边界值分析法设计测试用例,按照下列步骤进行:

(1) 分析各变量取值

边界值分析的基本思想是使用输入变量的最小值、略高于最小值、正常值、略 低于最大值和最大值设计测试用例。因此a, b, c的边界取值是: 1, 2,100,199,200

(2)测试用例数

有n个变量的程序,其边界值分析会产生4n+1 个测试用例。这里有3个变 量,因此会产生13个测试用例。

(3)设计测试用例

用边界值分析法设计测试用例就是使一个变量取边界值( 分别取最小值、略 高于最小值、正常值、略低于最大值和最大值),其余变量取正常值,然后对每 个变量重复进行。本例用边界值分析法设计的测试用例见表1-1.

表1-1三角形问题的测试用例

测试用例

输入数据

预期输出

a

b

c

1

100

100

1

等腰三角形

2

100

100

2

等腰三角形

3

100

100

100

等边三角形

4

100

100

199

等腰三角形

5

100

100

200

非三角形

6

100

1

100

等腰三角形

7

100

2

100

等腰三角形

8

100

199

100

等腰三角形

9

100

200

100

非三角形

10

1

100

100

等腰三角形

11

2

100

100

等腰三角形

12

199

100

100

等腰三角形

13

200

100

100

非三角形

 

测试二

测试用例

输入数据

预期

输出

备注

a

b

c

 

 

对 A 的边界测试

1

1

100

100

等腰三角形

2

2

100

100

等腰三角形

3

100

100

100

等边三角形

4

199

100

100

等腰三角形

5

200

100

100

三角形

6

100

1

100

等腰三角形

 

对 B 的边界测试

7

100

2

100

等腰三角形

8

100

199

100

等腰三角形

9

100

200

100

非三角形

10

100

100

1

等腰三角形

 

对 C 的边界测试

11

100

100

2

等腰三角形

12

100

100

199

等腰三角形

13

100

100

200

三角形

 

2.用等价类测试方法设计测试用例

  

  1. 正整数:
  2. 三个数: 构成一般三角形:
  3. 构成等腰三角形;
  4. 构成等边三角形:
  5. 不能构成三角形

 (2)根据输入条件的要求划分等价类,列出等价类表并编号,如表1-2

表1-2三角形问题的等价类

等价类输入条件

有效等价类

编号

无效等价类

编号

 

 

 

 

 

 

三个正整数

正整数

1

一边非正整数

a为非正整数

10

b为非正整数

11

c为非正整数

12

两边非正整数

a、b为非正整数

13

a、c为非正整数

14

b、c为非正整数

15

 

 

三边均为非正整数

16

三个数

2

只输入一个数

只给a

17

只给b

18

只给c

19

只输入两个数

只给a,b

20

只给a,c

21

只给b,c

22

未输入数

23

 

 

构成一般三角形

a+b>c,

且a≠b≠c

3

a+b<c

24

a+b=c

25

a+c>b,

且a≠b≠c

4

a+c<b

26

a+c=b

27

b+c>a

且a≠b≠c

5

b+c<a

28

b+c=a

29

 

 

 

 

 

 

构成等腰三角形

a=b, a≠c,且两边之和大于第三边

6

 

 

a=c, a≠b,且两边之和大于第三边

7

 

 

 

b=c, a≠b,且两边之和大于第三边

8

 

 

 

构成等比三角形

a=b=c

9

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

针对三角形问题,使用边界值分析法设计测试用例 的相关文章

  • 【软件测试】学习笔记-脚本与数据的解耦 + Page Object模型

    本篇文章介绍GUI测试中两个非常重要的概念 测试脚本和数据的解耦 以及页面对象 Page Object 模型 测试脚本和数据的解耦 GUI自动化测试适用的场景 尤其适用于需要回归测试页面功能的场景 如果在测试脚本中硬编码 hardcode
  • 软件测试|Python Selenium 库安装使用指南

    简介 Selenium 是一个用于自动化浏览器操作的强大工具 它可以模拟用户在浏览器中的行为 例如点击 填写表单 导航等 在本指南中 我们将详细介绍如何安装和使用 Python 的 Selenium 库 安装 Selenium 库 使用以下
  • 软件测试|Windows系统配置pytest+allure环境教程

    前言 allure可以输出非常精美的测试报告 也可以和pytest进行完美结合 不仅可以渲染页面 还可以控制用例的执行 本文我们将介绍Windows系统中如何配置allure环境 第一步 配置Java环境 因为 allure 的运行依赖于J
  • JMeter 批量接口测试

    一 背景 最近在进行某中台的接口测试准备 发现接口数量非常多 有6 70个 而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值 想了几种方案后 决定尝试使用JMeter的csv读取来实现批量的接口测试 二 脚
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Selenium小技巧!

    Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器 如 Chrome Opera 和 Microsoft Edge 中的工具 用于帮助开发人员调试和研究网站 借助 Chro
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 步骤详图 教你在linux搭建容器环境

    警告 切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker 1 准备工作 系统要求 要安装Docker CE 社区版 操作系统的最低要求是CentOS7 7以下版本都不被支持 卸载旧版本 Docker改版
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 探索自动化测试断言:提升测试效率与质量的关键!

    前言 断言在自动化测试中起着关键的作用 它是验证测试结果是否符合预期的重要手段 如果在自动化测试过程中忽视了断言 那么这个测试就失去了其本质的意义 因为我们无法得知测试结果是否达到了预期的效果 因此 断言在自动化测试中的重要性不言而喻 那么
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联

随机推荐

  • ./darknet: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file:

    libcudart so 8 0 不能找到 是库文件路径引发的问题 可以到 etc ld so conf d目录下 修改其中任意一份conf文件 可以自建conf 以方便识别 将lib所在目录写进去 然后在终端输入 ldconfig 更新缓
  • Android客户端连接SSM(Spring+SpringMVC+Mybatis)框架Java服务器端

    Android客户端开发越来越流行 但是 Android客户端对应的服务器端采用什么框架呢 对于功能较为简单的应用 我建议 直接采用java web开发最简单的MVC框架即可 很多Android应用的服务器端开发框架 我都是采用这种 但是
  • Python安装及建立虚拟环境

    文章目录 前言 一 python安装 二 建立虚拟环境 三 安装jupyter notebook 总结 前言 Python由荷兰数学和计算机科学研究学会的吉多 范罗苏姆 于1990 年代初设计 作为一门叫做ABC语言的替代品 Python提
  • MongoDB 系统管理与操作详解

    一 MongoDB 启动与关闭 1 启动MongoDB 执行mongod命令即可启动MongoDB服务器 mongod在启动时可使用许多可配置选项 在命令行中运行mongod help可列出这些选项 下列选项十分常用 需着重注意 dbpat
  • JVM——垃圾回收

    垃圾回收 文章目录 垃圾回收 垃圾回收概述 什么是垃圾 为什么要回收垃圾 内存溢出和内存泄漏 java垃圾回收机制 自动内存管理 应该关心哪些区域的回收 垃圾回收相关算法 垃圾标记阶段算法 如何标记一个垃圾对象 什么样的对象能被标记为垃圾对
  • IntelliJ IDEA 高级调试技巧

    一 条件断点 循环中经常用到这个技巧 比如 遍历1个大List的过程中 想让断点停在某个特定值 参考上图 在断点的位置 右击断点旁边的小红点 会出来一个界面 在Condition这里填入断点条件即可 这样调试时 就会自动停在i 10的位置
  • WinPcap实战(一)——发送ARP包

    ARP包的结构 ARP包格式 物理帧头 14B ARP帧结构 28B 填充数据 18B CRC 4B 这里给出一张图 图中没有18字节的填充数据和4字节的校验位 物理帧头 14B 目的MAC 6B 源MAC 6B 类型 2B ARP帧 0x
  • 小程序通过webview实现本地任意文件上传

    微信小程序做文件上传的时候 只能选择相册的图片或者视频 没办法选择手机内存卡里的文件 比如 word pdf文件等等 下面可以通过 webview 的方式 借用 h5 的方式即可实现上面的功能 添加业务域名 webview里面打开的地址 首
  • Mybatis操作数据库--通用

    选中 xml 右键 Junite 测试的时候 Test位于这个包中 import org junit jupiter api Test 根据条件进行查询总记录数 条件如果涉及到两个表的内容 你也就只写一个表里面的 select count
  • 简易版python爬虫--通过关键字爬取网页

    背景 帮同学写了个爬虫程序 特此记录 怕以后忘了 这里是爬取百度https www baidu com 不为什么 主要就是百度老实 能爬 爬着简单 爬着不犯法 关键字爬取基本模板 import requests from bs4 impor
  • Flutter学习四:Flutter开发基础(五)资源管理

    目录 0 引言 1 资源管理 1 1 指定 assets 1 2 Asset 变体 variant 1 3 加载 assets 1 3 1 加载文本 1 3 2 加载图片 1 3 2 1 声明分辨率相关的图片 1 3 2 2 加载图片 1
  • SIFT特征提取分析

    SIFT Scale invariant feature transform 是一种检测局部特征的算法 该算法通过求一幅图中的特征点 interest points or corner points 及其有关scale 和 orientat
  • 音视频开发(13)---视频监控系统必须知道的一些基础知识

    视频监控系统必须知道的一些基础知识 前言 在视频监控系统中 视频文件的传输带宽很重要 那视频文件的传输带宽怎么计算呢 首先给大家介绍几个名词 正文 1 比特率 比特率是指每秒传送的比特 bit 数 单位为bps BitPerSecond 比
  • XSS靶场第三关秘籍

    查看页面源代码 直接插入我们的代码进行尝试 没有弹窗 查看页面源代码 发现我们的 被实体编码了 这里把 改成
  • DBUtils工具类的使用方法详解

    DBUtils使用方法详解 目录 DBUtils使用方法详解 一 前言 二 JDBC介绍 1 基本概念 2 JDBC访问数据库的流程 三 DBUtils介绍 1 基本概念 2 配置文件 3 创建JDBCUtils类 4 实现对数据表的增删改
  • springboot整合knife4j,从此告别手写接口文档

    关于knife4j Knife4j的前身是swagger bootstrap ui 前身swagger bootstrap ui是一个纯swagger ui的ui皮肤项目 一开始项目初衷是为了写一个增强版本的swagger的前端ui 但是随
  • 递归求和

    用阶乘求1到100的和 思路 递归结束条件 n 1 递归公式 n sum n 1 include
  • 泛型T E K V ?

    Java泛型中E T K V等的含义 Java泛型中的标记符含义 E Element 在集合中使用 因为集合中存放的是元素 T Type Java 类 K Key 键 V Value 值 N Number 数值类型 表示不确定的java类型
  • 蓝牙模块调试总结(BLE\HC-05\HC-06\HC-01\MLT-BT05)

    最近在使用蓝牙模块与手机进行联合调试 遇到了一些问题 在此总结一下 1 蓝牙模块分类 MLT BT05 4 0蓝牙模块 指令集详细说明 MLT BT05 4 0 蓝牙串口模块指令为 Command 指令集 注 发 AT 指令时必须回车换行
  • 针对三角形问题,使用边界值分析法设计测试用例

    一 测试问题描述 输入三个整数a b c 分别作为三角形的三条边 通过程序判断这三条边是否能构成三角形 如果能构成三角形 则判断三角形的类型 等边三角形 等腰三角形 一般三角形 要求输入三个整数a b c 必须满足以下条件 1 a 200