- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 2 章 本章内容提要 测试原则 软件测试的分类 软件测试流程 软件测试的过程模型 2.1测试原则 两种测试原则 1.所有的测试都应追溯到用户需求2.应当把“尽早测试和不断地进行软件测试”作为软件测试者的座右铭3.Pareto原则应用于软件测试4.测试应从“小规模”开始,逐步转向“大规模”5.穷举测试是不可能的6.为了达到最佳效果,应该由独立的第三方来构造测试7.不充分的测试是不负责任的,过分的测试是一种资源的浪费,同样也是一种不负责任的表现 软件测试的目标在于揭示缺陷和错误。而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误,从而无法满足用户需求 不应该将软件测试看成是程序写完之后才开始的一项工作。问题发现得越早,解决问题的代价越小,反之,缺陷发现得越晚,缺陷修复的成本越高。若缺陷遗留到用户手中,则将对公司、对用户都有可能带来极其严重的后果。 简单地讲,Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%,这就是缺陷群集现象。 所谓小规模是指测试的粒度,或某种程序的单元测试。进一步的测试将从单个单元的测试逐步过渡到多个单元的组合测试,即集成测试,最终过渡到系统测试。 (1)每个输入条件的数据量太大,不同输入条件之间的组合情况太多 (2)从输出来看,输出结果太多 (3)数据的处理方式是常规的方法,然而由于要处理的数据量太大,每种数据类型所包含的有效和无效数据往往是无穷多的 (4)从计算来看,由于算法的复杂度越来越高,结合业务的复杂性,导致路径组合近似天文数字,遍历每条路径的穷举测试,即使对于一个非常熟练的测试员而言,也是不可能的 测试出口条件参考标准 遗留缺陷数量低于10个,其中严重的缺陷少于5个 测试用例的执行率为100%,通过率为95% 对于单元测试,关键模块的语句覆盖率为100%,判定覆盖率为85% 2.2 软件测试的分类 2.2 软件测试的分类 按测试阶段分类 按是否需要执行被测试软件分类 按是否需要查看代码分类 按测试执行时是否需要人工干预分类 其他测试类型 2.2.1 按测试阶段分类 定义 单元测试(Unit Testing)又称模块测试(Module Testing),是指对软件中的最小可测试单元进行测试,目的是检查每个单元是否能够正确实现详细设计说明中的功能、性能、接口和设计约束等要求,发现各个模块内部可能存在的各种缺陷。 优点 减轻调试的难度 提供同时测试多个单元的可能 集成测试(Integration Testing)又称组装测试, 是在单元测试的基础上,按照设计要求,将通过单元测试的单元组装成系统或子系统而进行的有序的测试,目的是检验不同程序单元或部件之间的接口关系是否符合概要设计的要求,能否正常运行。 确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试检测与证实软件是否满足软件需求说明书中规定的要求。 系统测试(System Testing)是为了验证和确认系统 是否达到其原始目标,而对集成的硬件和软件系统进行的测试,是在真实或模拟系统运行的环境下,检查完整的程序系统是否能和系统正确配置、连接,并满足用户需求。 系统测试主要由黑盒测试工程师在整个系统集成好之后进行。前期主要看系统功能是否满足需求,这被称为功能测试。后期主要测试系统运行是否满足要求,以及系统在不同硬件和软件环境中的兼容性等,这被分别称为性能测试、兼容性测试、用户界面测试等。 系统测试的主要依据是软件的需求规格说明文档。 定义 验收测试(Acceptance Testing)又称接受测试,是一种正式的测试,是在系统测试后期,以用户测试为主,是一般由用户或其他权威机构来决定是否可以接受产品的验证性测试。验收测试是软件正式交付给用户使用的最后一个测试环节,并决定用户是否最终验收签字和结清所有应付款。 主要依据 软件需求规格说明文档和验收标准。 测试用例 可以直接采用内部测试组所设计的系统测试用例的子集,也可由验收人员自行设计。 β测试的优势 ● 提升了产品价值。 ● 可发现一些在测试实验室无法发现、甚至重复出现的缺陷。β测试常常会发现产品的局限所在,并测试产品的整个开发过程。 ● 可以将公司推到“基准框架”之外。 ● 有助于产品的成功发布。 2.2.2 按是否执行被测软件分类 一、静态测试 二、动态测试 一、静态测试 定义 静态测试(Static Testing)又称静态分析(Static Analysis),是不实际
文档评论(0)