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

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

软件工程师必知的12个单元测试技巧[2]

发布: 2010-3-08 10:43 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 97次 | 进入软件测试论坛讨论

领测软件测试网

  软件工程师必知的12个单元测试技巧[2]   单元测试代码

  模拟对象实现了特定的接口,但是返回预先定义好的结果。举个例子来说,你可以为Amazon S3创建一个模拟对象,它只从你的本地硬盘中读取预先设置好的数据,而不去使用真实服务数据。

  在对具有很多构件的复杂系统进行测试的时候,模拟对象是非常有用的。在JavaScript中有几个框架可以非常方便的创建模拟对象,其中最出名的是JMock。

  7、代码重构时也对测试代码进行重构

  你只有对测试工作真正投入,它才会发挥更大的作用。你不仅仅要编写测试,你还需要确保它们及时更新。当为一个组件增加一个新方法时,你需要同时增加一个或更多的相应测试。同样,如果你要删除无用代码的话,也要删除已经不再有用的测试。

  在进行大量重构工作的时候单元测试尤其有用。利用重构可以大大提高我们的编程效率,不过对代码完成了重构后,别忘了也对测试进行相应的修改,并要重新运行一下所有相关测试,以确保在进行程序改动的时候没有出现错误。

  8、针对发现的程序漏洞编写测试

  在减少漏洞方面,单元测试是一个非常有用的武器。当你发现了代码中的问题后,在对其进行修复以前,先编写一个测试来让这个问题可以在测试的时候暴露出来。这样,如果这个问题在其它地方重新出现的话,你就可以在测试的时候轻松发现它们。

  这是一个非常有用的经验,因为你不可能总是马上就编写出能发现所有问题的测试代码。当你增加了针对某种漏洞的测试后,实际上你的测试代码距离完美又靠近了一步。软件测试

  9、使用单元测试来确保性能

  除了确保代码的正确性之外,单元测试还可以帮助我们确保代码的性能不会随时间而下降。在很多系统中存在这个问题,随着系统开发工作的继续进行,被加入了越来越多的代码,会变得越来越慢。

  要想编写性能测试,你需要在你的测试基类中增加start和stop功能函数。在单元测试阶段就开始考虑性能测试是非常必要的,这样在代码发生改变或者对代码进行了优化时就能看出这些改变是否会影响到性能,能尽早的发现代码变更对性能的影响。

  一个系统的性能如果拆分来看,可以看成若干单元性能的一个有机结合,单元的性能势必也会对整个系统的性能产生影响,所以尽早考虑性能测试是很必要的,当然这需要很好的分析和设计了。

  10、为并发代码创建测试

  并发代码通常不容易控制,通常是许多漏洞的源头。因此对它们进行单元测试是非常重要的。实现方法是使用一个休眠和锁定机制。如果你需要等待一个特定的系统状态,你可以在你的测试中 使用休眠调用功能。

  尽管这并不是一个完全正确的解决办法,但是在很多情况下它已经够用了。

  如果要在一个更加复杂的场景中模拟并发性,你需要围绕你测试的对象进行锁的传递。这样你可以模拟并发系统,不过它是线性的。

  11、连续运行测试

  软件测试的要点就是多多运行它们。尤其在大型开发团队中,常常有数十个开发者共同修改同一个程序,这种情况进行连续的单元测试是非常重要的。

  你可以每隔几个小时运行一次测试,也可以每次当有代码加入的时候运行测试,或者每天运行一次测试。根据自己的实际情况决定哪一种方法最适合你的项目,然后让测试自动连续运行。

  12、享受测试的乐趣

  这可能是软件测试中最重要的技巧。当我第一次发现单元测试的时候,我怀疑它简直就是一件多此一举的事情。但是我还是尝试着接受了它,因为我信赖的一些优秀程序员告诉我它非常有用。

  技术大师Martin Fowler曾表示,单元测试能够使你更快地完成工作。无数次的实践已经证明这一点。你的时间越是紧张,就越是要写单元测试,它看上去慢,但实际上能够帮助你更快、更舒服地达到目标。

  单元测试可以让你的大脑处于一种完全不同于编程时的状态。为一个指定的构件设计一个简单又正确的测试代码是一件非常有意思的事情。

  一旦你开始编写测试,你会发现你已经离不开它。为了让测试变得更有趣,你可以与别人进行结对编程(pair programming)。无论你是与同伴一起编写测试,还是互相为对方编写测试,都可以体验到其中的乐趣。最终你将会非常高兴的认为你的系统可以真正运行,因为它通过了你的测试。

延伸阅读

文章来源于领测软件测试网 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认证国际软件测试工程师认证领测软件测试网