软件测试--付款找零问题[求补充]

大成子Cheng 2017-06-05 10:13:17
付款找零问题
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
一.程序设计采用结构化和面向对象的程序设计思想(10分)
二.采用黑盒测试技术设计测试用例(25分)
1. 边界值测试
(1) 边界值分析
(2) 边界值测试用例表
2. 等价类测试
(1) 等价类划分分析
(2) 等价类测试用例表
接下来这些要求没有做出来

3. 基于决策表的测试
(1) 决策表测试分析
(2) 基于决策表的测试用例表
三.采用白盒测试技术设计测试用例(25分)
1. 静态白盒测试
2. 对判断的测试
(1) 在六种选取1种判定测试覆盖指标进行分析
(2) 测试用例表
3. 对路径的测试
(1) 程序图
(2) 环复杂度
(3) 独立路径的抽取
(4) 不可行路径的处理
(5) 测试用例表
4. 对循环的测试
5. 对变量的测试
四.单元测试(20分)
1.驱动模块与桩模块的开发
(1)读入一批测试用例,对每个测试用例能够读入基本信息并显示出来
(2)利用测试用例来驱动(调用)被测试函数
(3)显示测试用例的实际输出并能与预期输出进行比较,给出判定结果



1. 所选题目
付款找零问题
2. 主要代码
    int R, P, N;
Scanner input = new Scanner(System.in);
System.out.println("Please input Price & Pay:");
String a = input.next();
String b = input.next();
// 判断输入是否数字
if (a.matches("\\d+") && b.matches("\\d+")) {
R = Integer.parseInt(a);
P = Integer.parseInt(b);
//判断是否在输入范围
if(R>0&&R<=100&&P>0&&P<=100){
int Num50,Num10,Num5,Num1;
N=P-R;
if(N>=0){
Num50=N/50;
N=N-50*Num50;
Num10=N/10;
N=N-10*Num10;
Num5=N/5;
N=N-5*Num5;
Num1=N;
if(Num50==0 && Num10==0 && Num5==0 && Num1==0){
System.out.println("No Change");
}else{
System.out.println("Change¥50:sheets "+Num50);
System.out.println("Change¥10:sheets "+Num10);
System.out.println("Change¥05:sheets "+Num5);
System.out.println("Change¥01:sheets "+Num1);
}
}else{
System.out.println("Pay isn't enough!");
}
}else{
System.out.println("Beyond 1-100");
}
} else {
System.out.println("Confirm integer!");
}
}

3. 黑盒测试技术测试用例设计
(1)边界值测试
Ⅰ.边界值分析: 基本思想:使用输入的最小值,略高于最小值,正常值,略低于最大值,最大值;所以R,P的边界值为0,1,2,50,99,100,101,
Ⅱ.边界值测试用例表:测试用例数:3*4+1=13个
测试用例编号 输入数据 预期输出 测试结果
R P
NO.1 0 100 Beyond 1-100 Beyond 1-100
NO.2 1 100 Change¥50:sheets 1 Change¥50:sheets 1
Change¥10:sheets 4 Change¥10:sheets 4
Change¥05:sheets 1 Change¥05:sheets 1
Change¥01:sheets 4 Change¥01:sheets 4

NO.3 2 100 Change¥50:sheets 1 Change¥50:sheets 1
Change¥10:sheets 4 Change¥10:sheets 4
Change¥05:sheets 1 Change¥05:sheets 1
Change¥01:sheets 3 Change¥01:sheets 3

NO.4 50 100 Change¥50:sheets 1 Change¥50:sheets 1
Change¥10:sheets 0 Change¥10:sheets 0
Change¥05:sheets 0 Change¥05:sheets 0
Change¥01:sheets 0 Change¥01:sheets 0

NO.5 99 100 Change¥50:sheets 0 Change¥50:sheets 0
Change¥10:sheets 0 Change¥10:sheets 0
Change¥05:sheets 0 Change¥05:sheets 0
Change¥01:sheets 1 Change¥01:sheets 1

NO.6 100 100 No Change No Change
NO.7 101 100 Beyond 1-100 Beyond 1-100
NO.8 100 0 Beyond 1-100 Beyond 1-100
NO.9 100 1 Pay isn't enough! Pay isn't enough!
NO.10 100 2 Pay isn't enough! Pay isn't enough!
NO.11 100 50 Pay isn't enough! Pay isn't enough!
NO.12 100 99 Pay isn't enough! Pay isn't enough!
NO.13 100 101 Beyond 1-100 Beyond 1-100

(2)等价类测试
Ⅰ.付款找零问题第一次等价类划分尝试
有效等价类 无效等价类
0<R<=P=100且为正整数 R,P非正整数
P<R
R,P∉[1,100]

Ⅱ. 付款找零问题第二次等价类划分尝试
等价类 输入数据 找零
P R (Change)

有效等价类 P-R=0; 0<R<=P<=100 T1 :Change=0
P-R∈(0,5); 0<R<=P<=100 T2 :0<Change<5
P-R∈[5,10); 0<R<=P<=100 T3 :5<=Change<10
P-R∈[10,50); 0<R<=P<=100 T4:10<=Change<50
P-R∈[50,100); 0<R<=P<=100 T5 :50<=Change<100
无效等价类 P-R<0;P,R∈[1,100] T6 :Change<0
P-R>=100 T7 :Change>=100
T8 :非正整数 错误数据
T9:范围超出
Ⅲ. 付款找零问题测试用例
测试用例编号 输入数据 预期输出 覆盖等价类 测试结果
R P
NO.1 50 50 No Change T1 No Change
NO.2 96 100 Change¥50:sheets 0 Change¥50:sheets 0
Change¥10:sheets 0 Change¥10:sheets 0
Change¥05:sheets 0 Change¥05:sheets 0
Change¥01:sheets 4 T2 Change¥01:sheets 4

NO.3 42 50 Change¥50:sheets 0
Change¥10:sheets 0
Change¥05:sheets 1
Change¥01:sheets 3 T3 。。。。。。

NO.4 15 50 Change¥50:sheets 0
Change¥10:sheets 3
Change¥05:sheets 1
Change¥01:sheets 0 T4 。。。。。。

NO.5 12 100 Change¥50:sheets 1
Change¥10:sheets 3
Change¥05:sheets 1
Change¥01:sheets 3 T5 。。。。。。。。

NO.6 100 50 Pay isn't enough! T6 Pay isn't enough!
NO.7 100 0 Beyond 1-100 T7 Beyond 1-100
NO.8 1.5 50 Confirm integer! T8 Confirm integer!
NO.9 50 A Confirm integer! T8 Confirm integer!
NO.10 -5 50 Confirm integer! T8 Confirm integer!
NO.11 500 1000 Beyond 1-100 T9 Beyond 1-100
/*******************************************************************/
接下类的不会了,,ԾㅂԾ,,

(3)基于决策表的测试

4. 白盒测试技术测试用例设计

5. 驱动程序开发代码

6. 测试结果及分析

...全文
1259 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
大成子Cheng 2017-06-07
  • 打赏
  • 举报
回复
可是作业要求格式啊
ckc 2017-06-06
  • 打赏
  • 举报
回复
总共才100来种可能,全部测试一次好了

5,179

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 质量管理/软件测试
功能测试压力测试安全性测试 个人社区 湖南省·长沙市
社区管理员
  • 软件测试
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家加入到软件测试的社区,在这里,希望大家勇于发表自己的看法,欢迎大家分享自己在软件测试工作过程中遇到的问题以及工作经验分享。

1.想转行的小伙伴,遇到问题没有及时回复的,可以私聊小博进行反馈

2.大家对社区有好的建议,都可以在社区发帖进行反馈

推荐大家学习的软件测试入门笔记:软件测试入门学习笔记

试试用AI创作助手写篇文章吧