采用等价类划分法设计测试用例

例题1

        请采用等价类划分法设计测试用例。

        考虑软件 app, 它有两个输入变量 , 分别是 name 和 age, 其中 ,name 是至多包含 20 个字母字符的非空字符串 ,age 是整数型变量 ,0 ≤ age ≤ 120 。当输入给 name 的字符串的长度超过 20时 ,name 取前 20 个字符作为 name 的值 ; 如果输入的是一个空字符串 , 则 app 显示一条错误提示信息 , 当输入给 age 的值不在规定的范围中时 ,app 显示一条错误提示信息。

        填写表格,并写出8个测试用例。

变量有效等价类无效等价类
name

(1) name只包含字母;

(2)

(3) name的长度超过20

(4)

(5)空串

age

(6)

(7)0 ≤ age ≤ 120

(8)

(9)age<0

 (10) age>120

 (11)

解答

变量有效等价类无效等价类
name

(1) name只包含字母;

(2) 1<=name的长度<=20;

(3) name的长度超过20

(4)包含非字母

(5)空串

age

(6) 整型;

(7)0 ≤ age ≤ 120

(8) 小数;

(9)age<0

 (10) age>120

 (11)

序号测试用例(name,age)覆盖的等价类
1(liux, 43)(1),(2),(6),(7)
2(blilibilibldsjflkdsjdlsk,43)(1),(3),(6),(7)
3(liu13, 15)(4)
4("",15)(5)
5(liushisan,15.5)(8)
6(liushisan, -1)(9)
7(liushisan,121)(10)
8(liushisan, )(11)

例题2

        假设商店货品价格(R)都不大于100元(且为整数),若顾客付款 ( P ) 在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只有50元(N50)、10元(N10)、5元(N5)和1元(N1)四种,请结合等价类划分法和边界值分析法为上述程序设计出相应的测试用例。

解答

等价类划分表:

条件有效等价类无效等价类
价格范围不大于100元(1)大于100元(2)
价格为整数为整数(3)不是整数(4)
付款的大小小于等于100元(5)大于100元(6)
足额付款付款金额大于商品价格(7)付款金额小于商品价格(8)
零钱情况只包含50元(9)
只包含10元(10)
只包含5元(11)
只包含1元(12)
(本次练习不用覆盖)正交表测试:只包含四种纸币的任意两种(13)
没有零钱需要找补(14)

覆盖有效等价类测试用例:

输入(价格,付款)期待输出(#N50,#N10,#N5, #N1)覆盖等价类
(50,100)(1,0,0,0)1、3、5、7、9
(90,100)(0,1,0,0)1、3、5、7、10
(95,100)(0,0,1,0)1、3、5、7、11
(99,100)(0,0,0,1)1、3、5、7、12
(100,100)(0,0,0,0)1、3、5、7、14

覆盖无效等价类测试用例:

输入(价格,付款)期待输出(#N50,#N10,#N5, #N1)覆盖等价类
如果期待输出无法给出,填写N/A
(101,100)N/A2
(3.5, 100)N/A4
(50,101)N/A6
(55,50)N/A8

例题3

        假设商店货品价格(R)都不大于100元(且为整数),若顾客付款 ( P ) 在100元内(也是整数)。现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只有50元(N50)、10元(N10)、5元(N5)和1元(N1)四种。

要求:

⑴ 给出N50、N10、N5、N1变量的边界值测试取值。  

⑵为本题设计边界值测试用例,将结果填入表。

测试目的N50N10N5N1

解答

(1)N50、N5只有两种边界值:0和1。N10、N1有五种边界值测试取值:0、1、2、3、4。

(2)测试用例表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面试经典 150 | 二分查找】搜索旋转排序数组

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;二分查找 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等内容进行…

清理prometheus监控历史数据

# 18、清理prometheus&#xff08;监控&#xff09;历史数据 转至元数据起始 现象&#xff1a;1.监控大盘主机&#xff0c;/data磁盘使用率100% 2.开发者中心首页所有主机显示“未添加监控”&#xff1b; 思路&#xff1a;1.缩短prometheus的监控数据保存期限&#xff08;平…

宏集eX700M系列HMI实现港口设备数据上云

前言 随着港口设备信息化技术的快速发展&#xff0c;越来越多的企业想要把现场设备数据上传到云平台&#xff0c;进而实现关键数据的远程监控和分析处理。在此背景下&#xff0c;国内某信息化公司想要将港口设备数据通过MQTT上传到该公司自研IOT平台&#xff0c;实现数据上云&…

DDD学习

概述 学习一下DDD 什么是DDD DDD是领域驱动设计&#xff08;Domain Driven Design&#xff09;的缩写&#xff0c;是一种软件开发方法论。它强调将业务领域划分为多个紧凑的、自包含的领域&#xff0c;并通过强调领域模型的重要性来建立一个通用的语言和理解。 DDD鼓励开发…

js高级 笔记03

目录 01 如何避免全局变量 02 递归函数 03 浅拷贝 04 深拷贝 05 函数的调用模式 06 异步代码数据丢失问题 01 如何避免全局变量 自调用函数 常用于避免全局变量冲突的问题 不同的函数都有一个独立的作用域 所以可以解决命名冲突的问题 自调用函数也叫做沙箱函数 自调用函…

CSS all 属性

CSS all 属性 定义和使用 all 属性用于重置所有属性&#xff0c;除了 unicode-bidi 和 direction。 默认值:none继承:无动画:no。 阅读 animatable版本:CSS3JavaScript 语法:object.style.all“initial” 属性值 值描述initial修改所有元素属性或父元素的值为其初始化值in…

java项目的构建工具-Maven

黑马程序员JavaWeb开发教程 文章目录 一、概述1、介绍&#xff08;1&#xff09;介绍&#xff08;2&#xff09;Maven的作用&#xff08;3&#xff09;官网&#xff08;4&#xff09;仓库 2、安装 二、IDEA 集成 Maven1、配置Maven环境2、创建Maven项目&#xff08;1&#xff0…

入门必备:MySQL本地安装(Windows11)

下载安装 社区版下载地址:https://dev.mysql.com/downloads/ 选择合适自己操作系统的版本&#xff1a; 下载完成后是一个.msi文件&#xff0c;双击安装即可&#xff1b; 接下来请看图&#xff1a; 上面的步骤完成后&#xff0c;大概会弹出黑窗口并且有下面的UI界面&#xff…

Simlab python二次开发1-将所有缸套内表面半径加大1mm

Simlab python二次开发1-将所有缸套内表面半径加大1mm 1、打开模型文件2、getBodiesWithSubString&#xff08;&#xff09;从名字得到Bodies3、建Body类Group3.1、定义放入Group中的Bodies3.2、建Group 4、将缸套内表面建组&#xff0c;并扩半径1mm4.1、simlab.getBodiesFromG…

密码学 | 数字签名 + 数字证书

&#x1f951;原文&#xff1a;数字签名和数字证书的原理解读 - 知乎 &#x1f951;声明&#xff1a;后文图中若未明确指明&#xff0c;默认是 Bob 的公钥或私钥。 Step1&#xff1a;Bob 有两把钥匙&#xff0c;一把是公钥&#xff0c;另一把是私钥。 Step2&#xff1a;Bob 把…

基于Springboot+Vue的Java项目-企业客户管理系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

00_Linux

文章目录 LinuxLinux操作系统的组成Linux的文件系统Linux操作系统中的文件类型Linux操作系统的组织结构 Linux vs WindowsNAT vs 桥接模式 vs 仅主机Linux Shell命令Linux⽂件与⽬录管理相关指令目录文件普通文件文本编辑 用户管理添加用户删除用户用户组管理 文件权限管理权限…

[生活][杂项] 上班党的注意事项

前言 目前是上班已经接近两年了&#xff0c;目前的状态是&#xff0c;一个人租了一个单间在上班。对于这种情况有以下几点需要注意。 钥匙问题&#xff0c;一定不要陷入钥匙丢失的情况&#xff01;一定不要陷入钥匙丢失的情况&#xff01;一定不要陷入钥匙丢失的情况&#xff…

共享电动车哪家强?人民出行共享电动车绿色出行

在当下这个快节奏、高压力的生活环境中,人们越来越注重出行的便捷性和环保性。共享电动车以其灵活方便、绿色低碳的特性,受到了越来越多人的青睐。那么,在众多的共享电动车品牌中,哪个牌子比较好呢?今天,就让我来为大家介绍一下人民出行共享电动车,它以其卓越的品质和贴心的服…

邮箱群组是什么?怎么创建邮箱群组?

在我们群发邮件时&#xff0c;可能会遇到这样的状况&#xff0c;一个个输入邮箱地址效率很低&#xff0c;而且很容易就漏发。而对于一个企业来说&#xff0c;如果出现这样的问题&#xff0c;很有可能会影响公司的业务进展和团队协作。这个时候我们就需要邮箱群组这个功能&#…

【Java】导出Mysql表表结构与注释数据字典

需求&#xff1a; 把mysql中所有表的字段名、数据类型、长度、注释整理成csv&#xff0c;做成数据字典。 import java.io.IOException; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import ja…

聊聊binlog是什么

1. 上一讲思考題解答:redo日志刷盘策略的选择建议 先给大家解释一下上一讲的思考題&#xff0c;我给大家的一个建议&#xff0c;其实对于redo日志的三种刷盘策略&#xff0c;我们通常建议是设置为1 也就是说&#xff0c;提交事务的时候&#xff0c;redo日志必须是刷入磁盘文件…

AWB学习记录

主要参考食鱼者博客&#xff1a;https://blog.csdn.net/wtzhu_13/article/details/119301096&#xff0c;以及相关的论文&#xff0c;感谢食鱼者老师整理分享。 灰度世界和完全反射 灰度世界法和完全反射法分别是基于(Rmean, Gmean, Bmean)和(Rmax, Gmax, Bmax)来进行白平衡校…

Leetcode 76. 最小覆盖子串和Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置

文章目录 Leetcode 76. 最小覆盖子串题目描述C语言题解和思路解题思路 Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置题目描述C语言题解和思路解题思路 Leetcode 76. 最小覆盖子串 题目描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子…

多任务学习的显著优势!

多任务学习是一种机器学习技术&#xff0c;它允许模型同时学习多个相关任务。与不进行多任务的整体学习&#xff08;单任务学习&#xff09;相比&#xff0c;多任务学习具有多个显著优势。 首先&#xff0c;多任务学习可以提高学习效率和速度。在并行学习中&#xff0c;多个任…