为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

茶树精油的祛痘作用

2017-09-30 4页 doc 15KB 26阅读

用户头像

is_633423

暂无简介

举报
茶树精油的祛痘作用白盒测试实验报告 《软件测试技术 》实验报告 实验序号:03 实验项目名称:使用基本路径覆盖法测试自动售货机程序 一、实验目的及要求 理解并掌握分支和条件覆盖测试法,能够实际运用; 理解并掌握基本路径覆盖测试法,能够实际运用 使用Eclipse+JUnit+EclEmma进行单元测试。 二、实验设备(环境)及要求 , 开发环境:Eclipse v3.7及以上版本;JUnit v4.10及以上版本;文本编辑 软件。 , 硬件要求:CPU PIV 以上,256M 内存,1G 硬盘空间。 , 系统要求:Windows...
茶树精油的祛痘作用
白盒测试实验 《软件测试技术 》实验报告 实验序号:03 实验项目名称:使用基本路径覆盖法测试自动售货机程序 一、实验目的及要求 理解并掌握分支和条件覆盖测试法,能够实际运用; 理解并掌握基本路径覆盖测试法,能够实际运用 使用Eclipse+JUnit+EclEmma进行单元测试。 二、实验设备(环境)及要求 , 开发环境:Eclipse v3.7及以上版本;JUnit v4.10及以上版本;文本编辑 软件。 , 硬件要求:CPU PIV 以上,256M 内存,1G 硬盘空间。 , 系统要求:Windows98/Me/XP/NT/2000,IE 5 以上。 三、实验内容与步骤 1. 下载并安装Eclipse+JUnit+EclEmma实验环境; 2. 通读自动售货机程序,并在Eclipse环境下运行该程序; 3. 设计自动售货机程序相关的分支覆盖测试用例并进行测试 4. 设计自动售货机程序相关的条件覆盖测试用例并进行测试。 5. 使用基本路径测试法设计测试用例; , 绘制程序控制流图: , 计算环路复杂度; , 确定基本路径; , 设计测试用例 6. 完整填写以下 编 输入值 输入值 状态 预期输出 实际情 号 况 Type money 各资001 Beer 5C Input Information 源剩Type: Beer; Money: 5 Cents; Change: 0 余 Current State Beer: 5 Orange Juice: 6 5 Cents: 7 1 Dollar: 6 各资002 OrangeJuice 5C Input Information 源剩Type: OrangeJuice; Money: 5 Cents; Change: 0 余 Current State Beer: 6 Orange Juice: 5 5 Cents: 7 1 Dollar: 6 没有003 Beer 1D Failure Information 啤酒 Beer Shortage … … 7. 编写JUnit测试用例,并运行程序,保证所有测试用例通过测试; 8. 使用EclEmma检测测试用例覆盖率,保证覆盖率达到100%。 四、程序调试与结果 1、分支覆盖测试(程序中的每一个分支都至少被执行一次) 编 输入值 输入值 状态 预期输出 实际情况 号 Type money 各资与预期一样 001 Beer 5C Input Information 源剩Type: Beer; Money: 5 Cents; Change: 0 余 Current State Beer: 5 Orange Juice: 6 5 Cents: 7 1 Dollar: 6 Failure Information 没有与预期一样 002 Beer 5C Beer Shortage 啤酒 各资与预期一样 003 OrangeJuice 5C Input Information 源剩Type: Beer; Money: 5 Cents; Change: 0 余 Current State Beer: 6 Orange Juice: 5 5 Cents: 7 1 Dollar: 6 Failure Information 没有与预期不一004 OrangeJuice 5C 橙汁 OrangeJuice Shortage 样 Failure Information 各资与预期一样 005 Cola 5C 源均Type Error 有剩 余 各资与预期不一006 Beer 1D Input Information 源均样 Type: Beer; Money: 1 Dollar; Change: 5 有剩Cents 余 Current State Beer:5 Orange Juice: 6 5 Cents: 5 1 Dollar: 7 没有与预期不一007 Beer 1D Failure Information 5角样 Change Shortage 零钱 各资与预期不一008 OrangeJuice 1D Input Information 源均样 Type: OrangeJuice; Money: 1 Dollar; 有剩Change: 5 Cents 余 Current State Beer:6 Orange Juice: 5 5 Cents: 5 1 Dollar: 7 没有与预期不一009 OrangeJuice 1D Failure Information 橙汁 样 OrangeJuice Shortage Failure Information 各资与预期一样 010 Cola 1D 源剩Type Error 余 没有与预期不一011 Beer 1D Failure Information 零钱 样 Change Shortage 各资与预期一样 012 OrangeJuice 4C Failure Information 源剩Money Error 余 2、条件覆盖测试(程序中的每一个条件至少有一次被满足) 测试条件:投入1元,选择啤酒,有啤酒,是否有零钱 Failure Information 与预期一样 各资005 Cola 5C 源均Type Error 有剩 余 各资与预期不一006 Beer 1D Input Information 源均样 Type: Beer; Money: 1 Dollar; Change: 5 有剩Cents 余 Current State Beer:5 Orange Juice: 6 5 Cents: 5 1 Dollar: 7 3、基本路径测试法(覆盖程序中的所有可能的执行路径) 环路复杂度V(G)=区域数目=边界数目-节点数目+2=胖点节点数目+1=10 编 输入值 输入值 状态 预期输出 实际情况 号 Type money 各资与预期一样 001 Beer 5C Input Information 源剩Type: Beer; Money: 5 Cents; Change: 0 余 Current State Beer: 5 Orange Juice: 6 5 Cents: 7 1 Dollar: 6 Failure Information 没有与预期一样 002 Beer 5C Beer Shortage 啤酒 各资与预期一样 003 OrangeJuice 5C Input Information 源剩Type: Beer; Money: 5 Cents; Change: 0 余 Current State Beer: 6 Orange Juice: 5 5 Cents: 7 1 Dollar: 6 Failure Information 没有与预期不一004 OrangeJuice 5C 橙汁 OrangeJuice Shortage 样 Failure Information 各资与预期一样 005 Cola 5C 源均Type Error 有剩 余 各资与预期不一006 Beer 1D Input Information 源均样 Type: Beer; Money: 1 Dollar; Change: 5 有剩Cents 余 Current State Beer:5 Orange Juice: 6 5 Cents: 5 1 Dollar: 7 没有与预期不一007 Beer 1D Failure Information 5角样 Change Shortage 零钱 各资与预期不一008 OrangeJuice 1D Input Information 源均样 Type: OrangeJuice; Money: 1 Dollar; 有剩Change: 5 Cents 余 Current State Beer:6 Orange Juice: 5 5 Cents: 5 1 Dollar: 7 没有与预期不一009 OrangeJuice 1D Failure Information 橙汁 样 OrangeJuice Shortage Failure Information 各资与预期一样 010 Cola 1D 源剩Type Error 余 没有与预期不一011 Beer 1D Failure Information 零钱 样 Change Shortage 各资与预期一样 012 OrangeJuice 4C Failure Information 源剩Money Error 余 用有缺陷的代码测试结果: 修改代码后: 所有测试成功、使用EclEmma检测测试用例覆盖率达100% 五、分析与讨论 这次试验基于上次的试验,围绕白盒测试的基本路径覆盖法测试进行测试。 重点在于对测试用例的设计,试验中借助了程序流程控制图来设计用例。 在测试覆盖率时,由于在创建一个新的SaleMachine类的对象时,如果售货机各 资源都有剩余,则不需要写 只需默认的(因为SaleMachine类中有初始化函数) 否则,测试覆盖率只有90.6%。 六、教师评语 成绩 签名: 日期: 附件: 修改后的实现代码: package test3; public class SaleMachine { private int countOfBeer, countOfOrangeJuice, countOfFiveCents, countOfOneDollar; private String[] typeOfGoods = {"Beer", "OrangeJuice"}; private String resultOfDeal; public SaleMachine() { initial(); } public void initial() { countOfBeer = 6; countOfOrangeJuice = 6; countOfFiveCents = 6; countOfOneDollar = 6; } public SaleMachine(int fiveCents, int oneDollar, int numOfBeer, int numOfOrange) //便于测试的初始化函数 { countOfFiveCents = fiveCents; countOfOneDollar = oneDollar; countOfBeer = numOfBeer; countOfOrangeJuice = numOfOrange; } public String currentState() { String state = "Current State\n" + "Beer: " + countOfBeer + "\n" + "Orange Juice: " + countOfOrangeJuice + "\n" + "5 Cents: " + countOfFiveCents + "\n" + "1 Dollar: " + countOfOneDollar; return state; } public String operation(String type, String money) //type是用户选择的产品,money是用户投币种类 { if(money.equalsIgnoreCase("5C")) //如果用户投入5角钱 { if(type.equals(typeOfGoods[0])) //如果用户选择啤酒 { if(countOfBeer>0) //如果还有啤酒 { countOfBeer--; countOfFiveCents++; resultOfDeal = "Input Information \n" + "Type: Beer; Money: 5 Cents; Change: 0\n\n" + currentState(); return resultOfDeal; } else { resultOfDeal = "Failure Information \n" + "Beer Shortage"; return resultOfDeal; } } else if (type.equals(typeOfGoods[1])) //用户选择橙汁 { if(countOfOrangeJuice > 0) { countOfOrangeJuice--; countOfFiveCents++; resultOfDeal = "Input Information \n" + "Type: OrangeJuice; Money: 5 Cents; Change: 0\n\n" + currentState(); return resultOfDeal; } else { resultOfDeal = "Failure Information \n" + "OrangeJuice Shortage"; return resultOfDeal; } } else { resultOfDeal = "Failure Information \n" + "Type Error"; return resultOfDeal; } } else if(money.equalsIgnoreCase("1D")) //如果用户投入一元钱 { if(countOfFiveCents > 0) //如果用户有零钱 { if(type.equals(typeOfGoods[0])&&countOfBeer>0)//如果用户选择啤酒而且还有啤酒 { countOfBeer--; countOfFiveCents--; countOfOneDollar++; resultOfDeal = "Input Information \n" + "Type: Beer; Money: 1 Dollar; Change: 5 Cents\n\n" + currentState(); return resultOfDeal; } else if (type.equals(typeOfGoods[1])&&countOfOrangeJuice>0)//如果用户选择橙汁而且还有橙汁 { countOfOrangeJuice --; countOfFiveCents --; countOfOneDollar ++; resultOfDeal = "Input Information \n" + "Type: OrangeJuice; Money: 1 Dollar; Change: 5 Cents\n\n" + currentState(); return resultOfDeal; } else { if(type.equals(typeOfGoods[0])&&countOfBeer<=0) { resultOfDeal = "Failure Information \n" + "Beer Shortage"; return resultOfDeal; } else if(type.equals(typeOfGoods[1])&&countOfOrangeJuice<=0) { resultOfDeal = "Failure Information \n" + "OrangeJuice Shortage"; return resultOfDeal; } else { resultOfDeal = "Failure Information \n" + "Type Error"; return resultOfDeal; } } } else { resultOfDeal = "Failure Information \n" + "Change Shortage"; return resultOfDeal; } } resultOfDeal = "Failure Information \n" + "Money Error"; return resultOfDeal; } } 测试用例代码: package test3; import junit.framework.TestCase; public class TestSaleMachine extends TestCase { public void testOperation1() //路径1:用户投币5角,选择啤酒,售货机有啤酒。 { SaleMachine saleMachine1 = new SaleMachine(); String expectedResult = "Input Information \n" + "Type: Beer; Money: 5 Cents; Change: 0\n\n" + "Current State\n" + "Beer: 5\n" + "Orange Juice: 6\n" + "5 Cents: 7\n" + "1 Dollar: 6"; assertEquals(expectedResult, saleMachine1.operation("Beer", "5C")); } public void testOperation3()//路径2:用户投币5角,选择啤酒,售货机没有啤酒剩余。 { SaleMachine saleMachine2 = new SaleMachine(6,6,0,6); String expectedResult = "Failure Information \n" + "Beer Shortage"; assertEquals(expectedResult,saleMachine2.operation("Beer", "5C")); } public void testOperation2() //路径3:用户投币5角,选择橙汁,售货机有橙汁。 { SaleMachine saleMachine3 = new SaleMachine(); String expectedResult = "Input Information \n" + "Type: OrangeJuice; Money: 5 Cents; Change: 0\n\n" + "Current State\n" + "Beer: 6\n" + "Orange Juice: 5\n" + "5 Cents: 7\n" + "1 Dollar: 6"; assertEquals(expectedResult, saleMachine3.operation("OrangeJuice", "5C")); } public void testOperation4()//路径4:用户投币5角,选择橙汁,售货机没有橙汁。 { SaleMachine saleMachine4 = new SaleMachine(6,6,6,0); String expectedResult = "Failure Information \n" + "OrangeJuice Shortage"; assertEquals(expectedResult,saleMachine4.operation("OrangeJuice", "5C")); } public void testOperation5()//路径5:用户投币5角,选择cola,售货机而资源均有 剩余 { SaleMachine saleMachine5 = new SaleMachine(); String expectedResult = "Failure Information \n" + "Type Error"; assertEquals(expectedResult,saleMachine5.operation("cola", "5C")); } public void testOperation6()//路径6:用户投入1元,选择啤酒,售货机有5角且有 啤酒 { SaleMachine saleMachine6 = new SaleMachine(); String expectedResult = "Input Information \n" + "Type: Beer; Money: 1 Dollar; Change: 5 Cents\n\n" + "Current State\n" + "Beer: 5\n" + "Orange Juice: 6\n" + "5 Cents: 5\n" + "1 Dollar: 7"; assertEquals(expectedResult, saleMachine6.operation("Beer", "1D")); } public void testOperation7() //路径7:用户投币1元,选择啤酒,售货机没有啤酒 有5角。 { SaleMachine saleMachine7 = new SaleMachine(6,6,0,6); String expectedResult = "Failure Information \n" + "Beer Shortage"; assertEquals(expectedResult, saleMachine7.operation("Beer", "1D")); } public void testOperation8()//路径8:用户投币1元,选择橙汁,售货机有橙汁且有 5角币。 { SaleMachine saleMachine8 = new SaleMachine(); String expectedResult = "Input Information \n" + "Type: OrangeJuice; Money: 1 Dollar; Change: 5 Cents\n\n" + "Current State\n" + "Beer: 6\n" + "Orange Juice: 5\n" + "5 Cents: 5\n" + "1 Dollar: 7"; assertEquals(expectedResult,saleMachine8.operation("OrangeJuice", "1D")); } public void testOperation9()//路径9:用户投币1元,选择橙汁,售货机没有橙汁有 5角 { SaleMachine saleMachine9 = new SaleMachine(6,6,6,0); String expectedResult = "Failure Information \n" + "OrangeJuice Shortage"; assertEquals(expectedResult,saleMachine9.operation("OrangeJuice", "1D")); } public void testOperation10()//路径10:用户投币1元,选择cola,售货机各资源都 有剩余 { SaleMachine saleMachine10 = new SaleMachine(); String expectedResult = "Failure Information \n" + "Type Error"; assertEquals(expectedResult,saleMachine10.operation("cola", "1D")); } public void testOperation11()//路径11:用户投币1元,选择橙汁,售货机有橙汁没 有5角 { SaleMachine saleMachine11 = new SaleMachine(0,6,6,6); String expectedResult = "Failure Information \n" + "Change Shortage"; assertEquals(expectedResult,saleMachine11.operation("OrangeJuice", "1D")); } public void testOperation12()//路径12:用户投币1元非5角非1元,选择橙汁,售货 机各资源都有剩余 { SaleMachine saleMachine12 = new SaleMachine(); String expectedResult = "Failure Information \n" + "Money Error"; assertEquals(expectedResult,saleMachine12.operation("OrangeJuice", "4C")); } }
/
本文档为【茶树精油的祛痘作用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索