测试驱动开发在电力信息系统中的应用

测试驱动开发在电力信息系统中的应用

ID:13953723

大小:104.50 KB

页数:6页

时间:2018-07-25

测试驱动开发在电力信息系统中的应用_第1页
测试驱动开发在电力信息系统中的应用_第2页
测试驱动开发在电力信息系统中的应用_第3页
测试驱动开发在电力信息系统中的应用_第4页
测试驱动开发在电力信息系统中的应用_第5页
资源描述:

《测试驱动开发在电力信息系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、测试驱动开发在电力信息系统中的应用郑义,王默玉(华北电力大学计算机科学与技术系,北京102206)Test-DrivenDevelopmentanditsApplicationinElectricPowerInformationSystemZhengYi,WangMoyu(Dept.ofComputerScienceandTechnology,NorthChinaElectricPowerUniversity,Beijing102206,China)摘要:电力系统的重组和用电量的不断增加,导致电力信息系统的升级需求的频繁。TDD模式日益受到软件开发人员的重视,本文论述了一种将T

2、DD模式应用于电力软件开发的思想,有效解决了开发过程中稳定性和灵活性的问题。Abstract:Thereformofelectricpowercorporationandtheincreasingneedofelectricitymadeitpossibletorealizeanaideddesignforelectricpowerinformationsystem.TDDhascalledattentionfrombunchesofsoftwaredevelopers.Inthispaper,TDDisintegratedintoelectricpowerinformatio

3、nsystemexploitation.Theproblemconcerningthestabilityandflexibilityisthereforeeffectivelysolved.1、引言测试驱动开发(Test-DrivenDevelopment,TDD)是一种开发方式,是由KentBeck提出的极限编程(eXtremeProgramming,XP)的核心部分。TDD能最大限度的提高软件开发的速度,同时保证了软件的质量,并大大减少了运行期间的维护工作量。TDD讲究测试先行,先编写测试,然后再编写让这些测试通过的代码。在编写代码的时候,有可能会出现代码结构不合理的地方,

4、如重复代码,类之间通讯不当,类的尺寸过长,过分短小的类,方法过长,类之间关联太复杂等,需要对这些不合理的地方重构,重构的方法有提取类,提取接口,提取方法等。TDD开发过程如图1所示。TDD开发过程可比做交通灯,我们首先根据需求分析编写一个测试,这时候被测试的类和方法还没有定义,编译器会报告错误,这就是我们的黄灯;当定义了被测试的类和方法之后,还没有定义其内容的时候,编译器不会报错,但是测试通不过,这就是红灯;然后我们定义类和方法的内容,直到测试通过,这就是我们的绿灯。最后,我们需要消除我们在使测试通过的时候引入的一些结构不合理的代码。在此过程中,每完成一次小的修改之后都重新编译

5、并运行测试,这样做怎么强调都不为过。因为在每次小的改动之后,测试通过,可以给我们信心和保证。让我们有勇气继续下一步的工作,每次一小步一小步的推进。在任何时候如果测试失败了,我们都会准确的知道就是最近的一次修改导致了测试的失败。撤消这次修改,测试会再次通过。我们就可以重新尝试修改。通过这种反复的迭代,我们的代码会越来越漂亮。在开发过程中,我们使用程序员测试,它和我们经常提到的单元测试非常类似,但是它们的目的不同,单元测试的目的是为了测试你编写的代码能否工作,而程序员测试是为了定义代码的含义。TDD的基本原则就是在没有测试之前,不要编写任何代码,也就是说,当我们的代码编写完成之前,

6、我们相应的测试已经存在了,这样就保证了一套详尽的程序员测试集。在编写测试的时候,不要一次把所有的测试全部写完,而是要先编写少量的测试,再根据测试的需要编写代码,待测试通过,代码结构合理后,继续编写下一个测试和相应的代码,做到步步为营。1、测试驱动开发中需要的工具2.1测试工具测试工具在TDD中用来编写测试用例,通过执行测试用例,检查我们的代码是否可行。这里就应用于Java的JUnit框架加以说明。在JUnit中,我们经常使用的有TestCase,TestSuite和Assert。TestCase类是大家在编写自己的测试时要扩展的主要的类。它是最简单的Test类型,也是最常用的。

7、要编写一个TestCase,首先,编写你所期望的测试结果的断言(assertion);其次,编写要想取得前述结果所需的代码;然后,设定前置条件,通过setUp()来隐含完成,setUp()会在测试开始之前自动执行;最后,回收系统不能自动回收的资源,通过tearDown()来隐含完成,tearDown()会在测试结束之后自动执行。TestSuite类的目的就是把各种Test(测试)集中起来,包括TestCase、其他的TestSuite以及这二者的任意组合。Assert类是TestCase的超

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。