找零钱最佳组合的测试用例找零钱最佳组合的测试用例
软件测试技术基础课后习题答案
解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序 代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又 最低。
4. 当用户登录某网站购物完毕并退出后,忽然想查查购物时付账 的总金额,于是按了浏览器左上角的“退回”按钮,就又回到了 退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪 一类?
解:有缺陷。其所属类别与软件产品说明书的要求有关。
5. 什么是软件测试?简述其目的与原则。
解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺 陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产 品)进行验证和确认的活动过程。
测试目的:(1)证明:获取系统在可接受风险范围内可用的信 心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完 整的并且可用或可被集成。 (2)检测:发现缺陷、错误和系统不足; 定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。 (3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的 信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这 些问题和风险的途径。
8. 简述软件测试过程。
解:软件测试过程主要包括如下6个活动:测试计划;测试需求分析; 测试设计;测试规程实现;测试执行;总结生成报告。
9. “软件测试能够保证软件的质量”这句话对吗?软件测试和软件 质量之间是什么关系?
解:不对。软件测试是保障软件质量的手段之一,但不是唯一手段。测 试是产品高质量的必要非充分条件,软件测试不能决定软件质量。
快速原型模式首先构造一个功能简单的原型系统,然后通过对原型 系统逐步求精,不断扩充完善得到最终的软件系统。原型系统在扩充完 善过程中不断被检查、测试和修改。
黑盒测试实验报告
实验报告书课程名称:软件测试实验题目:黑盒测试报告专业:教育技术学班级:教技142学生姓名:安卓指导老师:郭小雪所属学期:2017-2018学年第二学期一、引言1.1目的测试报告为三角形问题和找零钱最佳组合问题项目的黑盒测试报告,目的在于总结测试阶段的测试以及分析测试结果。
实验环境在Windows 2000(SP2) 或Windows XP 操作系统上,使用C++语言,工具作为开发环境(IDE)实验要求1.根据给出的程序分别使用等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。
2.输入数据进行测试,填写测试用例。
二、实验原理黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试。
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
该方法是一种重要的,常用的黑盒测试用例设计方法。
软件测试用例分析习题完美整合版
软件测试⽤例分析习题完美整合版场景分析法⼀、以答题业务为例:1.答对题⽬增加题⽬积分,积分达到设定值时奖励⼀个礼包;2.取题规则为随机不重复;3.答错题⽬后答新题.开始答题是否存在有效题⽬提供题⽬及备选答案答案是否正确增加题⽬积分积分⼤于或等于设定值?给予⽆有效题⽬提⽰结束奖励⼀个礼包1.确定基本流与备选流基本流: 步骤1. 开始答题步骤2. 判断是否存在有效题⽬,存在有效题⽬,处理:提供题⽬及备选答案步骤3. ⽤户答题并答对题⽬,增加⽤户相应积分。
步骤4. 判断积分是否达到设定值,达到,获取⼀个礼包,流程结束。
备选流1: 不存在有效题⽬基本流步骤2时,题库不存在未答题⽬,处理:给予⽆有效题⽬提⽰,流程结束。
备选流2: 答错题⽬基本流步骤3时,答错题⽬,处理:提⽰⽤户答错题⽬,回到基本流步骤2备选流3:答题后积分达不到设定值基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤22.确定以下⽤例场景:3.通过从确定执⾏⽤例场景所需的数据元素⼊⼿构建矩阵4.设计数据,把数据填⼊上⾯的⽤例表中⼆、下图所⽰是ATM例⼦的流程⽰意图。
2.场景设计:下表所⽰是⽣成的场景。
3.⽤例设计4.测试⽤例表三、⽤户进⼊⼀个在线购物⽹站进⾏购物,选购物品后,进⾏在线购买,这时需要使⽤账号登录,登录成功后,进⾏付钱交易,交易成功后,⽣成订购单,完成整个购物过程。
第⼀步:确定基本流和备选流基本流:登录在线⽹站→选择物品→登录账号→付款→⽣成订单;备选流1:账户不存在;备选流2:账户密码错误;备选流3:⽤户账户余额不⾜;备选流4:⽤户账户没钱。
第⼆步:根据基本流和备选流确定场景场景1成功购物:备选流;场景2账号不存在:基本流,备选流1;场景3账号密码错误:基本流,备选流2;场景4账户余额不⾜:基本流,备选流3;场景5账户没钱:基本流,备选流4。
第三步:对每⼀个场景⽣成相应的测试⽤例测试⽤例ID 场景/条件账号密码⽤户账号余额预期结果1 场景1:成功购物V V V 成功购物2 场景2:账号不存在 1 n/a n/a 提⽰账号不存在3 场景3:账号密码错误(账号正确,密码错误)V 1 n/a 提⽰账号密码错误,返回基本流步骤34 场景4:⽤户账号余额不⾜V V 1 提⽰⽤户账号余额不⾜,请充值5 场景5:⽤户账号没钱V V 1 提⽰⽤户账号没有钱,请充值第四步:设计测试数据测试⽤例ID 场景/条件账号密码⽤户账号余额预期结果1 场景1:成功购物Test 123456 800 成功购物,账号余额减少100元2 场景2:账号不存在aa n/a n/a 提⽰账号不存在3 场景3:账号密码错误(账号正确,密码错误)Test 111111 n/a 提⽰账号密码错误,返回基本流步骤34 场景4:⽤户账号余额不⾜Test 123456 50 提⽰⽤户账号余额不⾜,请充值5 场景5:⽤户账号没钱Test 123456 0 提⽰⽤户账号没有钱,请充值等价类划分法⼀、计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输⼊条件的要求,列出等价类表(包括有效等价类和⽆效等价类)。
黑盒测试习题02
习题020501 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成( )个等价区间。
A. 2B. 3C. 4D. 6输入数据预期结果合法位数不足位数过长abcdefgh 非法字符0502输入数据预期结果!@#$%^&() 合法(无字符)位数过短12736…2179(共256位) 位数过长/?|\ 非法字符0503输入数据预期结果20 合法13 年龄小于范围41 年龄大于范围abcd 非法字符0504 某工厂招工,规定报名者年龄应在20周岁——39周岁之间,即出生年月不得早于1960年7月,不晚于1979年6月。
报名程序具有自动检验输入数据的功能,如果出生年月不属于输入数据预期结果1966.06 合法1960.06 时间过早1980.01 时间过晚一九六五年七月非数字19777 少于6位多余6位大于12小于10505 新浪邮箱名,其输入要求如下:1. 4~16个字符2. 支持英文小写、数字、下划线3. 不支持全部为数字或下划线输入数据预期结果qq_fhg 合法全为数字______ 全为下划线@#¥%……&* 非法字符0个不可为空fwhflwenfklwjwjfilwjksfm 字符大于161df 字符小于4AAAAAAAA 全为大写0506用等价类划分法设计下面的测试用例:有一个报表系统,要求用户输入要处理的报表的日期,假设日期的范围为2000年1月到2020年12月。
如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月六位数字组成,前4为代表年,后两位代表月。
输入数据预期结果合法时间过早时间过晚abng2432 非法字符月份小于1月份大于1220001 长度小于6长度大于62)根据1)中的等价类表,设计能覆盖所有等价类的测试用例。
要求包括输入数据和预期输出,并指出各个测试用例所能符合的等价类编号0507 NextDate 函数包含三个变量:month 、day 和year ,函数的输出为输入日期后一天的日期。
算法导论:找零钱问题
算法导论:找零钱问题题⽬假设有1元、2元、5元、10元、20元、50元、100元、200元⾯额的硬币或者纸币。
现在需要N元钱,有多少种零钱组合⽅式?解题DFS⽐较简单public void DFS(int m,int[]A,int start,ArrayList<String>result,String str){if(m == 0){result.add(str);return;}if(A[start]> m){return;}for(int i = start;i<A.length;i++){DFS(m - A[i],A,i,result,str+ " "+A[i]);}}如上:1.判断是否是 0是,保存2.是否⾮法3.遍历组合可能验证结果正确当然这样会有许多重合的⼦问题,更改为动态规划,定义数组保存中dp[j] = dp[j] + dp[j -A[i]]; // ⾯值j的零钱可以写出:j = A[i] + (j - A[i]) 求出所有组合⽅式就是答案public void DP(int money,int[]A){int dp[] = new int[money+1]; // dp[j] 表⽰ j元钱的零钱的组合⽅式dp[0] = 1;for(int i = 0;i<A.length;i++){for(int j = A[i];j<= money;j++){dp[j] = dp[j] + dp[j -A[i]]; // ⾯值j的零钱可以写出:j = A[i] + (j - A[i]) 求出所有组合⽅式就是答案}}System.out.println(dp[money]);}然⽽贪⼼的转不过去,⽹上只看到使得找零的硬币数量最少的硬币数量,⽽是找零⽅式的数量public void Greedy(int money,int[] A){int num = 0;for(int i =A.length-1;i>=0;i--){num=num+money/A[i]; //先把⾯值较⼤的找了money = money%A[i];}System.out.println(num);}所有程序package greedy;import java.util.*;public class changeMoney {public void DP(int money,int[]A){int dp[] = new int[money+1]; // dp[j] 表⽰ j元钱的零钱的组合⽅式dp[0] = 1;// 初始是 1 才能dp[j] = dp[j] + ** 才能增加for(int i = 0;i<A.length;i++){for(int j = A[i];j<= money;j++){dp[j] = dp[j] + dp[j -A[i]]; // ⾯值j的零钱可以写出:j = A[i] + (j - A[i]) 求出所有组合⽅式就是答案 }}System.out.println(dp[money]);}public void Greedy(int money,int[] A){int num = 0;for(int i =A.length-1;i>=0;i--){num=num+money/A[i]; //先把⾯值较⼤的找了money = money%A[i];}System.out.println(num);}public void DFS(int m,int[]A,int start,ArrayList<String>result,String str){if(m == 0){result.add(str);return;}if(A[start]> m){return;}for(int i = start;i<A.length;i++){DFS(m - A[i],A,i,result,str+ " "+A[i]);}}public static void main(String[] args){changeMoney cM = new changeMoney();int[] A={1,2,5,10,20,50,100,200};ArrayList<String> result = new ArrayList<String>();int money = 200;//73682cM.DFS(money,A,0,result,"");System.out.println(result.size());cM.DP(money, A);//73682cM.Greedy(money, A);//1}}。
找零钱最佳组合
避免使用破损 的零钱
确保顾客收到 正确的零钱
注意顾客体验
避免使用硬币:因为硬币容易丢失 和被拒绝
避免使用小面额纸币:因为小面额 纸币容易让顾客感到被轻视或被不 重视
添加标题
添加标题
添加标题
添加标题
避免使用大面额纸币:因为大面额 纸币容易让顾客感到被欺骗或被不 信任
尽量使用电子支付:因为电子支付 可以避免找零的麻烦和误差
保持整洁卫生
保持收银台整洁,及时清 理垃圾
定期清洁机器设备,保持 干净卫生
勤洗手,保持个人卫生
注意环境卫生,保持室内 空气清新
找零钱最佳组合的推广价值
第五章
提高商业竞争力
吸引顾客:提供多种组合选择,满足不同顾客需求,增加顾客满意度和忠 诚度。 降低成本:优化零钱储备和管理,降低库存成本和运营成本。
促进经济发展
增加货币流通:找零钱最佳组合可以促进货币流通,提高市场交易的效率和便利性。
降低交易成本:通过提供方便的找零钱方式,降低交易成本,提高市场效率。
促进消费需求:找零钱最佳组合可以满足消费者的不同需求,提高消费意愿和消费水平。
带动相关产业发展:找零钱最佳组合需要相关的技术支持和设备投入,可以带动相关 产业的发展,促进经济增长。
提高工作效率
减少等待时间:快速准确的找零可以减少顾客等待时间,提高顾客满意度。 提高交易速度:高效的找零流程可以加快交易速度,提高商店的吞吐量。 降低错误率:准确的找零可以减少错误率,避免不必要的纠纷。 提升形象:良好的找零服务可以提升商店形象,增加顾客回头率。
减少错误率
避免因找零钱错误引起的纠 纷和投诉,提升客户满意度
减少找零钱时的错误率,提 高交易的准确性和效率
软件测试技术实验指导书
《软件测试技术》实验指导书实验1、自由测试实验目的1. 理解软件测试的概念。
2. 提高反向思维的能力。
二、实验任务针对某产品Beta 的版本,对照其竞争对手的产品,进行测试,以发现该软件产品 潜在的任何问题,记录下来。
Discuz! X beta 对比 PHPWi nd实验2、黑盒测试方法:等价类划分法+边界值分析方法、实验目的1. 掌握等价类、有效等价类、无效等价类、边界值等概念。
2. 掌握边界值分析法、等价类划分法的测试用例设计方法。
3. 能够将这两种方法结合起来,灵活运用二、实验任务以下三个任务、至少完成一个1、对三角问题综合运用边界值分析方法、等价类划分方法设计测试用例。
三角形问题:void Triangle (int a, int b, int c) 函数规定输入三个整数 a 、b 、c 分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出。
1<=a,b,c<=200实验步骤:①划分等价类,得到等价类表。
等价类表格式如下:②综合运用这两种方法设测试用例,得到测试用例表:③ 综合运用这两种方法设测试用例,得到测试用例表:④ 根据上述测试用例表,能否进行优化,获得最小测试用例集合:2、对于找零钱最佳组合问题运用边界值分析法设计测试用例。
实验步骤:①分析边界值。
②运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
③执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
3、现有一个程序int CheckTel(char *rc, char *n)执行电话号码有效性检查功能,中国的固定电话号码由两部分组成。
这两部分的名称和内容分别是:地区码(rc):以0开头的三位或者四位数字(包括0)。
电话号码(n):以非0、非1开头的七位或者八位数字。
对该程序进行边界值分析,然后进行等价类划分,分别运用边界值条件、等价类划分的结果来设计测试用例,并尽可能优化所设计的测试用例。
找零钱最佳组合的测试用例找零钱最佳组合的测试用例
边界值分析也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
选择测试用例的原则:一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1个、比最小个数少1个的数做为测试数据;三、根据规格说明的每一个输出条件,使用规则一;四、根据规格说明的每一个输出条件,使用规则二;五、如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;六、如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例;七、分析规格说明,找出其他可能的边界条件。
找零钱最佳组合的测试用例假设商店货品价格(R)皆不大於100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种)正确功能:找零的组合为1/10/50面值组合的最小个(张)数找零数额=P-R假设计算正确一、分析输入的情形。
1.R无效:R > 100 R<=02.R有效:0 < R < = 100此种情况下再考虑P:2_1. P无效:P > 100(钱给多)2_2. P无效:P < R(钱给少)2_3. P有效:R<= P <= 100 //无效输出:多找钱少找钱二、分析输出情形。
考虑输出——找零个数这里是有效数据,关于"找给顾客之最少货币个(张)数"的有效取值50:0/110:0/1/2/3/45:0/11:0/1/2/3/4三、分析规格中每一决策点之情形考虑输出——找零数额(RR表示找零数额)无效输入(不找零):R > 100R <= 00 < R < = 100 P > 1000 < R < = 100 P < R输出为相应错误提示信息有效输入(找零):0 < R < = 100 R<= P <= 100此时考虑的输出:(RR=P-R假设计算正确不考虑此种情况无效输出)0<=RR<45<=RR<10<=RR<50<=RR<100RR:0、1、4、5、9、10、49、50、99五、为满足以上之各种情形,测试用例设计如下:1.货品价格=1012.货品价格=03.货品价格= -14.货品价格= 100,付款金额=1015.货品价格= 100,付款金额=996.货品价格= 100,付款金额= 100不找零7.货品价格= 99,付款金额= 100 N1=18.货品价格= 96,付款金额= 100 N1=49.货品价格= 95,付款金额= 100 N5=110.货品价格= 91,付款金额= 100 N5=1, N1=411.货品价格= 90,付款金额= 100 N10=112.货品价格= 51,付款金额= 100 N10=4, N5=1,N1=413.货品价格= 50,付款金额= 100 N5014.货品价格= 1,付款金额= 100 N50=1=1,N10=4,N5=1,N1=4。
找零钱问题
A 30° ° B
A
30° °
如果你选做了本题并取得了正确答案,请在上机结束前将源程序交到 如果你选做了本题并取得了正确答案,请在上机结束前将源程序交到 上机结束前 Ftp://202.117.35.169/C++/zhudj/Algorithm目录中,文件名为学号 ,不分班级。 目录中, 为学号_M,不分班级。 目录中 文件名为学号
假定有伍角、壹角、伍分、 假定有伍角、壹角、伍分、贰分和壹分共五种硬 在给顾客找硬币时, 币,在给顾客找硬币时,一般都会尽可能的选用 硬币个数最小的方法。例如, 硬币个数最小的方法。例如,当要给某顾客找七 角二分钱时,会给他一个伍角, 个壹角和1 角二分钱时,会给他一个伍角,2个壹角和1个贰 分的硬币。 分的硬币。
Quicksort
// 快速排序 void QuickSort(int *a, int p, int q) { if(p<q) { int r=Partition(a, p, q); QuickSort(a, p, r-1); //对左半段排序 对; //对右半段排序 对右半段排序 } }
• 即
π = 4∗ B/ A
求π 的近似值
• 下雨时: 下雨时:
– 雨点落在整个正方形容器中的限制条件是: 雨点落在整个正方形容器中的限制条件是:
0 ≤ x ≤1 0 ≤ y ≤1
– 雨点落在扇形区域中的限制条件是: 雨点落在扇形区域中的限制条件是:
x2 + y 2 ≤ 1
int main() { int a=0, b=0; double pi, x, y; srand((unsigned int)time(NULL)); for(int i=0; i<10000; i++) { a++; x=(double)rand()/RAND_MAX; y=(double)rand()/RAND_MAX; if(sqrt(x*x+y*y)<=1)b++; } pi=4.0*(double)b/a; cout<<"pi="<<pi<<endl; return 0; }
找零钱最佳组合的测试用例
找零钱最佳组合的测试用例假设商店货品价格 (R) 皆不大於 100 元(且为整数),若顾客付款在 100 元内 (P) ,求找给顾客之最少货币个(张)数?(货币面值50 元 (N50) , 10 元 (N10) , 5 元 (N5) , 1 元 (N1) 四种)正确功能:找零的组合为1/5/10/50面值组合的最小个(张)数找零数额=P-R 假设计算正确一、分析输入的情形。
1.R无效: R > 100 R<=02.R有效: 0 < R < = 100此种情况下再考虑P:2_1. P无效:P > 100 (钱给多)2_2. P无效:P < R (钱给少)2_3. P有效:R<= P <= 100 //无效输出:多找钱少找钱二、分析输出情形。
考虑输出——找零个数这里是有效数据,关于“找给顾客之最少货币个(张)数”的有效取值50:找钱面值为50元的有两种情况: 0张或/1张10:找钱面值为10元的有五种情况: 0/1/2/3/45 :找钱面值为5元的有两种情况: 0/11 :找钱面值为1元的有五种情况:0/1/2/3/4三、分析规格中每一决策点之情形考虑输出——找零数额(RR表示找零数额)1、无效输入(不找零):R > 100R <= 00 < R < = 100 P > 1000 < R < = 100 P < R输出为相应错误提示信息。
2、有效输入(找零):0 < R < = 100 && R<= P <= 100此时考虑的输出:(RR=P-R 假设计算正确不考虑此种情况无效输出)0<=RR<55<=RR<1010<=RR<5050<=RR<100用边界值分析法,取RR的有代表性的值,则RR分别取:0、1、4、5、9、10、49、50、99五、为满足以上之各种情形,测试用例设计如下:1. 货品价格 = 101 无效货品价格2. 货品价格 = 0 无效货品价格3.货品价格 = -1 无效货品价格4. 货品价格 = 100, 付款金额 = 101 无效付款5. 货品价格 = 100, 付款金额 = 99 无效付款6. 货品价格 = 100, 付款金额 = 100 不找零7. 货品价格 = 99, 付款金额 = 100 N1=18. 货品价格 = 96, 付款金额 = 100 N1=49. 货品价格 = 95, 付款金额 = 100 N5=110. 货品价格 = 91, 付款金额 = 100 N5=1, N1=411. 货品价格 = 90, 付款金额 = 100 N10=112. 货品价格 = 51, 付款金额 = 100 N10=4, N5=1,N1=413. 货品价格 = 50, 付款金额 = 100 N50=114. 货品价格 = 1, 付款金额 = 100 N50=1,N10=4,N5=1,N1=4。
实验动态黑盒测试
云南大学软件学院期实验报告School of Software, Yunnan University个人成绩学期: 2012秋季学期课程名称: 软件测试技术任课教师: 代飞姓名: 赵宇学号: 20101120128 年级: 2010级完成提交时间:2012年 10月25日实验一动态黑盒测试一、实验目的1.熟悉软件测试基本概念;2.了解静态测试、动态测试、黑盒测试、白盒测试的基本概念;3.熟练掌握黑盒相关测试技术;4.能够熟练应用等价划分法、边界值法进行黑盒测试用例设计。
二、实验内容1. 保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为:保费=投保额×保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:请结合等价类划分法(考虑健壮性)和边界值分析法(考虑健壮性)为上述程序设计出相应的测试用例。
测试用例:(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。
年龄:一位或两位非零整数,值的有效范围为1~99性别:一位英文字符,只能取值‘M‟或’F‟婚姻:字符,只能取值‘已婚’或‘未婚’抚养人数:空白或一位非零整数(1~9)点数:一位或两位非零整数,值的范围为1~992)根据1)中的等价类表,设计能覆盖所有等价类的测试用例。
2. 找零钱最佳组合假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
请结合等价类划分法(考虑健壮性)和边界值分析法(考虑健壮性)为上述程序设计出相应的测试用例。
测试用例:一、分析输入的情形。
软件测试用例分析-习题完美整合版1
场景分析法一、以答题业务为例:1.答对题目增加题目积分,积分达到设定值时奖励一个礼包;2.取题规则为随机不重复;3.答错题目后答新题.开始答题是否存在有效题目提供题目及备选答案答案是否正确增加题目积分积分大于或等于设定值?给予无有效题目提示结束奖励一个礼包1.确定基本流与备选流基本流: 步骤1. 开始答题步骤2. 判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案步骤3. 用户答题并答对题目,增加用户相应积分。
步骤4. 判断积分是否达到设定值,达到,获取一个礼包,流程结束。
备选流1: 不存在有效题目基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。
备选流2: 答错题目基本流步骤3时,答错题目,处理:提示用户答错题目,回到基本流步骤2备选流3:答题后积分达不到设定值基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤22.确定以下用例场景:3.通过从确定执行用例场景所需的数据元素入手构建矩阵4.设计数据,把数据填入上面的用例表中二、下图所示是ATM例子的流程示意图。
2.场景设计:下表所示是生成的场景。
3.用例设计4.测试用例表三、用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。
第一步:确定基本流和备选流基本流:登录在线网站→选择物品→登录账号→付款→生成订单;备选流1:账户不存在;备选流2:账户密码错误;备选流3:用户账户余额不足;备选流4:用户账户没钱。
第二步:根据基本流和备选流确定场景场景1成功购物:备选流;场景2账号不存在:基本流,备选流1;场景3账号密码错误:基本流,备选流2;场景4账户余额不足:基本流,备选流3;场景5账户没钱:基本流,备选流4。
第三步:对每一个场景生成相应的测试用例测试用例ID 场景/条件账号密码用户账号余额预期结果1 场景1:成功购物V V V 成功购物2 场景2:账号不存在 1 n/a n/a 提示账号不存在3 场景3:账号密码错误(账号正确,密码错误)V 1 n/a 提示账号密码错误,返回基本流步骤34 场景4:用户账号余额不足V V 1 提示用户账号余额不足,请充值5 场景5:用户账号没钱V V 1 提示用户账号没有钱,请充值第四步:设计测试数据测试用例ID 场景/条件账号密码用户账号余额预期结果1 场景1:成功购物Test 123456 800 成功购物,账号余额减少100元2 场景2:账号不存在aa n/a n/a 提示账号不存在3 场景3:账号密码错误(账号正确,密码错误)Test 111111 n/a 提示账号密码错误,返回基本流步骤34 场景4:用户账号余额不足Test 123456 50 提示用户账号余额不足,请充值5 场景5:用户账号没钱Test 123456 0 提示用户账号没有钱,请充值等价类划分法一、计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。
软件测试设计题
四.设计题1.某城市的电话号码由三部分组成。
这三部分的名称和内容分别是地区码:空白或三位数字;前缀:非’0’或’1’开头的三位数;后缀:四位数字。
假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。
解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。
第二步:确定调试用例。
调试数据范围期望结果( ) 276-2345 等价类(1),(3),(4) 有效(635) 805-9321 等价类(2),(3),(4) 有效对11个无效等价类,要选择11个调试用例,如下所示:调试数据范围期望结果(20A) 123-4567 无效等价类(5) 无效(33 ) 234-5678 无效等价类(6) 无效(7777) 345-6789 无效等价类(7) 无效(777) 34A-6789 无效等价类(8) 无效(234) 045-6789 无效等价类(9) 无效(777) 145-6789 无效等价类(10) 无效(777) 34-6789 无效等价类(11) 无效(777) 2345-6789 无效等价类(12) 无效(777) 345-678A 无效等价类(13) 无效(777) 345-678 无效等价类(14) 无效(777) 345-56789 无效等价类(15) 无效选取的调试数据可以不同,关键是与调试内容相符。
2.按要求给出下列程序的测试用例(要求写出必要的说明):(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定-条件覆盖(5)条件组合覆盖图中共有4。
1.P1正好满足语句覆盖的条件。
可以设计如下的输入数据:A=2,B=0,x=42.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。
可以设计如下两组输入数据:A=2,B=0,x=4A=1,B=1,x=13.条件:A>1,B=0,A=2,x>1。
需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。
动态规划解找零钱问题实验报告
六、实验结果总结
1.程序运行截图:
2.回答以下问题: (1) 算法实现的复杂度在问题规模很大时可以接受吗? 答:可以接受,因为动态规划算法有很好的效率,所以当问题复杂 度很大时,就不会影响到算法的运行时间。 (2) 如果不用动态规划方法还能想到其他的解决方式吗?和动态规划相 比会有更好的效率吗? 答:对于找硬币问题,有时候贪心算法也能解决,但不如动态规划 求解有效率,所以采用动态规划方法是一个很好的选择。 (3) 所选用的数据结构合适吗? 答:采用了数组的数据结构,合适,因为该数据结构能够支持对于 数组中的元素的随机访问,而且方便查询。 (4) 该算法都存在哪几类可能出现的情况, 你的测试完全覆盖了你所想到 的这些情况吗,测试结果如何?
b)当 n>1 时, 若 j>T[n],即第 n 种钱币面值比所兑换零钱数小,因此有 C (n, j ) min {C (n, j T [k ]) 1} k (1 i n) 1 k n 。当 k 为 0 时,C(n,j)达到最小 值,有 P(T(k0),j)=P(T( k 0 ),j-T( k 0 ))+1 若 j=T[n],即用 n 种钱币兑换零钱,第 n 种钱币面值与兑换零钱数 j 相等,此时有 C(n,j)=C(n,T[n])=1;
(5) 叙述通过实验你对动态规划方法的理解及其优缺点 答:优点:动态规划方法有效利用了子问题的重叠性,减少了大量 的计算。 而且动态规划的使用也非常简单,只需要问题满足最优子结构、 子问题重叠性、无后效性即可。通常可以利用分置思想构造出子问题的 分解方法,就可以利用动态规划。 缺点:动态规划的缺点并不是最快的方法,只是解决某一类型的 问题的工具或者优化某些 NPC 问题的时间效率。动态规划的很重要的一 点就是用大量空间换取时间上的优化,所以这并不是一个完美的方法。
测试用例设计—自动售货机因果图分析
测试用例设计—自动售货机因果图分析命题有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
分析根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是:条件:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:1.售货机〖零钱找完〗灯亮当售货机中没有零钱的时候就有亮红灯2.退还1元硬币当投入1元,而且售货机中没有零钱可找的时候3.退还5角硬币 当投入1元,而且售货机中有零钱可找的时候4.送出橙汁饮料5.送出啤酒饮料因果图-画条件和结果有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元因果图-画简单关系在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。
2、条件“投1元”和条件“投5角”是一个“E ”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。
3、条件“选啤酒”和条件“选橙汁”是一个“E ”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。
4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。
而且这两个条件之间使用“或”的关系。
测试用例八大设计方法和实例
测试用例设计方法1等价类划分1.1 理论知识等价类划分是一种典型的黑盒测试方法。
这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。
等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。
因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。
这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.1) 分类:划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.无效等价类:与有效等价类的定义恰巧相反.设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.2)划分等价类的方法:下面给出六条确定等价类的原则:①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.3)原则:设计测试用例:在确立了等价类后,可建立等价类表,列出所有划分出的等价类:输入条件有效等价类无效等价类... ... ...... ... ...然后从划分出的等价类中按以下三个原则设计测试用例:①为每一个等价类规定一个唯一的编号.②设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止.之所以这么做,是因为程序中对于某一个错误输入的检查,往往会屏蔽对于其他错误输入的检查。
你五毛,我五毛,我们刚好是一块
你五毛,我五毛,我们刚好是一块作者:程赞红来源:《中学生博览》2019年第22期高一新生在入学初期,由于环境的改变、学习要求的提高和青春期的发育,会产生陌生感和不适应。
调查中发现有1/4的同学在入学一个月后尚不能与班里其他同学相熟,由于彼此不了解,在各种活动中陷入孤独无助的境地。
为了帮助学生尽快适应新的学习环境,融入班集体,获得归属感和信任感,我选了“找零钱”心理游戏为上课的载体,通过活动分享来促成学生思考和成长。
首先我给同学们讲了周总理的故事:“众所周知,周总理有很高的外交智慧。
有一次,一个不怀好意的外国记者问周总理:‘总理阁下,请问中国有多少钱?’‘18元8角8分。
’总理机智地回答。
18元8角8分是我国第三套人民币的总面值,总理巧妙地回击了记者的挑衅,又没暴露国家机密,真是妙语连珠。
“那么,假如我们也是不同面值的钱,看看我们能否形成最佳组合。
今天,我们玩一个‘找零钱’的游戏。
游戏规则是这样的:女生代表1元,男生代表5角。
我报出一个价格,大家自由组合,使人数总和符合我说出的价格。
最快组合完毕的即为获胜,落单或者组合错误的视为失败。
游戏规则明白了吗?”有些男生听到自己只值5毛钱时,抗议不公平,但很快开始找同学相约组队。
游戏开始了,我先报出“2元”,教室里像炸开了锅,女同学两两配对,男同学四个一组,刚好都成功组合,大家脸上乐开了花。
我趁机采访身边的一位女生:“你现在的心情怎样?”女生开心地说:“我们成功啦,互相依靠的感觉很温暖。
”旁边的一位男生接话说:“获得了支持和力量。
”等气氛平静下来后,我报出“3元5角”,暗暗观察同学们的行动,有些男生7个抱在一起,有些男生被女生强拉过去。
为了更好地看清有多少同学成功,我请成功组合的同学围成一圈儿坐下,落单的同学站到我边上。
我先采访成功组合的小组。
一个男生说:“当时感觉很奇怪,我是被女生拖过来的。
”刚才拉他的女生哈哈地笑出了声:“做游戏时,什么男与女,什么我与TA之间有隔阂,在那时,一切都不存在了,一切都不重要了,一心只求成功组队,我们主动拉他,所以我们成功了!”我又问男生:“现在感觉如何?”他说:“挺好的,被人接納,感觉我很有价值。
软件测试 三角形问题,找零钱,最佳组合问题
武 夷 学 院实验报告数学与计算机系实验一三角形问题、找零钱最佳组合问题的第一次测试一、实验目的通过本次实验使学生对软件测试过程有个初步了解,并具备针对功能的测试用例的设计。
二、实验环境硬件环境:微型计算机。
软件环境:Windows 操作系统,Microsoft Visual Studio 2005等。
三、实验内容题目一:三角形问题输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
题目二:找零钱最佳组合问题假设商店货品价格(R)皆不大于100 元(且为整数),若顾客付款在100 元内 (P) ,求找给顾客最少货币个(张)数?(货币面值50 元10 元,5 元,1 元四种)1.仿照NextDate问题,分析三角形问题的功能,针对三角形问题的功能设计测试用例,并对测试结果进行分析。
2.仿照NextDate问题,分析找零钱最佳组合问题的功能,针对找零钱最佳组合问题的功能设计测试用例,并对测试结果进行分析。
四、实验步骤1.编写程序三角形问题和找零钱最佳组合问题(1)三角形问题程序#include <stdio.h>#include <stdlib.h>void formed(int, int, int);void type (int, int, int);main(){int a, b, c;while(1){printf("pls enter lenth of three sides of triangle (upper than 1 , lower than 200):\n");scanf("%d,%d,%d",&a, &b, &c);if (a >= 1 && a <= 200 && b >= 1 && b<= 200 && c >= 1 && c <= 200){formed(a,b,c);printf("\n");} elseprintf("error input: three sides must be upper than 1and lower than 200!\n");}}voidformed(int a, int b, int c){if(a + b > c && a + c > b && b + c > a){printf("these lines form a triangle! \n");type(a,b,c);} else {printf("these lines ain't form a triangle \n");}}voidtype(int a, int b, int c){if (a == b || b == c || a == c){if (a == b && b == c)printf("it's Isosceles triangle! \n");elseprintf("it's regular triangle! \n");}if (a*a + b*b == c*c)printf("it's right triangle! \n");}(2)找零钱最佳组合问题程序#include <stdio.h>#include <stdlib.h>void calc(int);main(){int cash, pay;while(1){printf("Please enter the price of goods: ");scanf("%d", &cash);printf("Please enter what customer paid: ");scanf("%d", &pay);cash = pay - cash;if (cash < 0){printf("Error Input: \n");continue;} else if (cash == 0) {printf("No change note! \n");continue;}if (cash >= 100 || cash <= 0)printf("Error input: price must be upper than 0 and lower than 100 \n");else {printf("\n");calc(cash);printf("\n");}}}voidcalc(int cash){int c50, c10, c5, c1;c50 = c10 = c5 = c1 = 0;printf("Change Note: ¥%d\n", cash);while(cash - 50 >= 0){c50 += 1;cash -= 50;}while(cash - 10 >= 0){c10 += 1;cash -= 10;}while(cash - 5 >= 0){c5 += 1;cash -= 5;}while(cash - 1 >= 0){c1 += 1;cash -= 1;}printf(" -----------\n");printf(" ¥50 x %d\n", c50);printf(" ¥10 x %d\n", c10);printf(" ¥ 5 x %d\n", c5);printf(" ¥ 1 x %d\n", c1);printf(" -----------\n");printf("Total: %d\n", c50 + c10 + c5 + c1);}2.三角形问题的测试(1)三角形问题的功能分析a、判断能否组成三角形:任意两边的和大于第三边。
边界值分析法实例分析
编号R P 预期输出结果1101102⾮法输⼊2101101⾮法输⼊3101100⾮法输⼊410199⾮法输⼊5100101⾮法输⼊6100100n50=0,n10=0,n5=0,n1=0710099⾮法输⼊850101⾮法输⼊950100n50=1,n10=0,n5=0,n1=0105099n50=0,n10=4,n5=1,n1=4115075n50=0,n10=2,n5=1,n1=0125051n50=0,n10=0,n5=0,n1=1135050n50=0,n10=0,n5=0,n1=0145049⾮法输⼊150101⾮法输⼊160100⾮法输⼊17050⾮法输⼊1800⾮法输⼊190-1⾮法输⼊20-1101⾮法输⼊21-1100⾮法输⼊22-150⾮法输⼊23-1-1⾮法输⼊24-1-2⾮法输⼊边界值分析法实例分析实例:找零钱最佳组合题⽬:假设商店货品价格(R )皆不⼤于100元(且为整数),若顾客付款在100元内(P ),求找给顾客的最少货币个(张)数?(货币⾯值50元,10元,5元,1元四种)题⽬分析:设四种货币的张数分别为n50、n10、n5、n1(均为整数)它们的值即为结果。
1)输⼊情况有R>100, 0<R<=100, 0<R, P>100, R<=P<=100, P<R 。
2)输出情况有n50=1||0, 0<= n10 <5, n5=1||0, 0<= n1 <5。
3)测试实例(R ,P )有本例采⽤的是最坏情况测试,因为两个变量中P 变量的边界是随着R 变化⽽变化的,因此在测试中先确定R 的取值,然后在此基础上对P 的取值进⾏分析。
由于采⽤最坏情况测试,出现了⽐较多的⾮法输⼊。
其实这些⾮法输⼊可以根据R 的值分成三个等价类⾮别是R>100, 0<R<=100, R<=0,在此为了展⽰所有情况,所以列出了所有可能的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-----------------------------------精品考试资料---------------------学资学习网-----------------------------------
边界值分析也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
选择测试用例的原则:
一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;
二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1个、比最小个数少1个的数做为测试数据;
三、根据规格说明的每一个输出条件,使用规则一;
四、根据规格说明的每一个输出条件,使用规则二;
五、如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;
六、如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例;
七、分析规格说明,找出其他可能的边界条件。
找零钱最佳组合的测试用例假设商店货品价格(R)皆不大於100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种)
正确功能:
找零的组合为1/10/50面值组合的最小个(张)数找零数额=P-R假设计算正确
一、分析输入的情形。
1.R无效:
R > 100 R<=
1 / 4
02.R有效:
0 < R < = 100此种情况下再考虑P:
2_
1. P无效:
P > 100(钱给多)2_
2. P无效:
P < R(钱给少)2_
3. P有效:
R<= P <= 100 //无效输出:
多找钱少找钱
二、分析输出情形。
考虑输出——找零个数这里是有效数据,关于找给顾客之最少货币个(张)数的有效取值50:
0/110:
0/1/2/3/45:
0/11:
0/1/2/3/
4三、分析规格中每一决策点之情形考虑输出——找零数额(RR表示找零数额)无效输入(不找零):
R > 100R <= 00 < R < = 100 P > 1000 < R < = 100 P < R输出为相应错误提示信息有效输入(找零):
0 < R < = 100 R<= P <= 100此时考虑的输出:
2 / 4
(RR=P-R假设计算正确不考虑此种情况无效输出)
0<=RR<45<=RR<10<=RR<50<=RR<100RR:
0、
1、4、
5、9、
10、4
9、5
0、9
9五、为满足以上之各种情形,测试用例设计如下:
货品价格= 1. 货品价格= 1012.= -
03.货品价格= 货品价格14.= 100,付款金额= 货品价格= 100,付款金额1015. 不找零= 100,付款金额= 100996.货品价格=N1= 99,付款金
额= 100 7.货品价格N1== 100 付款金额18.货品价格= 96, =N5 49.货品价格= 95,付款金额= 100
==1, N1 = 91,付款金额= 100 N5货品价格110. N10=付款金额= 100 货品价格411.= 90, =1=,N14, N5N10 付款金额货品价格112.= 51,= 100 =3/ 4
413.货品价格= 50,付款金额= 100 N
5014.货品价格= 1,付款金额= 100 N50=1=1,N10=4,N5=1,N1=4 4 / 4。