`
cdragon
  • 浏览: 79207 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

用vs2008和NUnit进行程序自测

阅读更多

“在进行单元测试之前需要弄清楚被测试代码实现的功能和相应的逻辑关系;同时还要考虑到测试的输入内容。也就是说,测试用例的设计。用例的设计要保证面面俱到,是否覆盖了每一条路径。而如何做到面面俱到这就需要测试组的成员们对每个函数进行详细的分析,将分析和讨论的结果归入相关的测试库中”

“初期工作的进度慢并不要紧,只要能做得很详细对于以后的测试还是有很大的帮助。或许以后的测试中,只要直接调用原来写过的测试类库,修改部分简单的语句就可以实现新模块的单元测试了。”

“刚开始这部分工作的时候,对于测试人员来说可能是比较困难的。补吧,练吧,做多了,自然就会写了。”

 

相信一提起测试,大部分的软件开发人员还是比较发怵的,不熟悉外加小有情绪。上面的片断,可以让我们体会一下测试的过程。以下是笔者对测试的个人理解,贴出来共勉,激励大家,激励自已,使尊重测试成为一种习惯。

 

使用测试-SOS

软件开发人员的创造性和贡献精神,铸就了IT世界的繁华和鼎盛。然而,软件工程浩大繁杂,即使小项目,如何能使创新精神蓬勃腾飞,减少软件bug或失误,应该是软件人员孜孜以求的效果。测试的哲学基础是:创新+接受规则=有效沟通。

 

软件测试应该由测试人员的外驱行为,转变为软件开发人员的自驱努力。这就是结构优美(structure gracely)、目标集中(objective focus)、用户中意(satisfied)-简称SOS-的最终产品!

 

软件测试终究来说,分为两种,即对组件的测试和对组件复合的测试。前者是我们通常命名的白盒测试,后者是黑盒测试。白盒是基准,黑盒是方法论,也就是白盒测试是必需的。白盒测试目前在OOP下,主要表现为对类的测试,包括设计定位的准确维度、开发原则规则符合维度、暴露部分的结构化维度(如接口的通用性灵活性、服务适配符合等)等。

 

测试理论的基础,在于用编程的方式实现所需要的测试方法!从而对软件或服务进行测试。难度在于用最合适的方法模式->进行少量的代码->完成大量的测试。

 

使用工具并不是我们的目的,但恰当的工具必会使我们得到实际的、持续的帮助、与我们结为一体并使我们得心应手。测试软件是这样的工具吗?

答案是肯定的。(试试吧 为什么不呢?)

 

在工具选择上,到底是用NUnit还是用MS自带的,我们需要选择下。

 

使用MS自带测试,
vs2005中仅有vsts TestEdition具有单元测试的功能,其它版本没有;vs2008中专业版既已支持单元测试。笔者试用了下,感觉不错,使用时--只要在成员的代码上右键“创建单元测试”即可(尤其是从测试文件中 “转到自定义处”去查看原始成员 的小功能,用起来很方便)。

MS自已的产品集成度会好一些,满足开发人员的测试是没有问题的。

 

 

使用NUnit测试工具,其实很简单,关键就是vs允许使用外部测试工具,添加起来很简单,解决方案资源管理器->右键->属性->调试->使用外部程序设置、在添加引用中“浏览”,选择NUnit.exe即可;在程序中,需要添加using NUnit.Framework。这样,按F5运行项目后,NUnit会自动启动,就可以进行测试。





  

NUnit在测试中的实际使用方面,有两个重要的attribute,分别是[TestFixture]和[Test],再有一个重要的类Assert(英文“断言、生效”),这个类型大概有20个方法,让你用来验证主要程序的结果是否与你期待的结果一样。(这些方法的使用会给我们调试程序带来较大的方便,其使用可参考链接,可以获得更多的了解:

http://blog.sina.com.cn/s/blog_484dc3d20100d7l0.html

http://www.360doc.com/content/06/1108/12/10846_253089.shtml

 

试试吧,很方便哦,可以让我们更好地写好代码~呵,不用写一堆MessageBox.Show来搞掂了。相信对于Agile开发,这应该是不可或缺的选项(之一)。

  • 大小: 83.1 KB
  • 大小: 44.1 KB
分享到:
评论

相关推荐

    winform 使用NUNIT进行单元测试源码

    总之,这个资源为WinForm开发者提供了一个使用NUnit进行单元测试的实际应用案例,帮助他们了解如何在传统的桌面应用中引入现代测试实践,提升代码质量和开发效率。通过深入研究并实践这个源码,开发者可以增强自己的...

    单元测试之道C#版——使用NUnit(中文版)

    本书的核心是介绍如何借助开源的NUnit框架进行高效的单元测试,同时,由于单元测试的原理和技术在很大程度上是跨语言的,因此书中讲述的内容对于使用其他编程语言和测试框架的开发者同样具有指导意义。 NUnit是.NET...

    NUnit单元测试实例

    NUnit是一个广泛使用的开源单元测试框架,主要用于.NET应用程序的测试。在C#编程环境中,NUnit为开发者提供了方便、灵活的测试工具,确保代码的质量和稳定性。本实例将深入探讨如何利用NUnit进行单元测试,以及它的...

    winform 对NUNIT测试用例进行分类源码

    本资源“winform 对NUNIT测试用例进行分类源码”正是结合了这两个工具,为WinForm应用程序提供了一种组织和管理NUnit测试用例的方法。 首先,让我们深入理解WinForm与NUnit的结合。WinForm主要是负责创建和展示用户...

    Nunit的使用说明文档

    Nunit 2.4.8是该框架的一个较早版本,但即便如此,它依然包含了丰富的功能和足够的稳定性,适合初学者入门和开发者进行测试工作。这篇使用说明文档将帮助你深入理解Nunit的核心概念、安装步骤以及如何编写和执行单元...

    单元测试之道C#版——使用Nunit pdf格式

    总而言之,《单元测试之道C#版——使用Nunit》是C#开发者掌握单元测试和NUnit框架的宝贵资源,它将帮助你建立坚实的质量保证基础,提升代码的稳定性和可靠性。通过深入学习并实践书中的知识,你将能够更好地运用TDD...

    NUnit2.6.2测试工具

    NUnit是一款用于.NET应用程序的单元测试框架,它支持多种.NET语言,如C#、VB.NET和F#等。其核心理念是通过编写可自动运行的小型测试用例来确保代码的正确性,这有助于早期发现并修复问题,降低软件开发的风险。 二...

    NUnit详细使用方法

    NUnit是一个广泛使用的开源单元测试框架,主要用于.NET应用程序的测试。它为开发者提供了一种方便、灵活的方式来验证代码的功能和正确性。这篇详尽的指南将深入探讨NUnit的使用方法,帮助你充分利用这个强大的工具。...

    .Net 开发人员必备NUnit

    5. samples 目录:这个目录下可能有示例代码或者测试用例,展示如何使用 NUnit 进行单元测试,对于初学者来说是非常有价值的参考资料。 使用 NUnit,开发人员可以创建测试类,每个类代表一个被测试的代码模块。测试...

    NUnit单元测试相关资料

    1. **测试运行器**:NUnit 提供了多种测试运行器,包括命令行工具、GUI 应用程序和集成开发环境(IDE)插件,如 Visual Studio 的 NUnit 测试探索器。 2. **测试结果**:测试运行后,NUnit 会生成测试报告,显示每个...

    NUnit离线文档

    总的来说,NUnit离线文档是一份全面且详尽的资源,对于任何使用或打算使用NUnit进行.NET应用测试的人来说,都是不可或缺的学习和参考资料。通过深入研究这份文档,你可以掌握如何有效地使用NUnit来提升代码质量,...

    NUnit3.8.1

    NUnit是一个功能丰富的测试库,它允许开发者编写可重复的、自验证的测试代码,以确保他们的应用程序在修改后仍能正常工作。它的API设计友好,易于学习和使用,支持多种测试类型,包括: 1. **断言(Assertions)**:...

    NUnit-2.4.1-net-2.0 单元检测工具

    使用NUnit进行单元测试的步骤通常包括: 1. **安装NUnit**:通常通过NuGet包管理器或者下载二进制文件添加到项目中。 2. **创建测试类**:编写包含测试方法的类,并使用`[TestFixture]`装饰器标记。 3. **编写测试...

    NUnit 代码测试讲解--软件测试

    在实际项目中,NUnit 可以与其他的工具和框架结合使用,如 Moq(模拟对象库)进行依赖注入的测试,或者使用 FluentAssertions 提供更优雅的断言方式。此外,持续集成服务器如 Jenkins 或 Azure DevOps 可以配置为...

    nunit.framework

    NUnit 是一个流行的开源测试框架,广泛用于.NET应用程序的单元测试。它的核心组件就是"NUnit.framework",这个库为开发者提供了编写和执行测试用例所需的功能。本文将深入探讨NUnit框架及其在.NET开发中的重要性。 ...

Global site tag (gtag.js) - Google Analytics