• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用测试驱动

发布: 2009-5-21 09:43 | 作者: 不详 | 来源: 测试时代采编 | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网 这篇记录了一些我使用测试驱动的一些感想。
        因为正好要实现一个网络通讯录,这是个不大的项目,就拿来练手了。
        记得以前刚开始写程序时,要在里面添加一个功能时,都是在主程序里直接添加,对小程序来讲这是最快的方法,但随着项目越来越大。写一个小功能都要在主程序上运行好些遍,当碰到有登陆框时更是麻烦,就是采用让启动自动化,速度还是很慢。后来就干脆分离出来做,将小功能的接口都想好,另建一个工程。这样对实现低耦合也很有好处,因为引用不到外部的数据,只能以建立接口的方式。但是还是遇到了麻烦,每个小功能都建立一个工程来做,显然很难管理,特别是当要做个普通的类实现一个小功能时。这个方法我想更适合项目中一些功能相对比较独立的模块的。因此我的代码测试这块做的并不是很细,直到后来发现了X-UNIT
        原来测试可以做到这么细的,并且是全自动的~~在将功能分了一个个类后,对一些主要的类都写一个继承于TTestCase的类,加入测试工程,具体可参考X-UNIT的Demo,网上也有很多这方面的教程。
        比如我要写个TPersons类,实现人员的添加、删除、查找、选择分组等等功能;分别为Add,Del,Find,PersonsOfGroup等等方法。现在我们可以先写测试类        TPersonsTest,里面有TestAdd,TestDel,TestFind,TestPersonOfGroup等方法,分别用来测试TPersons类的方法。像TestDel我是这样(DELPHI语言):
  TestAdd;//添加一个记录
  try
    FPersons.Del(0);//测试删除
  except
    Check(false,'Del error');
  end;
  Check(FPersons.Count = 0,'Del Failed');//删除是否成功
 
        接下来我们再编写Tpersons.del的具体实现。这个在XP中叫测试驱动,很Cool的名字吧:)
        然后我们运行时测试工程会自动调用,显示错误的地方,或测试不通过的地方。像调用FPersons.Del(0)后,FPersons.Count还为1时就显示'Del Failed'。根据不同的被测试类要考虑不同的情况,模拟各种输入值等等。
        最后所有测试都通过,一片绿色~~~心里特安心!
        初看在写个类时都编写测试用例的方式感觉浪费时间,先不说调查数据和XP开发上说的各种好处。起码我自己觉的我的代码都是能稳定工作。特别是代码行越来越多时,每次大的修改后,心里感觉都不塌实,怕哪里有遗漏。但使用测试驱动方式,只要测试写的好,每次修改,运行测试,只要看她的红绿灯就OK了。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 驱动


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网