7 实现-2试软件工程.ppt

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

复习 编码 程序设计语言 分类 选择 编码风格 内容 软件测试基础 单元测试 集成测试 确认测试 7.2 软件测试基础 软件测试,是为了发现错误而执行程序的过程。是对需求分析、设计和编码三个阶段进行的最终复审。 软件测试在软件生存周期中横跨两阶段: 编码阶段(单元测试) 测试阶段(各种综合测试) 测试只能找出程序中的错误,但在未发现错误时,并不能证明程序中没有错误。 7.2.1 软件测试的目标 G.Myers : (1)测试是为了发现程序中的错误而执行程序的过程 (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案 (3)成功的测试是发现了至今为止尚未发现的错误的测试 软件测试的根本目标:尽可能多的发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。 7.2.2 软件测试的准则 (1)所有测试都应该能追溯到用户需求 (2)应该远在测试之前就制定测试计划 (3)测试集群现象(Pareto原理):80%的错误是由20%的模块造成的 (4)应该从“小规模”测试开始,并逐步进行大规模测试。 (5)穷尽测试是不可能的;测试只能证明程序有错误,但不能证明程序无错误。 (6)为了尽最大可能的发现错误,应该由 独立的第三方担任测试工作 7.2.3 测试方法 黑盒测试法: 将软件看作一个黑盒子,不考虑其内部结构和处理过程,只按照规格说明书的规定,测试软件是否能够正确接收输入数据,产生正确的输出数据。即测试程序是否正确的实现了其功能。又称为“功能测试”。 7.2.3 测试方法 白盒测试法: 完全知道程序的内部结构和处理算法,因此可以将程序看作一个透明的白盒子,根据程序内部的逻辑结构测试程序内部的主要执行通路是否能够按照预定的要求正确工作。又称“结构测试”。 7.2.4 测试步骤 1. 单元测试(模块测试):将每个模块作为一个单独的实体进行测试。 发现的错误:编码和详细设计阶段的错误 2. 子系统测试:将模块集成为一个子系统进行测试。 着重测试模块的接口 7.2.4 测试步骤 3. 系统测试:将子系统组装为一个完整的系统进行测试 子系统测试和系统测试总称为“集成测试” 发现软件设计中的错误 4. 验收测试(确认测试):在用户的参与下,往往使用实际的数据进行的测试。 发现需求说明中的错误 7.2.4 测试步骤 5. 平行运行 同时运行新开发出来的系统和将被它取代的就系统,以便比较新旧两个系统的处理结果。 软件测试与各开发阶段的关系 软件开发过程是一个自顶向下,逐步细化的过程,而软件测试过程则是按相反的顺序自底向上,逐步集成的过程: 7.2.5 测试阶段的信息流 7.3 单元测试 测试对象:模块 测试实施方法:人工测试和计算机测试 测试依据:详细设计文档 测试技术(设计测试用例的方法):白盒测试技术 测试特点:多模块测试可并行进行 测试实施者:程序员 7.3.1 测试重点 一般从5各方面进行单元测试: 7.3.1 测试重点 1. 模块接口 测试数据能否正确地进出模块 形参的数目、次序、属性或单位与实参是否一致 是否修改了只做输入用的实参 全局变量的定义和用法在各个模块中是否一致 7.3.1 测试重点 2. 局部数据结构 常见的出错来源 数据说明、初始化、默认值设计是否正确 3.重要的执行通路 最具代表性、最可能发现错误的通路进行测试 7.3.1 测试重点 4. 出错处理通路 着重测试下列可能的错误: (1)对错误的描述是难以理解的。 (2)记下的错误与实际遇到的错误不同 (3)在对错误进行处理之前,错误条件已经引起系统干预 (4)对错误的处理不正确 (5)描述错误的信息不足以帮助确定造成错误的位置 7.3.1 测试重点 5. 边界条件 循环条件边界、数据范围边界等。 7.3.2 代码审查 有效的程序验证技术,可发现30%至70%的错误。 审查小组组成 (1)组长:很有能力的程序员,没有直接参与该项目 (2)程序的设计者 (3)程序的编写者 (4)程序的测试者 7.3.2 代码审查 审查过程 (1)设计者介绍设计说明书 (2)程序员逐语句讲述程序的实现逻辑 (3)其他人员倾听并发现错误 (4)组长记录错误(不改正错误) 7.3.2 代码审查 审查过程的另外组织方法——预排 一个人扮演“测试者”,提前准备测试方案。 其余人扮演“计算机”,模拟运行程序,考察执行过程中数据的正确性。以发现错误。 7.3.3 计算机测试 单元测试实例 驱动模块 DRIVER()//测试正文编辑模块的驱动程序 { 说明长度为2500个字符的缓冲区 把CFUNCT设置为希望测试的状态 输入字符串 调用正文编辑模块 停止或再次初启 } 存根

文档评论(0)

135****6041 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档