- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 软件测试 12.1 软件测试概述12.1.1 软件测试的定义 软件测试的目的与软件工程所有其他阶段的目的都相反。软件工程的其他阶段都是“建设性”的:软件工程师力图通过对软件需求的理解,逐步设计出具体的软件系统,直到用一种适当的程序设计语言写出可以执行的程序代码。但是,软件测试的目的却是“破坏性”的,测试人员努力设计出一系列测试方案,竭力证明已经建造好的软件系统程序中有错误,且不能按照预定要求正确工作。 测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。新的测试理论、测试方法、测试技术手段在不断涌出,软件测试机构 和组织也在迅速产生和发展,由此,软件测试技术职业也同步完善和健全起来。 软件测试的研究可追溯到20世纪60年代,至今已有40多年的发展历史。但对于什么是软件测试(Soft Testing),还一直未能达成共识。目前软件测试的定义有多种: 在1979年出版的一本经典著作《软件测试艺术》中,Glemford J.Myers曾对软件测试做过如下定义:软件测试就是为了发现错误而执行程序或系统的过程。 Paul C.?Jorgensen认为:“测试显然要处理错误、缺陷、失效和事故。测试是采用测试用例来执行软件的活动。测试有两个显著的目标:找出失效,或演示正确的执行。” 1983年,IEEE提出了软件工程术语,软件测试定义为:“使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”这个定义相对来说比较完善,它明确提出了软件测试的最终目标是检验预期结果(用户需求)和实际结果之间的差别。当然它也有不完善的地方,比如“运行或测试某个系统”,因为软件测试并不一定要运行系统,测试的定义中也不应该再出现“测试”的字眼。 12.1.2 软件测试的基本策略 软件测试是指在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。任何一个完全测试或穷举测试的工作量都是巨大的,在实践中是行不通的,因此任何实际测试都不能保证被测程序中不遗漏错误或缺陷。为了最大程度地减少这种遗漏,同时最大限度地发现可能存在的错误,在实施测试前必须确定合适的测试方法和测试策略,并以此为依据制定详细的测试案例。 是不是所有软件测试都要运用现有软件测试方法去测试呢?答案是否定的。依据软件本身性质、规模和应用场合的不同,我们将选择不同的测试方案,以最少的软/硬件、人力资源投入得到最佳的测试效果,这就是测试策略的目标所在。 软件测试策略随着软件生命周期的变化以及软件测试方法、技术与工具的不同而发生着变化,这就要求我们在制定测试策略时应该综合考虑测试策略的影响因素及其依赖关系。这些影响因素可能包括测试项目资源因素、项目的约束和测试项目的特殊需要等。 1.软件测试策略制定的步骤 软件测试策略的制定可按以下步骤执行: 1) 输入 (1) 需要的软硬件资源的详细说明; (2) 针对测试和进度约束而需要的人力资源的角色和职责; (3) 测试方法、测试标准和完成标准; (4) 目标系统的功能性和技术性需求; (5) 系统局限(即系统不能够提供的需求)等。 2) 输出 输出已批准和签署的测试策略文档、测试用例、测试计划,需要解决方案的测试项目。 3) 过程 (1) 确定测试的需求。测试需求所确定的是测试内容,即测试的具体对象。在分析测试需求时,可应用以下一般规则: ① 测试需求必须是可观测、可测评的行为。如果不能观测或测评测试需求,就无法对其进行评估,以确定需求是否已经满足。 ② 在每个用例或系统的补充需求与测试需求之间不存在一对一的关系。用例通常具有多个测试需求;有些补充需求将派生一个或多个测试需求,而其他补充需求(如市场需求或包装需求)将不派生任何测试需求。 ③ 测试需求可能有许多来源,其中包括用例模型、补充需求、设计需求、业务用例、与最终用户的访谈和软件构架文档等。应该对所有这些来源进行检查,以收集可用于确定测试需求的信息。 (2) 评估风险并确定测试优先级。成功的测试需要在测试工作中成功地权衡资源约束和风险等因素。为此,应该确定测试工作的优先级,以便先测试最重要、最有意义或风险最高的用例或构件。为了确定测试工作的优先级,需执行风险评估和实施概要,并将其作为确定测试优先级的基础。 (3) 确定测试策略。一个好的测试策略应该包括实施的测试类型和测试的目标、实施测试的阶段、技术、用于评估的测试结果和测试是否完成的评测和标准、对测试策略所述的测试工作存在影响的特殊事项等内容。 如何才能确定一个好的测
文档评论(0)