版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广东第二师范学院 计算机科学系 实验报告软件工程与计算实验报告实验名称: Junit单元测试 实验分组号: 实 验 人: 陈燕珠 班 级: H13软件工程 学 号:_实验指导教师: 陈国明 实验场地: 花都校区实验楼709 实验时间: 2015、6、9 成 绩: Junit单元测试 79da3e1c50922aa56cdaccb0892ac223.pdf Page of 15实验四 Junit单元测试一、实验目的 1.掌握白盒测试方法,并按单元测试的要求设计测试用例。 2.能熟练应用junit测试工具进行单元测试。 3.进行代码覆盖检查。二、实验要求掌握系统测试的基本
2、原理,按实验内容及步骤完成操作,完成实验报告,所有实验环节均由每位学生独立完成,严禁抄袭他人实验结果。根据白盒法设计测试用例,并撰写单元测试计划书。根据每个测试用例,编写基本Junit的单元测试脚本。生成html格式的代码覆盖测试报告。三、实验环境主流PC机一套,windows操作系统eclipse开发平台。四、原理知识1. 测试基本方法黑盒测试和白盒测试(1)黑盒测试(Black_Box testing) 黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下、注重于测试软件的功能性要求,测试者在程序接口处进行测试,只检查程序功能是否按照规格说明书的规定正常使用,
3、程序是否能接收输入数据而产生正确的输出信息,并且保持数据库和文件的完整性 黑盒测试通常能发现以下几类错误:1、功能不对或遗漏2、界面错误3、数据结构或外部数据库访问错误4、性能错误5、初始化和终止错误 采用黑盒技术设计测试用例的方法1、等价类划分2、边值分析法3、因果图4、猜错5、随机测试图1:白盒测试(2)白盒测试(White_Box testing) 盒测试主要用于检查程序的内部结构、逻辑、循环和路径。 常用的白盒测试用例设计方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、符号测试法等。其中最主要的方法就是逻辑覆盖法。1、语句覆盖2、判定覆盖3、条件覆盖4、条
4、件判定覆盖5、多条件覆盖图2:黑盒测试手工测试和自动化测试(1)手工测试手工测试有其不可替代的地方,因为人具有很强的判断能力,而工具没有,所以手工测试的不可替代性体现在以下几个方面:测试用例的设计:测试人员的经验和对错误的判断能力是工具不可替代的;界面和用户体验测试:人类的审美观和心理体验是工具不可模拟的;正确性的检查:人们对是非的判断、逻辑推理能力是工具不具备的。(2)自动化测试自动化测试是把人为驱动的测试行为转化为机器执行的一种过程自动化测试技术主要有:录制/回放、脚本技术、数据驱动、关键字驱动、业务驱动等常用的自动化测试工具有:负载压力测试工具、功能测试工具、白盒/黑盒测试工具、测试管理
5、工具、测试辅助工具、GUI接口自动化测试工具。系统测试 系统测试是指将通过集成测试的软件系统或子系统,作为基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素组合在一起所进行的测试工作,目的在于通过与系统的需求定义(系统方案说明书、需求说明书等)作比较,发现软件与系统需求定义不符合或矛盾的地方。1、功能测试(Functional Testing)2、性能测试(Performance Testing)3、负载测试(Load Testing)4、强度测试(Stress Testing)5、容量测试(Volume Testing)6、安全性测试(Security Te
6、sting)7、用户界面测试 (UI Testing)8、有效性测试(Validity Testing)9、配置测试(Configuration Testing)10、故障恢复测试(Recovery Testing) 11、安装测试(Installability Testing)12、可靠性测试(Reliablity Testing)2.编写测试用例: 采用条件覆盖法设计用例,使判断中的每个条件的可能取值 测试用例的设计步骤:1、测试需求的分析2、业务流程分析3、测试用例设计4、测试用例评审5、测试用例更新完善测试用例IDabc测试用例名称abcTest测试目的过程是否正确前置条件前半夜符合什
7、么条件,后半夜的操作步骤与输入输入startHour,endHour,startMinute,endMinute预期结果程序还没开始运行,自己手工计算的结果为13.6实际结果同样的输入条件比较预期结果与运行结果,判断实验的正确性执行人陈燕珠日期 2015-6-13执行人陈燕珠表1:测试用例3.测试计划:(1) 编写源代码,并通过Junit Test Case生成测试代码,并编写测试用例代码。(2) 通过不同的测试用例,分别对源代码进行结构化测试。(3) 生成测试代码覆盖率,并对数据进行分析。 五实验内容 1、用java语言编写上述章节案例 2、设计白盒测试用例,达到分支覆盖 3、根据以上设计的
8、测试用例,编写junit测试代码,并进行测试。 4、完成测试代码覆盖分析,并生成html格式代码覆盖测试报告。测试用例IDabc测试用例名称abcTest测试目的过程是否正确前置条件前半夜符合什么条件,后半夜的操作步骤与输入输入startHour,endHour,startMinute,endMinute预期结果程序还没开始运行,自己手工计算的结果为13.6实际结果同样的输入条件比较预期结果与运行结果,判断实验的正确性执行人陈燕珠日期 2015-6-13执行人陈燕珠实验源代码:abc.javaimport java.util.Scanner;interface wagepublic doubl
9、e money(); class abcd static int startHour; static int startMinute; static int endHour; static int endMinute; double totalprice; public static int inputStartHour()int aaa=0;System.out.println(please input starthour 18-23);Scanner bbb=new Scanner(System.in);String str=bbb.nextLine();try if (str.match
10、es(18-9|20-3)System.out.println(correct); aaa=Integer.parseInt(str); return aaa;else throw new Exception(Exception);catch(Exception ex)System.out.println(please input again);inputStartHour();return aaa;/input public static int inputStartMinute()int aaa=0;System.out.println(please input startminute);
11、Scanner bbb=new Scanner(System.in);String str=bbb.nextLine();try if (str.matches(0-50-9|0-9)System.out.println(correct);aaa=Integer.parseInt(str); return aaa;else throw new Exception(Exception);catch(Exception ex)System.out.println(please input again);inputStartMinute();return aaa;/input public stat
12、ic int inputEndHour()int aaa=0;System.out.println(please input Endhour 21-23 0-4);Scanner bbb=new Scanner(System.in);String str=bbb.nextLine();try if (str.matches(21-3|0-4)System.out.println(correct);aaa=Integer.parseInt(str); return aaa;else throw new Exception(Exception);catch(Exception ex)System.
13、out.println(please input again);inputEndHour();return aaa;/input public static int inputEndMinute()int aaa=0;System.out.println(please input endminute);Scanner bbb=new Scanner(System.in);String str=bbb.nextLine();try if (str.matches(0-50-9|0-9)System.out.println(correct);aaa=Integer.parseInt(str); r
14、eturn aaa;else throw new Exception(Exception);catch(Exception ex)System.out.println(please input again);inputEndMinute();return aaa;/input class totalbefore extends abcd implements wagepublic double money()totalprice=(endHour-startHour)*3.4+(endMinute-startMinute)/60*3.4; return totalprice; class to
15、talafer extends abcd implements wage public double money()totalprice=(24-startHour-1)*3.4+(60-startMinute)/60*3.4+endHour*3.9+endMinute/60*3.9; return totalprice; public class abc public static void main(String args) abcd.startHour=abcd.inputStartHour(); abcd.endHour=abcd.inputEndHour(); abcd.startM
16、inute=abcd.inputStartMinute(); abcd.endMinute=abcd.inputEndMinute(); if (abcd.endHour0) totalafer aa=new totalafer(); aa.startHour=abcd.startHour; aa.startMinute=abcd.startMinute; aa.endHour=abcd.endHour; aa.endMinute=abcd.endMinute; System.out.println(money is +aa.money(); else if(abcd.endHour=21&a
17、bcd.endHour=23) totalbefore aa=new totalbefore(); aa.startHour=abcd.startHour; aa.startMinute=abcd.startMinute; aa.endHour=abcd.endHour; aa.endMinute=abcd.endMinute; System.out.println(money is +aa.money(); abcTest.java import junit.framework.TestCase;import junit.framework.Assert;public class abcTe
18、st extends TestCase /Testpublic void testtotalprice()double actual;double expecteds = 3.4;try abc ppp=new abc();ppp.main(null);totalbefore p=new totalbefore();/totalprice pp=new totalprice();abcd.startHour=abcd.inputStartHour(); abcd.endHour=abcd.inputEndHour(); abcd.startMinute=abcd.inputStartMinute(); abcd.endMinute=abcd.inputEndMinute(); /pp.WelcomeScreen.addCommand(pp.Into);/pp.WelcomeScreen.setCommandListener(pp);/pp.display.setCurrent(pp.WelcomeScreen);/pp.new WelcomeThread().start();p.startHour=22;p.startMinute=0;p.endHour=23;p.endMinute=0;actual = p.money();Assert.assertEquals(expec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSAE 510.2-2026电动汽车用驱动电机系统 智能运维指南 第2部分:故障诊断
- T/UNP 279-2024储氢系统气体循环试验方法
- T/GRHA 0002-2026基于循环肿瘤DNA样本的非小细胞肺癌相关基因变异高通量测序检测方法
- T/CI 753-2024中医经络微创技术
- T/CADERM 7016-2025现场医疗急救背囊功能分类与代码
- T/CSAE 303-2023汽车低压线束设计验证测试方法
- 2025~2026学年湖南湘西土家族苗族自治州龙山县思源实验学校人教版下册一年级数学阶段学情自测卷【附答案】
- 2025~2026学年甘肃平凉市某校人教版第二册期末学业水平检测六年级数学【附答案】
- 2025-2026学年黑龙江省富锦市初中数学八年级期末上册自我评估高分特训题(详细参考解析)
- Photoshop职业技能等级考证模拟试题(含详细答案解析)
- 2024-2025学年山东省聊城市东昌府区九年级(上)期中物理试卷(含答案)
- 04-家庭教育:3至12岁好习惯养成实操手册
- 2026年中国电信应届生校园招聘笔试真题(含详细答案解析)
- 电动机的正反转控制公开课
- 2027年山西大同市高职单招职业技能考试题库【有一套】附答案详解
- 人教版初中八年级上册体育教案全套
- 投资项目财务监理服务方案投标文件(技术标)
- 2024 土工合成材料 塑料土工格室
- 护理部针刺伤职业暴露应急演练脚本
- 医美连锁公司顾客满意度提升管理制度
- 2024年全国统一高考数学试卷(理科)(甲卷)
评论
0/150
提交评论