- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语句覆盖测试
第9章 软件测试 6学时 引言-- 据新华社洛杉矶2002年6月报道,美国一家研究所公布的调查结果表明,软件错误使美国每年损失高达595亿美元。同时指出,如能做好检测工作,即在软件开发的早期发现漏洞并进行弥补每年能给美国企业节省成本222亿美元。然而,目前软件中一半以上的错误是在开发的后期或者售后使用中才被发现的。 第9章 软件测试 1)软件测试的概念 2)黑盒测试和白盒测试方法 3)单元测试过程 4)集成测试,系统测试,验收测试的基本过程 5)面向对象的测试概念和方法 9.1软件测试的概念 9.1.1测试的定义 从广义上讲是指软件产品生存周期内所有的检查、评审和确认活动 从狭义上讲,软件测试是为了发现错误而执行程序的过程 软件测试是根据软件开发各阶段的规格说明和程序内部结构而精心设计的一批测试用例,用这些测试用例运行程序,以发现程序错误的过程。 一个测试用例是一组输入数据及其对应的预期输出结果。 测试的工作量 一般性软件其测试工作量大约占整个开发工作量的40% 系统软件或关系到人的生命财产安全的重要软件,其测试工作量通常可能达到整个开发工作量的3—5倍 软件测试的目标 优秀的测试用例:以最小的代价、在最短的时间内,尽可能多地发现软件中的错误 。 测试并不仅仅是为了要找出错误,通过分析错误产生的原因和错误的分布特征,来帮助评价软件的质量、进一步发现软件的缺陷,同时也有助于设计出更有针对性的测试方法,提高测试效率 。 测试原则 应该把测试贯穿在整个开发过程之中。事实上从需求分析阶段开始,每个阶段结束之前都要进行阶段审查,目的是尽早发现和纠正错误。 每个测试用例都应该包括测试输入数据和这组数据输入作用下的预期输出结果。在实际操作中可以列出一张电子表格,包括每个测试用例的编号、类型、输入数据、预期输出结果、实际输出结果、出错原因分析。 测试原则续 程序员应该尽量避免检查自己编写的代码。测试工作需要严格的工作作风,程序员在测试自己编写的代码时往往会带有一些倾向性,使得他们工作中常常出现一些疏漏。而且程序员对设计规格说明书的理解错误而引入的错误更是难于发现。 测试原则续 在设计测试用例时,应该包括有效的、期望的输入情况,也要包括无效的和不期望的输入情况。即能够验证程序正常运行的合理输入,也能够验证对异常情况处理的不合理输入数据以及临界数据输入。 在测试时,人们常常过多地考虑合法和期望的输入条件,以检查程序是否做了它应该做的事情,而忽视了不合法的和预想不到的输入条件。 用户在使用系统时,输入一些错误指令和参数是经常发生的,如果软件遇到这种情况不能做出适当的反应,给出相应的提示信息,可能会误导用户,甚至会造成严重损失。 测试原则续 软件中遗留的错误数量与已经发现的错误数量成正比。根据这个规律对测试中发现错误成堆的模块更要仔细测试。例如,在某个著名的操作系统中,44%的错误仅与4%的模块有关。 回归测试的关联性要特别引起注意,修改一个错误而引起更多错误的现象并不少见。 测试原则续 严格执行测试计划。在测试之前应该有明确的测试计划,内容包括:要测试的软件功能和内容、测试用例和预期结果、测试的进度安排、需要的工具和资源、测试控制方式和过程等。 做好测试记录,为统计和维护提供基础数据 测试的层次和类型—层次 单元测试:针对模块代码的测试,测试的粒度最小 集成测试:把经过单元测试的模块组合在一起,重点测试模块之间的接口。 系统测试:系统集成后,对整个系统包括硬件等环境的综合测试。 验收测试:以用户为主,对软件功能、性能进行全面测试。验证软件是否满足需求规格说明书的要求,检查所有的配置成份是否齐全。 测试的层次和类型—类型(续) 静态测试:主要通过代码审查和静态分析,检查源代码中存在的问题。 过程:代码审查由有经验的程序设计人员根据软件详细设计说明书,阅读程序来发现源程序中类型、引用、参数传递、表达式等不必运行程序就能够发现的错误。 特点:这种方法不需要专门的测试工具和设备,一旦发现错误就能定位,但是此方法具有一定的局限性。静态分析主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等 测试的层次和类型—类型(续) 动态测试:在指定的环境上运行被测程序,输入测试数据,获得测试结果,将获得的测试结果与预期的结果进行比较,发现程序的错误 。 过程:设计测试用例,运行被测程序。 特点:需要有程序的运行环境,必要时要编写测试驱动程序和桩程序。 测试的层次和类型—类型(续) 功能测试:验证软件是否提供了预期服务。 过程:根据软件需求规格说明书设计测试用例,并按照测试用例的要求运行被测程序。 特点:将被测程序看成是一个黑盒子,着重验证软件功能和性能的正确性,其典型测试方法包括价类划分、边值分析、因果分析、猜测错误等。 测试的层次和类型—类型(续) 结构
文档评论(0)