欢迎来到天天文库
浏览记录
ID:34509373
大小:467.57 KB
页数:5页
时间:2019-03-07
《测试驱动开发及开发实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据第16卷第5期2006年5月计算机技术与发展00MPl『rERTECHNOLOGYANDDEVEI』)PM匮NTVul.16NO.5Mav2006测试驱动开发及开发实践张扬,黄厚宽(北京交通大学计算机与信息技术学院,北京100044)摘要:极限编程是适应于中小型团队在需求不明确或迅速变化的情况下进行软件开发的轻量级方法学。测试驱动开发作为极限编程思想的一种主要实践,可以有效地让程序开发人员开发出更高品质的、经过完整测试的程序。文中介绍了测试驱动开发思想,对测试驱动开发过程给出了清晰的流程,总结了测试驱动开发的多种模式。最后介绍
2、了如何用JUnit进行测试驱动开发。关键词:极限编程;测试驱动开发;JUnit中图分类号:耶311.52文献标识码:A文章编号:1673—629X(2006)05—0074—03TestDrivenDevelopmentandPracticeZHANGYang,HUANGHou—kuan(ScF如olofComputerandInformationTeehnolc蝴y,BeijingJiaotongUniversity,Beijing100044,China)Abstract:Extremeprogramming(XP)isakind
3、ofleandevelopmentmethod.whichadaptstOthemediumandsmall—scalegroupwhocar—ryOilsoftwaredevelopmentinasituationthatthedemandisindeterminateOrchangingrapidly.Testdrivendevelopment(TDD)isakindofmainpracticeofaprogrm'nrningthoughtofXP.TDDcanlettheproceduredeveloperdevelopmole
4、high—qualityprogramswhichhavealreadypassedintacttest.Thearticleintroducestestdrivendevelopmentthought,andr舢endsTDDdevelopingprocedureclearly.Then,summarizesrrmnykindsofmodesofTDD.Finally,thearticlel-eoomrllendshowtocarryontestdrivendevelopmentwi山JUnit.Keywords:extremepr
5、ogramming;testdrivendevelopment;JUnit1极限编程与测试驱动开发极限编程(ExtremeProgramming,Ⅻ)是适应于中小型团队在需求不明确或迅速变化的情况下进行软件开发的轻量级方法学[1】。极限编程是一种轻量、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。它作为一种方法论有如下特点:*周期较短,在短周期内进行早期、具体和持续的反馈。*递增地进行计划编制。这种方法迅速提供一个总体计划,然后在项目的整个生命周期内不断发展。*具有针对不断变化的业务需求灵活地对功能的实现进行计划的能力。
6、*依赖于由程序员或客户编写的自动测试来监控开发进度,使得系统得以发展并及早捕获缺陷。*依赖于口头交流、测试和源代码来沟通系统的结构和意图。*依赖于在系统存在期间一直持续的进化式设计过程。收稿日期:2005一08一07作者简介:张扬(1983一),男,山西吕梁人,硕士研究生,研究方向为数据挖掘与数据仓库;黄厚宽,教授,博士生导师,研究方向为人工智能及模式识别。*对程序员的技术水平要求不高,但要求他们紧密协作。*既可满足程序员的短期本能,也满足项目的长期利益。极限编程有4个原则,分别为沟通、简单、反馈和勇气⋯2。XP旨在采用许多只能通过沟
7、通完成的实践来保持良好的沟通,如单元测试、结对编程及任务估算。XP假设不用深谋远虑,想的很深很远才开始动手。它要求今天能实现今天的设计就可,不去预先考虑解决明天或后天的事情。XP强调即时的反馈。它有两种反馈模式,分别以分钟和天的级别进行反馈;以周和月的级别进行反馈。程序员为系统中所有可能出错的逻辑编写单元测试。他们每分钟都得到有关系统状态的具体反馈。客户隔两到三周检查一次日程,查看开发团队的整体速度是否与计划相符,并随之调整计划。XP要求程序员有勇气即时地修复缺陷,即使这使原来运行通过的测试中出现了错误;如果一天快要结束,而代码依然失
8、控,XP要求程序员有勇气放弃原来的代码。总之,极限编程要求程序员快速反馈,把每个问题都看成可以用近乎荒谬的简单设计来解决,递增进行微小更改来解决问题。测试驱动开发(TestDrivenDevelopment,TDD)作为
此文档下载收益归作者所有