Unit Test : rules,design and strategy

原创 2005年04月28日 11:10:00
 

前段时间在做一个C++写的DLL(这个DLL中又调用了C写的驱动)Unit Test,我使用C#来调用里面的API,为了做这个Unit Test,先是根据需求规格说明,设计和其源码设计了多个测试用例,又设计了多个辅助类(包括调用接口,为此还修改了多次C++的代码)来进行每步测试的验证检查,Unit Test的代码也写了快800行经过反复的测试,终于完成了.

想起在大学的时候,在公司做项目(VB,VC),写好一个组件都要先写个测试程序来测试一番,保证其没有问题,可是实际工作中对Unit Test一直不太重视.最近做这个比较复杂的Unit Test后感觉颇有收获.下面是我搜索到的一些关于Unit Test的Link:

Six Rules of Unit Test

单元测试的六条准则(我粗略翻译了一下):

1.      首先写测试程序

这是XP的格言.先编写测试程序,在有足够的应用程序代码后,使得测试程序能编译通过;然后开始运行测试程序去证明它运行失败,接着继续编写应用程序代码,直到测试程序能正确运行.这个时候,你可以开始写其它的测试程序了.

2.      决不指望编写第一次就能运行成功的测试程序.

在编写好测试程序后,立刻运行之,自然运行失败科学的本质就是弄虚作假.的能力.写一个一开始就能运行成功的测试程序证明不了任何事情.

3.      从零开始,或者一个根本不能工作的用例.

4.      在做测试用例时,别嫌弃做那些琐碎的工作.

5.      松散偶合而且易测试.

为应用程序写高内聚低偶合的组件,这样在测试中就可以这个仿真组件来测试它和其它组件交互的每条路径.而且,在你写了一部份应用的代码后,可以对其进行彻底的测试.

6.      使用仿真对象.

就是仿真特定类型的对象,但实际上是一个接收器,纪录下来那些被调用的方法.

Code Project上也有文章论述Unit Test:

Writing Your First Unit Test - Design and Strategy

Advanced Unit Test, Part V - Unit Test Patterns - Design and Strategy

Test Strategy VS Test Plan

a.Test strategy is master testplan.It will talk about the Budget,Timelines,objective.b.What is the t...
  • Kevin_Lee08
  • Kevin_Lee08
  • 2011年06月07日 13:36
  • 1028

erro: "Instantiation of '***' failed. The design unit was not found"

在FPGA的设计中,经常会遇到此类问题,如题目所示--"erro: Instantiation of '***' failed. The design unit was not found",之前在Q...
  • jack2010666
  • jack2010666
  • 2013年07月11日 20:37
  • 6095

Design to Unit Test

导读:   More often than not, enterprisecode is badly unit tested or worse, not unit tested. While the...
  • gufamous
  • gufamous
  • 2007年11月30日 21:44
  • 298

UNIT TEST

1.在编写单元测试代码的时候,要注意如下几个方法(非常重要,以下都是以JUnit4为例): (1)测试方法上必须使用@Test进行修饰; (2)测试方法必须使用public void进行修饰,并且...
  • weixin_35854729
  • weixin_35854729
  • 2016年09月08日 16:41
  • 417

设计模式 - 策略模式(Strategy Pattern) 详解

策略模式(Strategy Pattern) 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26577879 本文版...
  • u012515223
  • u012515223
  • 2014年05月22日 13:31
  • 2918

单元测试 Unit Test Generator

一般vs2010后的都已经集成了对应的单元测试工具Unit Test Generator,如果没有就可以去“扩展和更新”上下载 1 打开  工具--自定义 2 ...
  • xlegendx
  • xlegendx
  • 2017年02月10日 10:22
  • 561

C# Unit Test 备注

1. UT工程的编译一定要让依赖的dll在同一目录,即和测试目标dll运行的环境一样。 比如 Demo—UT测试Demo工程, 则Demo工程依赖的所有dll必须和Demo输出的可执行环境Demo.d...
  • muzizongheng
  • muzizongheng
  • 2013年07月10日 15:41
  • 1476

iOS下的unit test——OCUnit

OCUnit是Xcode4.x的时候集成的测试框架。OCUnit中的测试分为两类,一类是Logic Tests,另一类是Application Tests。       Logic Tests更倾向于...
  • sakulafly
  • sakulafly
  • 2013年10月25日 23:16
  • 12045

将基于Spring的UnitTest集成到Maven中

在进行persistence layer的开发时,我们总是要写写UnitTest来验证我们提供给上一层的API是经过验证了的。通常我们需要单独的为UnitTest编写一份独立的Spring App...
  • changmingxie
  • changmingxie
  • 2013年04月06日 15:50
  • 873

为什么要有Unit Test

为什么需要写Unit Test? 我刚开始工作的时候,每次测试自己的代码,都是从main函数开始。要测哪些代码就在main函数中写上调用代码的逻辑。有时甚至为了测一个小功能,把整个大的逻辑都要测。对我...
  • chaoyue1216
  • chaoyue1216
  • 2015年03月25日 15:42
  • 1227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unit Test : rules,design and strategy
举报原因:
原因补充:

(最多只允许输入30个字)