预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件静态测试方法“审查”述评 软件测试在软件开发过程中具有非常重要的作用。软件测试的实质在于,按 照规定步骤采用有效方法,对程序进行严格的检验,发现和改正软件的各种差错, 提高软件质量,使其逐步达到规定要求,交付用户使用。 经过几十年的发展,软件测试方法体系业已经形成,软件项目开发机构可以 结合实际需要选择使用。软件测试方法,按照是否在计算机上运行被测软件,区 分为静态测试和动态测试两大类。图1是软件测试技术分类框架。 图1软件测试技术分类框架图 长期以来,动态测试是最为业界推崇的方法,有时甚至是项目采用的唯一方 法。静态测试则被多数开发团队忽视。 一、从费用效益看软件测试 动态测试方法走红和静态测试冷落所导致的弊端,终于逐渐被业界察觉, 其中最具警示性的事件,当属权威性的美国国家标准技术研究所(NIST),在2002 年发表的题为‘不适当的软件测试基础结构的经济影响’研究报告1],该报告对 美国软件开发弊端提出尖锐批评。报告说: “。。。。。。虽然所有错误不可能完全消除,超过1/3的费用或估计达220 亿美元的费用是可以节省的。用改善测试的基础结构,采用评审(Review),审 查(Inspection)等方法,可以更早,更有效地识别和消除软件错误。使用这些方法 可以在接近错误注入的时刻,用很大的百分比(虽然不是100%)识别和消除错 误。现在的情况是有超过半数的错误在进入测试阶段之前无法发现,甚至拖延到 销售给用户使用之后”。 Bennett的工作进一步验证了NIST关于早期发现和改正错误,可以带来极大 经济效益的论断2]。图2显示了错误发现阶段和错误注入阶段,改正一个软件错 误所需要的相对费用。 图2软件排错费用图 由此可见静态测试技术的最大优点恰好是它能够及早发现和改正错误,从而 带来可观的经济效益。常用的静态测试方法有审查(Inspection)和走查(Walk Through)两种,其中审查(Inspection)比较正规,颇具潜力。 二、怎样正确实施审查 (一)审查的定义 IEEEStd610.12-19903]定义,审查(Inspection)是指:“一种静态分析技术, 它依靠目视检查开发的产品,发现错误、发现和开发标准的偏离以及其它问题, 典型的审查类型包括编码审查,设计审查”。 IEEEStd1028-19974]对审查的内容有更具体的描述: 审查的目的是探测和识别软件产品的反常现象,是一种系统的目视检查,审 查用来: a)验证软件产品满足规格说明; b)验证软件产品满足规定的质量属性; c)验证软件产品符合适用的规章、标准、指南、计划和程序; d)识别对标准和规格说明的偏离; e)收集软件工程数据,(例如异常的或投入的时间和人力数据)(可选择))。 f)使用收集的软件工程数据,改进审查过程本身和它的支持文档(例如检 查表)(可选择) 这里提及的软件产品包括:软件需求规格说明;软件设计说明;源代码; 软件测试文档;软件用户文档;维护手册;系统构建程序;安装程序;发布注释。 (二)审查实施过程 软件审查方法源于上世纪70年代,由IBM的质量控制专家Fagan.提出和实 施,起因是他力图将统计抽样质量控制技术引用到软件发过程。Fagan认为软件 寿命周期过程等同于产品生产线,审查类似于抽样载体,用来在软件开发早期进 行产品抽样。随后,审查逐步发展成为一个独立的质量检查过程。 1.审查队成员组成 审查队通常由5人组成,包括领导人,记录员,阅读员,软件产品作者,检 查员。各有明确职责。 领导者:承担审查过程的全部管理责任。 记录员:记录软件异常、决策、建议、用于过程分析的审查数据。领导者可 以是记录员。 阅读员:用广泛的合理的方式,引导审查团队透彻领悟软件产品,解释某些 关键部分的重要特征。审查队领导者可以担任阅读员。 软件产品作者:负责使软件产品达到审查的准入标准。用自己对软件产品的 特殊理解为审查队提供帮助,承担审查要求的修改使其满足审查通过标准。 审查员:负责识别和阐述软件产品异常。审查员应该从具有不同观点的专业 人士中选择,例如产品发起人,需求分析人员,设计人员,编码人员,安全性分 析人员,测试人员,项目管理人员,质量管理人员,硬件工程师等, 2.审查步骤 1)管理准备:项目经理应该保证审查符合应用标准和程序。符合法律,合同 和相关政策的要求。 2)制定审查规划 软件产品作者汇总审查材料,提供给审查队领导人; 审查队领导人给队员分配任务; 安排会议日程,选择会议地点。分配资料给参与人等。 3)提交审查产品总揽 软件产品作者汇总和编制软件产品总揽资料,提交给审查队。 4)技术准备 审查队人员提前研究软件产品和相关资料,记载在发现的异常,提交给领导