边界值测试

问题描述——找零钱最佳组合:

假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种)

试采用边界值测试法分别从定义域及值域两个角度对该问题设计测试用例,并给出分析过程。

根据题目分析,由边界值处理技巧一:如果输入条件规定了值的范围,则取刚刚达到这个范围的边界值或临近值,以及刚刚超过这个范围边界的值。

 

根据健壮性分析法和题目:

一、1、输入条件(定义域):商品价格R的取值0<=R<=100 、R刚大于100、R刚小于0、

                                             付款金额P的取值 R<=P<=100、 P刚小于R、P刚大于100。

 

     2、系统可能输出条件(输出域):0<=N50<=1、0<=N10<=4、0<=N5<=1、0<=N1<=4。且N1、N50、N10、N5都取整数

 

 

二、设找零的总金额为K=P-R,

 

又根据边界值分析法中的健壯性分析法结合输出域,得:K有以下取值:

 

0(N50=0、N10=0、N5=0、N1=0),1(N50=1、N10=0、N5=0、N1=1),4(N50=0、N10=0、N5=0、N1=4),5(N50=0、N10=0、N5=1、N1=0),

9(N50=0、N10=0、N5=1、N1=4),10(N50=0、N10=1、N5=0、N1=0),49(N50=0、N10=4、N5=1、N1=4),

50(N50=1、N10=0、N5=0、N1=0),99(N50=1、N10=4、N5=1、N1=4)

 

输入输出条件组合的情况为:

 

1、R>100                        不合法

 

2、R<=0   不合法

 

3、0<=R<=100, P>100             不合法

                              

4、0<=R<=100, P<R               不合法

 

5、0<=R<=100, R<=p<=100, K=99   输出为10张

 

6、0<=R<=100, R<=p<=100, K=50   输出一张

 

7、0<=R<=100, R<=p<=100, K=49   输出9张

 

8、0<=R<=100, R<=p<=100, K=10   输出一张

 

9、0<=R<=100, R<=p<=100, K=9    输出5张

 

10、0<=R<=100, R<=p<=100, K=5   输出1张

 

11、0<=R<=100, R<=p<=100, K=4   输出4张

 

12、0<=R<=100, R<=p<=100, K=1   输出1张

 

13、0<=R<=100, R<=p<=100, K=0   输出0张

三、测试用例如下:

测试用例 商品价格 付款金额 预期结果(N50,N10,N5,N1)

1           101 -                          不合法

2 -         1 -                             不合法

3           100            101          不合法

4           100             99           不合法

5           1                100         (1,4,1,4)

6           50              100         (1,0,0,0)

7           51              100         (0,4,1,1)

8           90              100         (0,1,0,0)

9           91              100         (0,0,1,4)

10         95              100          (0,0,1,0)

11         96              100           (0,0,0,4)

12         99              100           (0,0,0,1)

13        100              100          (0,0,0,0)

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

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

相关文章

python中的@property(get与set作用

class Bank(object): def__init__(self): self.__money 100 property defmoney(self): returnself.__money #raise AttributeError("该属性不支持读取操作") # 如果只提供了读取操作&#xff0c;而不提供设置操作的&#xff0c;这样的属性叫做只读属性 money.sette…

LeetCode 679. 24 点游戏(回溯)

文章目录1. 题目2. 解题1. 题目 你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *&#xff0c;/&#xff0c;&#xff0c;-&#xff0c;(&#xff0c;) 的运算得到 24。 示例 1: 输入: [4, 1, 8, 7] 输出: True 解释: (8-4) * (7-1) 24示例 2: 输入: [1, 2, 1, 2] 输…

C++ Primer 有感(重载操作符)

1.用于内置类型的操作符&#xff0c;其含义不能改变。也不能为任何内置类型定义额外的新的操作符。&#xff08;重载操作符必须具有至少一个类类型或枚举类型的操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的含义&#xff09;2.重载操作符&#xff0c;…

等价类测试

某直辖市的电话号码由三部分组成&#xff0c;这三部分的名称和内容分别是&#xff1a; &#xff08;1&#xff09;地区码&#xff1a;空白或3位数字&#xff1b; &#xff08;2&#xff09;前缀&#xff1a;非“0”和非“1”开头的4位数字&#xff1b; &#xff08;3&#xff0…

元类及创建元类的方法(面试用

元类就是类的类&#xff0c;type就是Python中创建所有类的元类。type就是创建类对象的类。Python中所有的东西——都是对象。这包括整数、字符串、函数以及类。它们全部都是对象&#xff0c;并且它们都是从一个类创建来&#xff0c;这个类就是type。# class Foo(object):# …

LeetCode 第 33 场双周赛(511/3304,前15.5%,第4次全部通过)

文章目录1. 比赛结果2. 题目1. LeetCode 5479. 千位分隔数 easy2. LeetCode 5480. 可以到达所有点的最少点数目 medium3. LeetCode 5481. 得到目标数组的最少函数调用次数 medium4. LeetCode 5482. 二维网格图中探测环 hard1. 比赛结果 题目比较简单&#xff0c;全部做出来了。…

Oracle存储过程单步调试方法

oracle存储过程单步调试的方法 1.在要调试的过程上单击test&#xff0c;如下图所示&#xff1a; 2.出现如下界面时单击最左上方的按钮&#xff1a;&#xff0c;如下图所示&#xff1a; 3.单击后呈现如下画面&#xff1a; 其中&#xff1a; 表示要停止test; 表示要全部运行完这…

等价类、决策表测试

问题&#xff1a;输入年月日year、month、day&#xff0c;其中年份的有效取值范围为[1818,2018]&#xff0c;请输出输入日期的前一天&#xff0c;例如输入2018年9月18日&#xff0c;输出为2018年9月17日。若输入日期非法&#xff0c;例如输入2013年2月30日&#xff0c;则输出“…

小大整数对象池及intern机制

1. 小整数对象池 Python 对⼩整数的定义是[-5, 256] 2. 大整数对象池 每⼀个⼤整数&#xff0c;均创建⼀个新的对象。 a 100 b 100 # print(a is b) True # 代码块 c 1000 d 1000 print(c is d) # True class Foo(object): a 1000 c 1000 class …

Apache Commons IO: 简化文件和IO操作

第1章&#xff1a;引言 咱们在做Java编程的时候&#xff0c;经常会遇到各种文件操作和输入输出&#xff08;IO&#xff09;的问题。不论是读取一个配置文件&#xff0c;还是把数据写入日志&#xff0c;这些看似简单的任务有时候会让人头疼。传统的Java IO操作&#xff0c;虽然…

LeetCode 1560. 圆形赛道上经过次数最多的扇区

文章目录1. 题目2. 解题2.1 模拟2.2 脑筋急转弯1. 题目 给你一个整数 n 和一个整数数组 rounds 。有一条圆形赛道由 n 个扇区组成&#xff0c;扇区编号从 1 到 n 。 现将在这条赛道上举办一场马拉松比赛&#xff0c;该马拉松全程由 m 个阶段组成。其中&#xff0c;第 i 个阶段…

如何用jar命令对java工程进行打包

如何用jar命令对java工程进行打包有时候为了更方便快捷的部署和执行Java程序&#xff0c;要把java应用程序打包成一个jar包。而这个基础的操作有时候也很麻烦&#xff0c;为了方便java程序员们能够方便的打包java应用程序&#xff0c;下面对jar命令进行介绍&#xff0c;并举出几…

垃圾回收:引用计数与分代收集机制

当引⽤计数为0时&#xff0c;该对象⽣命就结束了。 引⽤计数机制的优点&#xff1a; 1、简单 2、实时性&#xff1a;⼀旦没有引⽤&#xff0c;内存就直接释放了。不⽤像其他机制等到特定时机。实时性还带来⼀个好处&#xff1a;处理回收内存的时间分摊到了平时。 引⽤计数机制的…

Android 行程APP简单介绍

登录模块 数据库设计如图所示创建了如上的数据库由于没有注册功能人为添加了两个用户&#xff1a; 数据库创建语句&#xff1a; public static final String CREATE_task "create table user (" "id integer primary key autoincrement, ""remenber…

python中主要内建函数

1.__getattribute__属性访问拦截器&#xff08;内建属性 class Foo(object): def __init__(self): self.a 100 def __getattribute__(self, name): if name "a": # return self.a # __getattribute__("a") return super(Foo,self).__getattribute__(&qu…

LeetCode 1561. 你可以获得的最大硬币数目

文章目录1. 题目2. 解题1. 题目 有 3n 堆数目不一的硬币&#xff0c;你和你的朋友们打算按以下方式分硬币&#xff1a; 每一轮中&#xff0c;你将会选出 任意 3 堆硬币&#xff08;不一定连续&#xff09;。Alice 将会取走硬币数量最多的那一堆。你将会取走硬币数量第二多的那…

最近做项目的一些关于重构方面的总结

这半年做专题和项目的过程中&#xff0c;遇到一些有时很难想到问题&#xff0c;今天在这总结以下&#xff1a; 1. 关于width:100%缩小窗口时背景图片出现空白bug &#xff0c;刚开始找了半天方法都没解决&#xff0c;最后在里面加了最小宽度给解决了&#xff0c; 例如&#xff…

微信小程序 地图组件使用

本地图程序利用map组件&#xff0c;以及使用它的markers,polyline属性分别设置地图两个位置的标志以及他们之间的连线&#xff0c;利用腾讯地图的API对两个地点进行查询&#xff0c;动态设置地图的经纬度&#xff0c;以及动态初始化markers,polyline属性。 程序运行截图如下&a…

python中的集合set

集合与之前列表、元组类似&#xff0c;可以存储多个数据&#xff0c;但是这些数据是不重复的 集合对象还⽀持union(联合), intersection(交), difference(差)和 sysmmetric_difference(对称差集)等数学运算. >>> x set(abcd) >>> x {c…

LeetCode 1562. 查找大小为 M 的最新分组

文章目录1. 题目2. 解题1. 题目 给你一个数组 arr &#xff0c;该数组表示一个从 1 到 n 的数字排列。有一个长度为 n 的二进制字符串&#xff0c;该字符串上的所有位最初都设置为 0 。 在从 1 到 n 的每个步骤 i 中&#xff08;假设二进制字符串和 arr 都是从 1 开始索引的情…