1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
组合测试

第四章 测试工程 本章主要内容 测试的基本概念 各个测试阶段的作业内容及流程 测试方法 集成测试策略 PCL和B票的作成 测试的前期准备 测试的实施 软件质量与测试工程 第一节 测试的基本概念 软件测试背景 软件测试的目的 软件测试的原则 软件测试的对象 测试信息流程 软件测试背景 软件是人编的—所以不完美 实例: 1994-1995,迪斯尼的狮子王系统不支持问题 1999年12月3日,美国航天局火星极地登陆飞船失踪 1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度 千年虫,世界各地解决2000年错误超过数亿美元 软件测试背景 软件测试背景 软件产品最大的成本是检测软件错误,修正软件错误的成本。在整个软件开发中,测试工作量一般占30%~40%,甚至≥50%。在人命关天的软件(如飞机控制,核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍 。 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的。 从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 Myers软件测试目的 (1) 测试是程序的执行过程,目的在于发现错误; (2) 一个好的测试用例在于能发现至今未发现的错误; (3) 一个成功的测试是发现了至今未发现的错误的测试。 换言之,测试的目的是 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。 测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。 实施测试收集到的测试结果数据为可靠性分析提供了依据。 测试不能表明软件中不存在错误,它只能说明软件中存在错误。 软件测试的原则 1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。 2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。 3. 程序员应避免检查自己的程序。 4. 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。 5. 充分注意测试中的群集现象。 经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。 6. 严格执行测试计划,排除测试的随意性。 7. 应当对每一个测试结果做全面检查。 8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。 软件测试的对象 软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。 需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。 测试信息流程 软件配置:软件需求规格说明、软件设计规格说明、源代码等; 测试配置:测试计划、测试用例、测试程序等; 测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。 测试结果分析:比较实测结果与预期结果,评价错误是否发生。 排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。 修正后的文档再测试:直到通过测试为止。 通过收集和分析测试结果数据,对软件建立可靠性模型 利用可靠性分析,评价软件质量: 软件的质量和可靠性达到可以接受的程度; 所做的测试不足以发现严重的错误; 如果测试发现不了错误,可以肯定测试配置考虑得不够细致充分,错误仍然潜伏在软件中。 第二节 各个测试阶段的作业内容及流程 测试工程阶段划分 测试阶段的作业内容及流程 2.1 测试工程阶段划分 测试工程在软件生命周期过程中处于下流工程的位置 测试工程的主要测试阶段:单元测试、组合测试、系统测试、运行测试。 开发工程与测试阶段 开发工程与测试阶段 开发工程与测试阶段 开发工程与测试阶段 开发工程与测试阶段 2.2 各个测试阶段的作业内容及流程 单元测试 前提:已通过编译程序检查并且改正所有语法错误。 依据:程序设计书 目的:检测确认程序模块的处理逻辑是否正确,要求的功能是否实现。 从哪几个方面进行单元测试? (1)程序的逻辑处理测试 (2)程序的输入/输出测试 (3)边界条件测试 (4)异常处理测试 单元测试的步骤 模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。 驱动模块 (driver) 桩模块 (stub) ── 存根模块 2.2 各个测试阶段的作业内容及流程 组合测试(集成测试) 目的:将各个程序模块组装起来进行程序之间的连接测试,确认系统的各个功

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档