为什么需要单元测试
上一篇 /
下一篇 2012-03-31 09:35:14
/ 个人分类:杂谈
软件开发的标准过程包括以下几个阶段:『需求分析阶段』→『设计阶段』→『实现阶段』→『
测试阶段』→『发布』。其中测试阶段通过人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。测试过程按4个步骤进行,即
单元测试、集成测试、
系统测试及发版测试。其中
功能测试主要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件功能是否完全、正确。系统测试主要对已经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。单元测试、集成测试由开发人员进行,是我们关注的重点,下文对两者进行详细说明。
0zS4_:gn0 单元测试
7s*O(R2L7NwSI(X09U!AYy1QYBz#DP4V2d0 单元测试是开发者编写的一小段代码,用于检验目标代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试用于判断某个特定条件或特定场景下某个特定函数的行为。例如,用户可能把一个很大的值放入一个有序List中,然后确认该值出现在List 的尾部。或者,用户可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。51Testing软件测试网8K:]'^u];ktD
N
RT]t0 单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。51Testing软件测试网m8U_3`Yg
G
p4b0@y+fx0 在一般情况下,一个功能模块往往会调用其他功能模块完成某项功能,如业务层的业务类可能会调用多个DAO完成某项业务。对某个功能模块进行单元测试时,我们希望屏蔽对外在功能模块的依赖,以便将焦点放在目标功能模块的测试上。这时模拟对象将是最有力的工具,它根据外在模块的接口模拟特定操作行为,这样单元测试就可以在假设关联模块正确工作的情况下验证本模块逻辑的正确性了。51Testing软件测试网0mK){)uqg5nn
'A#x0d1`~9O,m1S5b0 集成测试