- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
队列是一种在程序开发中十分常用的数据结构,在此我就以编写一个实现队列功能的类--Queue为例进行说明。该类将实现以下基本运算:? 判断队列是否为空:empty()? 插入队列(即在队列未尾增加一个数据元素):inqueue(x)? 出队列(也就是将队列首数据元素删除):outqueue()? 取列头(也就是读者队列首数据元素的值):gethead()? 清空队列(也就是将队列的所有数据元素全删除): clear()? 查询x在队列中的位置:search(x)? 测试案例分析? 在测试驱动开发实践中,第一步就是考虑测试方案,通过分析该类的功能,我们可以得到以下测试案例:? 1) 队列为空测试? TC01: 队列新建时,应为空;? TC02: 清空队列后,应为空;? TC03: 当出队列操作次数与插入队列操作次数一样时,应为空;? 2) 插入队列测试:? TC04: 插入队列操作后,新数据元素将插入在队列的未尾;? TC05: 插入队列操作后,队列将一定不为空;? 3) 出队列测试? TC06: 出队列操作后,第一个数据元素将被从队列中删除;? 4) 取队头测试? TC07: 取队头操作将获得队列中的第一个数据元素。? 5) 清空队列测试? TC08: 清空队列操作后,队列将为空队列;? 注: 此处为了讲解的方便,并未将所有的测试用例都列出,同时也选择了一些十分简单的测试用例。? 第一次迭代? 我们首先编写第一个测试代码,这一测试代码只考虑了测试案例TC01, 也就是保证新建的队列为空:?import junit.framework.*;?//每个使用JUnit编写的测试代码都应该包括本行public class testQueue extends TestCase?//创建一个测试用例,继承TestCase{protected Queue q1;public static void main (String[] args){junit.textui.TestRunner.run (suite());?//执行测试用例}?protected void setUp() //环境变量准备{?q1= new Queue();?}?public static Test suite() //通用格式,指定测试内容{?return new TestSuite(testQueue.class);?}?public void testEmpty() //以下每个方法就是一个测试{?assertTrue(q1.empty());?//当队列新建时,应为空-TC01}}? 安装JUnit十分简单,只需在中下载最新的软件包(ZIP格式), 然后将其解压缩,并且将JUnit安装目录/junit.jar 以及JUnit安装目录都加到系统环境变量CLASSPATH中去即可。? 执行套件可以像上述程序一样在main方法中使用,也可以直接在命令行调用:java junit.textui.TestRunner 测试类名(文本格式)、java junit.awtui.TestRunner 测试类名(图形格式,AWT版)、java junit.swingui.TestRunner测试类名(图形版,Swing版)。? 编译执行(即在命令行执行javac testQueue.java和javatestQueue), 你会发现屏幕上出现提示:? .E 一个小点说明执行了一个测试用例,E表示其失败? Time: 0.11 说明执行测试共花费了0.11秒? There was 1 error: 说明存在一个错误? 1) testEmpty(testQueue)java.lang.NoClassDefFoundError: Queue? at testQueue.setUp(testQueue.java:13)? at testQueue.main(testQueue.java:9)? FAILURES!!!? Tests run: 1, Failures: 0, Errors: 1? 测试没有通过是肯定的,因为Queue类都还没有写呢?怎么可能通过测试,因此,我们就编写以下代码,以使测试通过:?public class Queue extends java.util.Vector?{public Queue(){super();}public boolean empty(){return super.isEmpty();}}? 将这个类
您可能关注的文档
- 上课用游标卡尺介绍.ppt
- 第一节 第1讲化学实验基础 学生使用.ppt
- 水资源及地质环境.pdf
- 图表分析技术和EXCEL实现基础.ppt
- 灵人集团 氮气自动平衡系统安装调试说明书(安装氮气配重时,需要付说明书).pdf
- 第一章 2工程制图3.ppt
- 连接查询、存储过程、游标、触发器讲述.docx
- 10个破坏幸福习惯.doc
- 冗余控制原理概论.doc
- GSP及中药饮片的质量管理.doc
- 深度剖析2025年液冷数据中心市场增长动力与竞争格局报告.docx
- 2025年企业培训课程体系迭代优化与效果评估实证分析.docx
- 聚焦2025年,投资银行在人工智能教育行业融资中的角色扮演与业务拓展报告.docx
- 电商行业用户留存与用户生命周期管理策略报告.docx
- 铁路物流在多式联运中的能源消耗分析与低碳物流发展报告.docx
- 直播电商行业2025年虚拟场景交互设计关键要素探讨.docx
- 2025年在线医疗服务平台运营效率提升方案.docx
- 2025年新能源汽车产业投资银行融资模式创新与市场前景报告.docx
- 基于物联网的2025年城市地下综合管廊智能监测系统在地下空间开发中的应用.docx
- 跨境电商物流企业2025年网络布局与节点技术创新趋势分析报告.docx
最近下载
- 2025年台湾AI行销趋势报告(繁体版)-Kolr.docx VIP
- 湖北办公楼监控及电子围栏系统施工组织设计.doc VIP
- 围栏(施工组织设计围栏(施工组织设计).doc VIP
- 2024年台湾YouTube年度社群内容趋势报告(繁体版)-Kolr.pptx VIP
- 诺尔起重设备(中国)有限公司RTG&RMG中国福建招商局漳州开发区363105.pdf VIP
- 小区沥青道路设计做法.doc VIP
- 2025年台湾AI行销趋势报告(繁体版)-Kolr.pdf VIP
- 防雷安全知识试题及答案.doc VIP
- 智能体协议:MCP、A2A、ANP-智能体互联网的黎明之前.docx
- 国有企业收购合同协议.docx VIP
文档评论(0)