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

2013-12-12 09:29:42 电力信息化  点击量: 评论 (0)
摘要:电力系统的重组和用电量的不断增加,导致电力信息系统的升级需求的频繁。TDD模式日益受到软件开发人员的重视,本文论述了一种将TDD模式应用于电力软件开发的思想,有效解决了开发过程中稳定性和灵活性的问
         this. totalEquipment= totalEquipment;
}
public void addEquipment(int equipmentNumber){
}
public void reduceEquipment(int equipmentNumber){
}
public int getTotalEquipment (){
       return 0;
}
}
现在编译通过,但是测试没有通过,这就是红灯。为了让测试通过,修改getTotalEquipment ()方法如下:
public int getTotalEquipment (){
       return 2030;
}
重新编译并运行测试,通过,这就是绿灯。现在来看一下我们的代码,其中getTotalEquipment ()方法中的2030和assertEquals()方法中的2030重复,必须进行重构。同理,如果把getTotalEquipment ()方法中的2030改成2000+50-20也引入了重复。
所以我们在addEquipment (int)方法中增加累加语句:
public void addEquipment (int equipmentNumber){
     totalEquipment += equipmentNumber;
}
在reduceEquipment(int)方法中增加减去语句:
public void reduceEquipment (int equipmentNumber){
     totalEquipment -= equipmentNumber;
}
最后在getTotalEquipment ()方法中取得设备总数变量:
public int getTotalEquipment (){
     return totalEquipment;
}
编译,运行测试,通过。如果想利用Ant自动运行Junit测试,只需在Ant的build.xml中增加如下target(其中<test>指定的是我们要运行的测试类):
<target name="runjunit">
  <junit printsummary="yes" fork="yes" haltonfailure="yes">
  <formatter type="plain" />
  <test name="junittest. testEquipment"/>
  </junit>
</target>
通过以上实例的描述我们可以看到,测试的编写是由程序员自己完成的,在代码还在脑海中清晰可见的时候,对测试进行操作。而代码是基于测试编写的,这样就保证了代码的可测试性,有助于确保测试覆盖的完备性以及代码与测试的一致性。所有的测试都是以完全相同的方式运行。这样,如果在测试阶段引入bug的话,测试集就能立刻发现并查明其位置。测试——调试周期就会被控制在相当短的时间内。当系统发布时,详尽的测试集与其一同发布,从而使得将来程序员的修改和扩展更容易。
采用TDD方式,测试本身有助于对系统的描述,使我们的设计更加简单。而且由于测试的存在,开发从始至终都是健壮的,这对所有项目的干系人都有益,特别是程序员本身,他们会经常定期的得到正反馈,保证他们有信心和勇气进行下一步的工作。
 
4、 结束语
 
TDD是一种极具潜力的软件工程方法,虽然其中的许多理论都沿用已有的方法,但是很少有人把它们向TDD这种方式组织起来。目前,我们已经把这种方法应用到电力信息系统的开发
大云网官方微信售电那点事儿

责任编辑:和硕涵

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞