测试是包含以下行为的集合:
1.对独立的软件组件执行测试(即单元测试,Unit Testing),以确保其行为与组件设计规格说明中的定义足够接近。
2.对执行过单元测试的组件集合执行测试(即集成测试,Integration Testing),以确保这些组件一起工作时的行为足够接近设计规格说明中的定义。
3.对集成测试过的所有组件进行测试(即软件系统级测试,Software Systems-level Testing),以确保它们可以作为一个系统来运行,且行为足够接近软件需求规格说明中的定义。
4.制订软件系统级测试的测试计划。
5.制订软件集成测试的测试计划。
6.制订单元测试的测试计划。
7.建立测试装置(test harness)和测试环境(test environment)
(
测试范围从小到大,其中建立测试条件也是测试的一部分。
)
原则117 测试不正确的输入
举个简单的例子,假设我们要写一个程序来为0到100范围内的整数列表排序。测试的列表应该包含:一些负数、全部相等的数字、一些非整型的数字、一些字符数据、一些空的记录,等等。
(
可发i也需要考虑这些问题,自己写的代码,不能依赖其他模块,比如Server。
)
原则125 分析错误的原因
当一个错误被发现时,有两件事要做:(1)分析它的原因,(2)修复它。
(
这里说的原因我想说的是“根本原因”,当这个地方空指针崩了,往往做下判空就return了。这是一种偷懒的办法,可能不会出问题。当这个地方预期“不为null”,我们的简单的判断return,不去追之前的代码,不去分析运行时序,只会让项目代码越来越难以维护。
)
1.对独立的软件组件执行测试(即单元测试,Unit Testing),以确保其行为与组件设计规格说明中的定义足够接近。
2.对执行过单元测试的组件集合执行测试(即集成测试,Integration Testing),以确保这些组件一起工作时的行为足够接近设计规格说明中的定义。
3.对集成测试过的所有组件进行测试(即软件系统级测试,Software Systems-level Testing),以确保它们可以作为一个系统来运行,且行为足够接近软件需求规格说明中的定义。
4.制订软件系统级测试的测试计划。
5.制订软件集成测试的测试计划。
6.制订单元测试的测试计划。
7.建立测试装置(test harness)和测试环境(test environment)
(
测试范围从小到大,其中建立测试条件也是测试的一部分。
)
原则117 测试不正确的输入
举个简单的例子,假设我们要写一个程序来为0到100范围内的整数列表排序。测试的列表应该包含:一些负数、全部相等的数字、一些非整型的数字、一些字符数据、一些空的记录,等等。
(
可发i也需要考虑这些问题,自己写的代码,不能依赖其他模块,比如Server。
)
原则125 分析错误的原因
当一个错误被发现时,有两件事要做:(1)分析它的原因,(2)修复它。
(
这里说的原因我想说的是“根本原因”,当这个地方空指针崩了,往往做下判空就return了。这是一种偷懒的办法,可能不会出问题。当这个地方预期“不为null”,我们的简单的判断return,不去追之前的代码,不去分析运行时序,只会让项目代码越来越难以维护。
)