单元测试浅析(转载)
上一篇 /
下一篇 2007-05-06 22:54:57
/ 个人分类:测试技术
51Testing软件测试网
Nny{ESAS3k9Y
m一、单元测试用例的类型:51Testing软件测试网qY#bU`
- 需求测试用例:测试是否符合需求规范
- 设计测试用例:测试是否符合系统逻辑结构
- 代码测试用例:测试代码的逻辑结构和使用的数据
$vS~ vIm [E0需求测试用例通常是按照需求执行的功能逐条地编写输入数据和期望输出。一个好的需求用例是可以用少量的测试用例就能够覆盖所有的程序功能。
o9R:O"U:`jU4c+}051Testing软件测试网
J4Nu7i8][设计测试用例检测的是代码和设计是否完全相符。是对底层设计和基本结构上的测试。设计测试用例可以涉及到需求测试用例没有覆盖到的代码空间(例如界面的设计)。51Testing软件测试网,|)Gt
K;j%}!VF
51Testing软件测试网,wE'cA,M2~E
}代码测试用例是基于运行软件和数据结构上的。它要保证可以覆盖所有的程序分支、最小的语句和输出。51Testing软件测试网e*Jp.j~)A@
-nv)`8Ai}GOi0二、测试数据的种类:
-\T_.jK}"[ n~0- 正常数据:在测试中所用的正常数据的量是最大的,而且也是最关键的。少量的测试数据不能完全覆盖需求,但我们要从中提取出一些具有高度代表性的数据作为测试数据,以减少测试时间。
- 边缘数据:边缘测试是界于正常数据和错误数据之间的一种数据。它可以针对某一种编程语言、编程环境或特定的数据库而专门设定。例如若使用SQL Server数据库,则可把SQL Server关键字(如:';AS;Join等)设为边缘数据。其它边缘数据还有:HTML的HTML;<>等关键字以及空格、@、负数、超长字符等。边缘数据要靠测试人员的丰富经验来制定。
- 错误数据:显而易见,错误数据就是编写与程序输入规范不符的数据从而检测输入筛选、错误处理等程序的分支。
51Testing软件测试网M9Qh4y K3、单元测试代码评审的检查点51Testing软件测试网tDI RJ+i
- 代码风格和规则审核
- 程序设计和结构的审核
- 业务逻辑的审核
51Testing软件测试网2s;[
XhN'kM代码风格和规则的审核是在每个程序员完成一个模块或类的时候要进行编码规范的检查。51Testing软件测试网2gC;J,RT [;}
51Testing软件测试网&`_%@/Co+e5`4Od/d程序设计和结构的审核,对于不同的程序员所检测代码的宽度和深度也是不同的。项目经理可以根据程序员经验的不同制定被审议人员的宽度和深度。例如:年轻的程序员要审议所有代码。但有经验的就可适当减少。51Testing软件测试网$T!R+_#~!{(@#O5U
51Testing软件测试网 IKV};uucnV业务逻辑性审议必须要在代码完成后审议。业务逻辑审议实际上是审议单元模块的功能。这些功能是以系统说明为依据的。审议人员要有开发的经验并且对系统也要熟悉。审议人员通过执行程序从而了解底层代码的状态。这阶段的审议实际也包含了前两种审议,因为审议者也可以通过最后的结果检测单元模块设计和结构的准确性。
g?T\;L@051Testing软件测试网:sZ0io)B6cT4、代码的调试:
:r;y"A8`8o3p'v0t/g gVEk{!{H0代码的调试是用来保证程序能按照系统需求正常运行的一种手段。但是我所提到的这种代码调试并不是简单的调试,它要包括以下两部分:51Testing软件测试网G6lTvm!w-h
fo7H2]m!s7z1E5] G dIo0首先我们要先进行特征调试。它是通过运行程序找到代码中的错误,这与我们平时常进行的调试相同。到程序能运行后,我们可使用已编好的三种类型的用例并以正常数据测试用例进行测试,若不能正常运行则要用调试工具调试。在这阶段,我们要用大量正常数据去测试。测试后,该程序应可在绝大多数的正常数据中运行。51Testing软件测试网+]/Dj
H$f:H
51Testing软件测试网@cmD Y其次,我们要进行代码覆盖测试,一直要达到以下目标为至:51Testing软件测试网tx5Q.|}7cBs+p5L
X |1o
ea\!X8Z0我们应该通过一步步的调试去运行每个程序的所有语句和分支。如果我们想要百分之百地覆盖就应适当运用边缘数据和错误数据。测试在这个阶段的质量是难以掌握的。它基于程序员的责任心和经验。当这阶段完成后,每个程序员所测的深度也是不同的。因此,在这个测试阶段之前,项目经理(或测试工程师)应制定出测试指导和计划书。它们至少应包括以下内容:51Testing软件测试网Y-X4US3D
)Ccd)]'hJ1|r)b$s0本文只为个人查看方便,详细可查看http://www.51testing.com/?action_viewnews_itemid_7578.html
@
W+E7MKx7g1D0
收藏
举报
TAG: