Spiga

你学会测试了吗(1):推荐工具

2008-05-12 23:02 by 李永京, 6214 visits, 收藏, 编辑

前言

一个典型的软件项目中最为重要的两种测试类型,即程序员和用户的测试,称为“单元测试”和“验收测试”。在开发任何种类的企业或大型应用时都不容忽视,如果没有合适的工具作为支持,单元测试工作量非常巨大了。

测试驱动开发(Test Driven Development,TDD)技术是在添加新代码之前让你的测试代码出错的一种开发技术。在开始编写代码之前首先要写你的测试代码,然后再编写代码让你的测试通过。

这个简短的系列一一讲解一下.Net下的单元测试相关知识,希望对初学者有所帮助。此文为开篇,没有什么技术含量,先介绍一下常用的测试工具。下一篇对我们经常使用的测试语法做个概况性的理解,最后以一个实例实战一下测试技巧。

推荐测试工具

在.NET下的单元测试工具非常多了,其中微软也提供了自己的测试的Unit Test Framework,我在这里仅仅推荐一下比较实用的两种测试工具。

Visual Studio Test Edition

利用Visual Studio Test Edition,我们可以直接在Visual Studio中创建、管理、编辑和运行测试,还可以获取和存储测试结果。Visual Studio 中集成了多种测试类型(包括单元测试、Web 测试、负载测试和手动测试)。非常方便,在此推荐一下。

Unit Test Framework

NUnit

NUnit

NUnit作为xUnit家族中的.Net成员,是.NET的单元测试框架,xUnit是一套适合于多种语言的单元测试工具。它具有如下特征:

  • 提供了API,使得我们可以创建一个带有“通过/失败”结果的重复单元。
  • 包括了运行测试和表示结果所需的工具。
  • 允许多个测试作为一个组在一个批处理中运行。
  • 非常灵巧,操作简单,我们花费很少的时间即可学会并且不会给测试的程序添加额外的负担。
  • 功能可以扩展,如果希望更多的功能,可以很容易的扩展它。

官方主页:http://www.NUnit.org

TestDriven.NET

TestDriven.NET

TestDriven.NET是以插件形式集成在Visual Studio IDE中的单元测试工具,完全兼容所有.NET Framework版本,并且集成了多种单元测试框架诸如NUnit,MbUnit,以及 MS Team System 等。 TestDriven.NET的前身是NUnitAddIn。

TestDriven.NET允许开发者在Visual Studio中运行或者调试他们的测试。

TestDriven.NET现在集成以下测试工具:
NUnit (单元测试)、 MbUnitZaneBugMSTestNCover(分析代码的覆盖率)、 NCoverExplorer(查看代码覆盖率的分析结果 )、 Reflector(类库反编译)、 TypeMockdotTraceMSBee

TestDriven.NET的NUnit支持

特性:

  • 你在任何方法、类、源文件、命名空间、工程中直接单击即可运行测试。
  • TestDriven.NET是以插件形式集成,完全兼容所有.NET Framework版本。
  • 支持多种单元测试框架,像NUnit,MbUnit,以及 MS Team System。
  • 在单独的进程中运行,你随时可以停止它。
  • 可以方便的调试测试或者方法。
  • 支持所有的.NET语言 (C#, VB, C++ ,J#).
  • 支持Pseudo Categories
  • 插件丰富
  • 在新的版本中提供了对Silverlight 2 beta1的支持。

官方主页:http://www.testdriven.net/

还有一些测试工具了,像MSUnit,MSTest、 MSBee、NUnitForms等等工具了,但是现在好像没有很多人使用,我比较推荐TestDriven.NET工具。

这篇先说到这里了,下一篇对我们经常使用的测试语法做个概况性的理解。

Add your comment

32 条回复

  1. #1楼 大犇[未注册用户]2008-05-12 23:52
    不错,期待楼主的后续文章。
     回复 引用   
  2. #2楼 李涛      2008-05-12 23:58
    NUnit和MS Team System我比较喜欢。
     回复 引用 查看   
  3. #3楼 求知无傲      2008-05-13 00:32
    mark
     回复 引用 查看   
  4. #4楼 簡簡單單..      2008-05-13 02:02
    正在学习..
     回复 引用 查看   
  5. #5楼 簡簡單單..      2008-05-13 02:09
    期待更多..
     回复 引用 查看   
  6. #6楼 生鱼片      2008-05-13 06:59
    我也跟着楼主补下
     回复 引用 查看   
  7. #7楼 四胖[未注册用户]2008-05-13 08:16
    期待老师的实战文章
     回复 引用   
  8. #8楼 GuoYong.Che      2008-05-13 08:45
    挺感兴趣
     回复 引用 查看   
  9. #9楼 钢钢      2008-05-13 09:07
    不错,期待楼主的后续文章。
     回复 引用 查看   
  10. #10楼 峻祁连      2008-05-13 09:11
    re TestDriven.NET,的确不错
     回复 引用 查看   
  11. #11楼 王孟军!      2008-05-13 09:32
    可以考虑用QC
     回复 引用 查看   
  12. #12楼 ASP.NET CMS[未注册用户]2008-05-13 09:37
    学习下测试,以前还没怎么接触过
     回复 引用   
  13. #13楼 韩现龙      2008-05-13 09:48
    说实话,写了将近两年的程序,单元测试工具还真是没用过……
     回复 引用 查看   
  14. #14楼 韩现龙      2008-05-13 09:48
    哦,应该是三年,还有一年的asp 和vb :)
     回复 引用 查看   
  15. #15楼 bluesky521      2008-05-13 09:56
    mark
     回复 引用 查看   
  16. #16楼 Richard_Zhang[未注册用户]2008-05-13 09:58
    VSTS(NUnit)自带的单元测试工具有局限性,

    1. 对于网页的自动化测试效果不好,不如 ScriptWizard。
    2. 代码覆盖率不高!!很多时候还是要手动测试。
    3. 如果使用TDD流程,会导致开发的速度降低。(毕竟,在写Test Case的时候,要耗费过多的时间,按照微软的标准,UT的时间和Coding的时间等同,也就意味着项目的开发时间要翻倍)
     回复 引用   
  17. #17楼 oscarxie      2008-05-13 11:25
    TestDriven.NET还没有研究过,希望能有一些详细的介绍分享。
     回复 引用 查看   
  18. #18楼 kyo[未注册用户]2008-05-13 11:25
    Visual Studio Test Edition要方便一点
    NUnit主要是调试源码有点麻烦
    不要楼主用NUnit是怎么调试的
     回复 引用   
  19. #19楼[楼主] 李永京      2008-05-13 11:58
    @大犇
    @求知无傲
    @簡簡單單..
    @生鱼片
    @ASP.NET CMS
    @bluesky521
    下一篇就是介绍一下测试的语法~~不过明天再写了,现在正在弄别的东东
     回复 引用 查看   
  20. #20楼[楼主] 李永京      2008-05-13 12:00
    @kyo
    NUnit不是很好的支持调试功能,TestDriven.NET支持调试,而且非常好用,建议试一试~~
     回复 引用 查看   
  21. #21楼[楼主] 李永京      2008-05-13 12:02
    @Richard_Zhang
    就是,我现在用TestDriven.NET比较方便,唉,微软已经集成好的东东还是推荐一下~~
     回复 引用 查看   
  22. #22楼 zjj[未注册用户]2008-05-13 12:45
    TestDriven.NET有免费的完整版吗?,我下的试用版只有coverage一个功能
     回复 引用   
  23. #23楼[楼主] 李永京      2008-05-13 12:48
    @zjj
    你下载个人版,是免费版本~~~
     回复 引用 查看   
  24. #24楼 啊不才      2008-05-13 19:58
    期待有下文的出现
     回复 引用 查看   
  25. #25楼 aspnetx      2008-05-13 21:59
    不错,支持.
     回复 引用 查看   
  26. #26楼[楼主] 李永京      2008-05-13 23:14
    @啊不才
    @aspnetx
    谢谢支持!最近比较忙,唉~~~博客也没有更新的那么快了~~~
     回复 引用 查看   
  27. #27楼 the7thday[未注册用户]2008-05-21 22:55
    很好就是不够看,顺便问下您的图是用什么工具截的呀,蛮好看的。
     回复 引用   
  28. #28楼[楼主] 李永京      2008-05-21 23:26
    @the7thday
    全国哀悼日博客换上了灰色素装,以后来看吧,我就是用系统截图键截的,然后PS处理了一下,没有什么现成的工具。
     回复 引用 查看   
  29. #29楼 门禁[未注册用户]2008-08-12 18:48
    TestDriven.NET有免费的完整版吗?,我下的试用版只有coverage一个功能
    www.akux.cn
     回复 引用   
  30. #30楼[楼主] 李永京      2008-09-03 22:39
    @门禁
    TestDriven.NET只有个人版可以免费使用,我想个人版的功能已经够用了
     回复 引用 查看   
  31. #31楼 来彬      2009-04-16 14:04
    嘿嘿,学习一下喽@@
     回复 引用 查看   
  32. #32楼 kid1412      2009-10-28 16:41
    看完这篇了,看下一篇去也!
     回复 引用 查看   
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1194169 YqPdqZu7Zww=