类测试和Junit基础
参考资料:<<软件测试与Junit实践>> 王东刚编著
以下是学习类测试所关心的问题,和看书做笔记摘录的对这些问题简要的解答。
什么是类测试?类测试中最大的问题是? 什么是测试驱动?什么是测试用例?什么是测试描述? 是否每个类都需要进行单独的单元测试? 怎样构造类测试驱动? 如何命名测试用例? 测试用例如何分类? Junit是什么?Junt的测试框架结构? |
这篇文章没有涉及的问题:
Junit使用?
Junit如何扩展?
Junit最新版本4.0有什么变化?
针对类的测试
一个测试驱动(TestDriver)可以由1~~n个测试用例(TestCase)聚合而成,一个测试用例(TestCase)又有1~n个测试描述(Test)组合而成,这就是类测试的组合框架。
(Junit就是这样一个优秀的单元级测试框架)
PS:类测试就是一个或多个优良的测试驱动(外在形式)。
在类测试中,确定类测试用例和类测试驱动程序是非常困难的,在某些情况下,构建某个类的测试驱动程序所耗损的工作时间是创建这个类的好几倍,所以在类测试中需要引入测试评估机制,以保证测试价值最高。
PS:类测试中最大的问题就是如何有效地确定测试用例和确实测试驱动程序。
是否每个类都需要进行单独的单元测试?
是否每个类都需要进行单独的单元测试,还是绑定多个类进行集成测试,这些都取决于类的测试价值。评估每个类的测试价值,可以使用3个评估要素:
类在系统中的层次。(类越靠上,那么它的测试价值越高,下图中Class_A最高)
类本身复杂度和与外体间的交互复杂程度
开发该类的测试程序所需的成本(时间,人力,其他资源)。
怎样构造类测试驱动?
类测试驱动器是运行一个或者多个测试用例的可执行程序,编写类测试驱动有三种方法,分别是调用Main方法,嵌入静态测试方法和实现独立测试类。
如何命名测试用例?
根据用例方法命名测试用例
测试用例名称 = test +用例方法名称.(Junit4.0以前也是这么命名的)
测试用例简单分类?
Junit 真正会用Junit的人是那些千方百计扩展Junit功能的人.
Junit单元级测试的好处: l 可以使测试代码与产品代码分开。 l 针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试。 l 易于集成到测试人员的构建过程中,Junit和Ant的集合可以实施增量开发。 l Junit是公开源代码的,可以进行二次方法。 l 可以方便地对Junit进行扩展。 Junit只是一个优秀的单元级测试框架,更严格的说法是Junit是用于单元级测试的开发式框架,包含以下特征: l 使用断言方法判断期望值和实际值差异,返回Boolean值 l 测试驱动设备使用共同的初始化变量或者实例 l 测试包结构便于组织和集成运行。 l 支持图型交互模式和文本交互模式。
可以扩展Junit以用于其他测试:例如功能测试,性能测试,压强测试等。
|