第四章 测试工程
4.4 测试的前期准备
? 软件测试工程的作业过程可分为 测试设
计 (包括制定测试计划、确定测试方法
等)和 实施测试 两大步骤。
4.4.1测试规划与测试设计
? 对大规模开发系统一般不采用一次性整
体测试,而是从局部依次扩大到整体的
测试,按计划,有步骤地实施测试。一
般从项目需求定义开始,概要设计、详
细设计、程序编码的各个开发阶段,要
进行测试设计,作成测试计划书,还包
括测试作业完成后移植运行作业的计划。
4.4.1测试规划与测试设计
? 表 4.3各开发阶段的测试规划和设计评审
验证内容
4.4.1测试规划与测试设计
? 测试计划书一般包括如下的一些的内容:
( 1)测试工程概要、测试场所、测试方针
( 2)测试日程和实施体制
4.4.1测试规划与测试设计
( 3)测试管理方法
·测试工具
·测试环境
·测试检测清单
·验证方法
·版本管理方法
·进度管理方法
·问题管理方法
·回归测试方法
·设计变更管理方法
4.4.1测试规划与测试设计
( 4)针对各阶段的测试应明确的事项
·阶段测试的目的和范围
·阶段测试开始和测试终止的基准
·阶段测试检测清单
·阶段测试实施日程和实施体制
·阶段测试的验收基准和方法
4.4.2 了解系统错误、缺陷的影响度
? 信息系统的测试很难实现在与实际运行
环境(数据、使用者、硬件、时间、网
络、系统负荷等)完全一致的条件下进
行的测试。
? 在做测试计划和测试设计时,充分理解
软件的错误、缺陷对用户将会造成什么
样的影响是很重要的。
4.4.2 了解系统错误、缺陷的影响度
? 软件中即使是很微小的错误,有可能会
给用户造成重大的损害和影响。
4.4.2 了解系统错误、缺陷的影响度
? 下图是系统缺陷对一个生产型企业的各
个方面所产生的影响
业务
混乱
系统缺

丧失顾
客信任
经济损

不可能
恢复的
数据
业务停

不能回答用户的咨

送货发生错误
交付期延迟
不能处理用户订货
断货
业务状况不明
不能检索信息
不能进行业务指示
产品报废
业务效率降低
发生手工作业
发生返工
用户信息
产品信息
设计信息
销售信息
生产信息
4.4.3利用各种测试支持工具
? 测试工具:
⑴ 作为定型测试,反复实施测试作业的支持工具;
⑵ 确定测试分支、生成测试数据的支持工具;
⑶ 验证测试的覆盖率,提高测试效率的工具;
⑷ 性能测试的支持工具;
⑸ 管理与测试相关连项目的支持工具;
⑹ 变更管理、版本管理的支持工具;
⑺ 检测错误作业的支持工具。
4.4.3利用各种测试支持工具
? 表 4.4 部分常用的测试支持工具
常用测试工具
? Mercury Interactive
? WinRunner-----功能:
1.插入检查点;
2.检验数据;
3.增强测试;
4.分析结果;
5.维护测试;、
6,为无线应用作准备。
? 范围:功能测试、生成测试用例、分析测试结果、
维护测试用例、回归测试。
常用测试工具
? LoadRunner-----功能:
1.松创建虚拟用户;
2.创建真实的负载;
3.定位性能问题;
4.分析结果以精确定位问题所在;
5.重复测试保证系统发布的高性能;
6.Enterprise Java Beans的测试;
7.支持无线应用协议;
8.支持 Media Stream应用;
9.完整的企业应用环境的支持。
? 范围:性能测试、压力测试、模拟多用户、定位性能瓶颈
常用测试工具
? TestDirector------功能:
1.需求管理 ;
2,计划测试 ;
3,安排和执行测试 ;
4,缺陷管理 ;
5,图形化和报表输出 ;
? 范围:测试管理工具
常用测试工具
? Rational系列
? Rational Purify (测试时用,检查运行时内
存错误) ;
? Rational Quantify(性能检测工具,查出系
统瓶颈以便改进运行速度) ;
? Rational TestManager (测试管理) ;
4.4.4 测试检测清单与测试数据
? 根据测试计划,按各个测试阶段的目的
准备实施测试使用的检测清单和测试使
用的数据。
4.4.4 测试检测清单与测试数据
? 如单元(模块)测试阶段的程序检测清
单称为 PCL,组合测试阶段的检测清单称
为 CCL,系统测试阶段的检测清单称为
SCL。
4.4.4 测试检测清单与测试数据
? 在测试中需要验证的项目及其判别、制
约条件必须全部记入 检测清单 。
4.4.4 测试检测清单与测试数据
? 例如单元测试的程序检测清单 PCL要明确
以下几个方面内容:
⑴ 窗体显示的输入、输出项目及判别条件;
⑵ 输出表格印刷输出项目及判别条件;
⑶ 数据库 /文件输入、输出项目及判别条
件;
⑷ 程序间传递的数据、信息及判别条件。
4.4.4 测试检测清单与测试数据
? 作成检测清单应遵循如下的原则:
⑴ 具体性,判别条件和确认内容必须是在
测试结果中可确认的;
⑵ 完整性,检测内容必须是包含设计书中
的所有项目、功能;
⑶ 有一定的密度,检测点占测试对象的一
定比例。
4.4.4 测试检测清单与测试数据
⑷ 有一定的 分布率,如 PCL对正常、异常、临界
处理及模块间接口数据、信息传输的检测一般
按如下比率分配:
① 检测正常分支的 PCL条数约占 70%;
② 检测异常分支的 PCL条数约占 10%;
③ 检测边界、临界项目的 PCL条数约占 15%;
④ 检测关联模块间传递、接口项目的 PCL条数约
占 5%。
4.4.4 测试检测清单与测试数据
? 测试检测清单针对各种各样的测试分支,
须明确测试的 前提条件、应确认的内容,
明确在何种条件下应有什么样的测试结
果 。
? 每个测试分支都有 编号,以便于实施测
试时记录测试结果。
4.4.4 测试检测清单与测试数据
? 测试结果的记录不仅仅是记录检查合格,
还要记录 测试结果的具体内容 。
? 记录测试结果要注意 易读性,便于他人
追踪测试中发现的问题。
? 根据不同用户的要求,测试内容和测试
结果还有可能作为开发方的系统验证资
料提供给用户。
4.4.4 测试检测清单与测试数据
? 在测试工程的进度管理中,可以按测试
检测清单确定的测试分支作成测试实施
日程,统计已实施测试的分支数,确认
各个测试分支组的测试进度。因此 测试
检测清单 又可以用于 测试进度管理 。
4.4.4 测试检测清单与测试数据
? 作成测试检测清单后,根据测试检测清单记述
的测试分支准备其使用的测试数据。此外,根
据测试分支的覆盖率(正常处理、例外处理
等)、测试分支数,还可 预算 测试工程所需要
的 工数 。
? 测试检测清单格式要根据测试项目的不同而进
行不同的设计。一般都应包括 检查条件、确认
内容、确认日期 等,并且要注意可读性和可实
施性,便于测试者做测试数据,进行测试。
4.4.5 测试前期准备应确认的事项
( 1)开发环境和测试环境
( 2)确保必要的测试时间(表 4.5举例说
明了开发日程延后的对策处理方法。)
4.4.5 测试前期准备应确认的事项
( 3)留有余地的测试计划(回归测试)
? 测试计划时,必须考虑如何利用测试工具等多种手段
有效实施回归测试,并且制定出留有余地的测试计划,
例如,制定精确的测试流程、有效利用测试工具、使
测试尽可能自动化、留有回归测试的时间等。
? 此外,因为变更、修正作业可能诱发新的错误,要根
据测试中发现的问题的重要度、优先顺序进行问题管
理和变更管理。例如,经判断,对于影响度低的问题,
程序的修正可放在测试的最后阶段,由专人集中实施,
以减少变更、修正的工作量和风险。
4.4.5 测试前期准备应确认的事项
( 4)系统的各个接口是测试工程的关注点
外部接口的测试,应尽量避免在系统测试和运
行测试时才实施。最好是在程序开发工程期间
内,即在单元测试阶段实施接口测试。最初测
试时,只需要确认接口部分的动作,不必要完
成系统整体的逻辑处理。为接口部分的处理准
备简单的程序,专门的测试数据,测试接收和
传送数据的效果。
4.4.5 测试前期准备应确认的事项
? 在考虑测试计划、设计测试方案时要注意以下
几点:
( 1)在设计工程期间要考虑组合测试计划书;
( 2)站在用户的立场考虑系统错误、缺陷造成
的影响;
( 3)结合各种测试方法确定测试流程;
( 4)搭建必要的测试环境,确定测试工具;
( 5)将回归测试列入测试计划;
( 6)作测试计划时要考虑尽早实施接口测试。
4.5 测试的实施
? 在作好测试计划的基础上,确认开发作
业已基本完成,测试工具、数据、环境
等已准备好,就可以进入测试作业。
4.5.1 各个测试阶段的测试设计和实施者
? 单元测试 一般由开发程序的程序员实施。
组合测试 由详细设计者和测试设计者实
施。 系统测试和运行测试 一般由从事系
统设计作业的系统工程师实施,而 运行
测试 不仅仅是由承担开发项目的企业或
部门实施,而且要以用户为主体实施。
表 4.6对各个测试阶段的计划、实施测试
作业者给以了说明。
4.5.2 实施测试的要点
1、实施测试前应确认的事项
? 测试前必须确认系统是否进入测试状态。
? 虽然各个测试阶段有不同的测试重点,
但是对于作为测试对象的软件系统的核
心部分,要尽早实施性能测试,即对软
件系统的效率性进行测试。
4.5.2 实施测试的要点
2、风险意识
? 采用新技术、用户需求变更、开发人员的变动
等都有可能带来风险。
? 风险度 = 发生概率(发生频率) × 发生时的
影响程度(损失)
? 每个开发人员在自己担任的作业中,都应该经
常考虑有可能发生什么样的风险,一旦发现问
题应及时与项目管理者商谈,尽可能避免和防
止风险的发生。
4.5.2 实施测试的要点
3、问题管理
? 在测试中发现错误,修正程序,再测试,
确认修正是否正确,这是一般测试作业
的流程。
? 表 4.7 处理问题的流程
4.5.2 实施测试的要点
? 问题管理的要点如下:
⑴ 设置专人进行问题管理,对发生的问题作最终
判断;
⑵ 对测试结果一定要有记录;
⑶ 作成问题一览表,给每个问题编号,并记录问
题解决的状况;
⑷ 对发生的问题要立即记录,以免遗忘;
⑸ 对问题的记录要注意语言简洁、明确、准确,
同时要记录实施测试时的条件(如测试环境、
测试流程、测试数据);
4.5.2 实施测试的要点
? ⑹ 如果感觉是很难再现的问题,应马上保留测
试环境、测试数据等,以便分析原因;如果实
施测试者判断是难以用文字表达的问题,要立
即找开发人员或程序修正人员,现场说明;
? ⑺ 问题发现者和处理者都要记录和判断问题的
重要度;
? ⑻ 问题处理者对记录的问题不明白、或认为没
有必要修正程序时,要与测试人员联系、确认;
对判断为不需要修正的问题,一定要说明理由;
4.5.2 实施测试的要点
? ⑼ 修正错误之后。要记录发生问题的现
象和修正的内容;
? ⑽ 修正错误时要注意对同类问题的检查,
不能在程序或系统的其它地方遗留同样
的错误。
4.5.2 实施测试的要点
4、问题记录表
? 记录测试过程中发现的错误、问题。 B票
不仅仅是用于记录错误信息,还可以提
供给质量管理人员、验收人员,作为追
踪、分析、确认软件质量的原始资料,
有利于改进和提高开发质量。
4.5.2 实施测试的要点
? 根据统计规律,一般要求各个测试阶段
发现的错误应占测试对象规模的一定比
例,以确保测试的质量。
4.5.2 实施测试的要点
? B票主要记录如下内容:
⑴ 发生错误的现象,如测试中发生功能遗漏、计
算结果错误、打印错误等等;
⑵ 产生错误的原因,如由于设计不良、理解错误、
编程不良、测试数据错误等原因造成;
⑶ 采取的对应措施,如修正设计书、程序、测试
数据等;
⑷ 发生设计书、程序修正时,记录其修正的范围。
4.5.2 实施测试的要点
5、不再现问题
测试中常发生曾经出现而以后不在出现
的问题,我们常称之为不再现问题。
4.5.2 实施测试的要点
? 一类是问题发生时环境发生了改变,如:
⑴ 测试数据有变化;
⑵ 硬件发生变化;
⑶ 数据库发生变化;
⑷ 操作系统发生变化;
⑸ 某个相关连的程序版本发生变化;
⑹ 其他相关连程序发生故障;
4.5.2 实施测试的要点
⑺ 受内存空间变化的影响;
⑻ 受测试时间、日期变化的影响;
⑼ 运行到某种程度时系统内部发生冲突;
⑽ 系统状态发生变化(初期状态,多次运
行状态)。
上述的 ⑺~⑽ 项属于 间歇性问题,发生的
频度低,但修正很花时间。
4.5.2 实施测试的要点
? 另一类是在完全相同的环境下,由于人
为的原因引起的变化,如:
⑴ 操作顺序发生变化;
⑵ 测试人员未按测试流程进行作业;
⑶ 测试人员变更;
⑷ 无关人员触动了系统。
4.5.2 实施测试的要点
? 在发生 不再现问题 时,首先要对引起不
再现问题的原因进行 分析 。同时,向测
试实施者确认测试时的状况,消除人为
因素,尽可能在问题发生时的相同环境
下进行再次测试,使问题再现。其次是
收集、确认问题发生时的 系统日志, 程
序日志,检查相关连的程序,反复测试
使问题再现。
4.5.2 实施测试的要点
6、测试中发现的错误的水平展开
对测试中发现的错误、缺陷,不能仅限
于对该错误、缺陷的修正,要同时注意
分析程序中是否有其它类似的问题;是
自己的理解错误,还是编程习惯产生的
错误;别的程序是否也有类似的错误等
等。
4.5.2 实施测试的要点
7、版本的管理
? 明确发现的错误是在什么时间的程序版
本上测试的。
? 每个参加测试、修正程序的开发人员要
充分理解开发项目的整体版本管理方法。
4.5.2 实施测试的要点
8、提高测试工程的效率
? 测试工程是需要花费整个开发工程的约
25%~ 50%的工数的工程
? 从外部设计阶段就开始考虑提高质量和
测试规划,直到内部设计阶段考虑整体
的测试方案,逐步形成周密的测试计划。
4.5.2 实施测试的要点
9、防止系统在正式运行中出现故障
? 在正式运行前,要尽可能在接近真实的
数据量、网络环境、终端数量、集中使
用密度等实际环境进行系统性能验证测
试、负荷测试、耐力测试等。
? 在正式运行前,还需要从系统的应用方
面考虑编制操作手册,进行用户培训,
建立技术支持体制。
4.5.2 实施测试的要点
? 确保系统测试成功的一些要点
⑴ 在充分理解用户业务流程的基础上设计测试流
程;
⑵ 在设计测试流程时设想用户容易发生的操作错
误;
⑶ 对参加测试的人员进行相关业务培训,使测试
人员对用户业务有一定的了解;
⑷ 确保系统测试必需要的时间和人员;
⑸ 计划测试日程时要考虑回归测试的时间;
⑹ 活用测试工具,提高测试效率;
4.5.2 实施测试的要点
⑺ 系统测试以开发方为主体,用户为辅,并着手准备运
行测试;
⑻ 系统测试时尽可能使用接近真实的数据;
⑼ 设想正式运行时系统的负荷进行耐力测试;
⑽ 根据可靠性成长曲线(请参见 4.6.2中图 4.24)判断测
试的动向和进度,在出现异常曲线时采取适当的对策;
⑾ 对发现的问题确定优先顺序,从优先顺序高的问题着
手修正;
⑿ 对测试发现的问题根据需要进行水平展开;
⒀ 重视问题管理、设计变更管理和版本管理
4.5.2 实施测试的要点
? 10、测试设计和实施测试中的注意事项
? 表 4.8说明了组合测试、系统测试和运行
测试各个测试阶段的主要测试工作,以
及开始和结束的条件。
? 表 4.9说明了各个测试阶段在测试设计和
测试实施时一般应注意的一些主要问题。
4.5.3 从运行测试到实机运行
1、运行测试的主要特征
⑴ 运行测试以使用者为主体
⑵ 运行测试是进行业务测试
4.5.3 从运行测试到实机运行
2、运行测试的结束
在结束运行测试,进入实机运行时,必须是用
户的所有与系统相关的人员都能够使用该系统。
因此为了确保系统实机运行能够顺利进行,用
户培训是非常必要的。一般在开发计划中应包
括用户培训计划,准备与实际系统接近的培训
系统,在运行测试阶段同时实施用户培训。
4.5.3 从运行测试到实机运行
? 从运行测试到实机运行作以下几点总结:
① 运行测试要以用户为主体进行设计、实施;
② 业务测试是在运行测试阶段实施,而不是在系
统测试阶段实施;
③ 在进行运行测试前作成操作手册;
④ 尽早明确实机运行的评价基准;
⑤ 运行测试的设计、实施要从技术、业务、环境
等多方面考虑;
⑥ 运行测试是用户培训的最好时机。
4.5.4 测试实例说明 --单元测试
? 测试策略
单元测试一般总是把白盒测试法和黑
盒测试法结合运用。先用黑盒测试法设
计出一组基本的测试用例,然后用白盒
测试法,根据覆盖标准补充新的测试用
例以满足覆盖标准。
一般情况下,单元测试以白盒法为主。
4.5.4 测试实例说明 --单元测试
? 主要工作:
? 根据详细设计书作成单元测试使用的程序检测清单( PCL)
PCL有 矩阵型 PCL 和 表格式 PCL。 无论哪种格式,都有检查项目、
检查条件、确认内容、确认时间等基本内容。作成 PCL的主要
思路是针对详细设计书中的每个功能项目,列出其执行时需
要的条件,确认在相对应的条件下应产生的结果。
? 根据详细设计书和 PCL则可作成测试数据
通常可以用一批数据来测试一个或几个 PCL的检查项目, 一般
不采用一条数据测试一个或几个 PCL。
? 使用问题记录表( B票)
记录在测试过程中程序发生错误和对错误进行处理的相关信息 。
? 对测试结果进行整理 。在测试结果中需要注明测试的输入数
据和输出数据,并标注相对应的 PCL的检查项目编号 。
4.5.4 测试实例说明 --单元测试
? 测试实例 p120
? 程序检测清单( PCL)
? 表 4.11是一个矩阵型 PCL p122
? 表 4.12是一个表格式 PCL p123
? 测试数据 P121
问:要完成 PCL中的所有测试项目的测试,
应怎样补充测试 数据?
? 问题记录表( B票) P125
? 测试结果 P126
4.5.4 测试实例说明 --组合测试
? 组合测试需考虑的问题,
? 数据穿越接口可能丢失。
? 一模块可能破坏另一模块功能。
? 子功能组装可能未产生所要求的主功能。
? 全程数据结构可能出问题。
? 误差累积问题。
? 测试策略
? 由独立的测试小组进行
? 测试用例通常采用黑盒法设计
? 推进方式可采用渐增式或非渐增式
? 模块组合后,应进行回归测试(采用软件改动前测
试时执行过的测试用例对改动后的软件再进行测
试。)
4.5.4 测试实例说明 --组合测试
? 主要工作:
? 测试流程和测试计划 。测试流程的作成,一般可以利用基本
设计的各个子系统的数据流程图,按照各个子系统的输入参
数,自顶向下设计测试流程。同时,要做好测试计划,落实
各个子系统的测试期间、测试人员和验收人员。
? CCL。 CCL的作成 一般以各个子系统的相关联几个程序模块为
单位进行。它主要检测各个程序模块之间的参数设置和传递
是否正确,确认关联程序运行的最后结果。
? 测试数据。 测试数据的作成 要按照 CCL的检查条件进行,一般
要注意多个参数的各种组合条件的测试数据、数据记录条数
(1条或多条 )和特殊条件下的测试数据的做成。当然,基本数
据文件(例如初期设定文件等),各种代码表的数据文件要
事先准备好。
4.5.4 测试实例说明 --组合测试
? 主要工作:
? B票 。 组合测试阶段的 B票作成 方法与单元测试阶段
的 B票作成方法基本相同。其目的是要把测试过程
中所发现的设计不良和程序错误记录到 B票中,以
保证快速有效地解决问题,提高程序系统的质量。
? 测试结果 。 作成测试结果 的目的首先是要使测试人
员和验收人员按照 CCL和测试结果对各个子系统的
功能进行严格检查,其次是要证明所进行的组合测
试是有效的。
4.5.4 测试实例说明 --组合测试
? 测试实例 p127
? 程序检测清单( CCL)
主要检测各个程序模块之间的参数设置和传递是否正确,
确认关联程序运行的最后结果。
? 表 4.15 CCL清单 p128
? 测试数据 P127
测试数据的作成要按照 CCL的检查条件进行,一般要注意
多个参数的各种组合条件的测试数据、数据记录条数 (1条或
多条 )和特殊条件下的测试数据的做成。当然,基本数据文件
(例如初期设定文件等),各种代码表的数据文件要事先准
备好。
? 问题记录表( B票)
? 测试结果整理 P129
软件测试与调试
测试与调试的比较
测试 (test) 调试 (debug)
以已知条件开始,
使用预先定义的程序,
有预知的结果
以不可知内部条件开始,结
果一般不可 预见
有计划 被动的
由独立的测试组,在
不了解软件设计的条
件下完成
由程序作者进行
发现错误 找出错误位置,排除
软件调试
? 调试的步骤
? 从错误的外部表现形式着手,确定出错位置;
? 研究有关部分的程序,找出出错的内在原因;
? 修改设计和代码,以排除有关错误;
? 进行回归测试,以确认错误是否排除,是否引起新
的错误;
? 若不能通过回归测试,则撤消此次修改活动,恢复
设计和代码至此次修改之前的状态,并重复上述过
程,直到错误得以改正。
软件调试
? 调试困难的原因
? 心理方面:高度焦虑、不愿接受可能发现的错误
? 错误本身的特点
? 错误症状和引起错误的原因相隔很远(高度耦合的程序结构);
? 错误症状可能在另一个错误被纠正后消失或暂时消失;
? 错误症状可能实际并不是由错误引起的(如误差);
? 错误症状可能是由不易跟踪的人工操作引起的;
? 错误症状可能是和时间相关,而不是处理问题;
? 很难再现错误症状的输入条件;
? 错误症状可能时有时无(如在软硬件结合的嵌入式系统中)
? 错误症状可能是由于把任务分布在若干不同处理器上运行而造

软件调试
? 调试策略
? 猜测法
通过分析错误症状,根据以往的经验,辅助使用已有的计算
机工具,猜测错误的原因并进行定位。
? 在程序中插入打印语句
? 使用注释或 GOTO语句运行部分程序
? 使用调试工具
? 跟踪法
检查错误征兆,确定最先发现错误, 症状, 的位置,然后人
工沿程序的控制流往回跟踪源代码,直到找出错误的根源;
也可以向前跟踪每条语句的执行情况,找到最先出现错误的
地方进行分析
软件调试
? 调试策略
? 原因排除法, 先假定错误原因,然后利用数据证明
或否定假设(归纳法);或先列出所有可能的原因,
然后逐一排除。(演绎法)
列举可
能原因
排除不会发
生的原因
收集更多的
测试结果
分析余下
的原因








无剩余
有剩余 能


演绎法调试过程
收集有
关数据




研究数
据间的
关系 提出假设
证明假设纠正错误
不能
不能能

归纳法调试的过程
4.6 软件质量与测试工程
? 定义
? ANSI/IEEE Std 729-1983定义软件质量为, 与软件产品满足
规定的和隐含的需求的能力有关的特征或特性的全体,
? M.J.Fisher定义软件质量为, 所有描述计算机软件优秀程度的
特性的组合,
? 软件的质量特性
质量特性 说明
1,功能性 按照使用目的, 正确运行 。
2,可靠性 软件运行过程中不会发生突然中断等故障 。
3,使用性 用户容易理解, 学习, 操作 。
4,效率性 具备要求的运行速度和数据, 信息的处理量 。
5,维护性 容易维护和修改 。
6,移植性 容易移植 。
4.6 软件质量与测试工程
? 软件质量反映了以下三方面的内容,
? ⑴ 软件需求是度量软件质量的基础。不符合需
求的软件就不具备质量。
? (2)在各种标准中定义了一些开发准则,用来指
导软件开发人员用工程化的方法来开发软件。
如果不遵守这些开发准则,软件质量就得不到
保证。
? (3)会有一些隐含的需求没有明确地提出来。例
如,软件应具备良好的可维护性。
4.6 软件质量与测试工程
? 提高软件开发质量的基本方法
提高质量
防止发生问题
(早期发现问题)
发现并修正问题(
测试发现问题)
需求定义
概要设计
详细设计
程序制造
测试
4.6 软件质量与测试工程
早期防止问题发生,通常采用 4种做法:( 1)信息交
流,( 2)经验积累,( 3)文档化,( 4)设计评审
交流信息的方法
定期会议
电视会议
电子传言
利用互联网




积累经验的方法
过去做过的项目的再利用
为新项目准备必要的资料
整理开发注意事项和基准
对发现问题采取的对策研讨




项目计划书
需求定义书
概要设计书
详细设计书
作业基准, 规范



设计评审
方法会议评审
演示
循环演讲
内容
需求调查责任者以召集会议的形式
进行设计评审对相关人员进行模拟程序运行演示
设计人员分别说明各自设计的内容




4.6 软件质量与测试工程
? 测试工程应注意的事项
⑴ 测试工程需要充分的时间和工数;
⑵ 必须保证进入测试工程前的软件开发质量;
⑶ 针对软件的特性考虑软件最重要的质量特性, 确定测
试的优先顺序;
⑷ 进入测试工程后必须采取各种有效措施, 尽最大努力
发现软件的问题和缺陷;
⑸ 利用可靠性成长曲线监视测试的效果和进度;
⑹ 活用业务对象的相关知识、信息技术的知识,扩大视
野规划测试工程。