第七章实现及软件测试.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
99-5-5 Software Engineering 第一章 软件和软件工程 软 件 工 程 防不胜防的软件错误 —— 例:1963年, 美国, 飞往火星的火箭爆炸, 损失$ 10 million. 原因: FORTRAN循环 DO 5 I = 1, 3 误写为 DO 5 I = 1.3 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的。 从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 Myers软件测试目的 (1) 测试是程序的执行过程,目的在于发现错误; (2) 一个好的测试用例在于能发现至今未发现的错误; (3) 一个成功的测试是发现了至今未发现的错误的测试。 软件测试的原则 1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。 2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。 3. 程序员应避免检查自己的程序。 4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。 5. 充分注意测试中的群集现象。 经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。 6. 严格执行测试计划,排除测试的随意性。 7. 应当对每一个测试结果做全面检查。 8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。 §1. 基本概念 1、定义:测试是为了发现程序中的错误而执行程序的过程。 注意:① 只能尽可能查错,不能证明程序中 没有错; ② 测试员与程序员不应是同一个人。 2、黑盒和白盒测试 ? 白盒测试(white-box , or open-box, clear-box testing): 程序的结构和处理过程象白盒子一样透明. —— 结构测试 例:(White-box) 下图所示的程序中共有 520?1014条可能的执行通路,显然,每条通路都执行一遍是不现实的。 §2. 单元测试(采用白盒测试技术) 主要测试以下五个方面: 1、模块接口: ? 内部检查:传输参数的数目、属性、单位、次序是否匹配;全程变量的定义是否一致;只做输入的变元有无被修改,等等。 ? 外部检查:打开、结束、关闭文件的操作;文件和属性;I\O错误处理;输出拼写,等等。 2、局部数据结构: 数据说明(declaration);初始化与缺省值的设置;变量名拼写;数据类型的相容性;上\下溢出及地址异常,等等。 §2.单元测试 3、重要的执行通路: 由于穷尽测试不可能,故通常针对最常见的错误设计测试方案。 (具代表性、最可能发生错误的执行通路) 1、代码审查(code inspection) ? 彻底检查: 例如 Lucent Technologies 的测试策略,是由三人一组(包括 author, reader, 和recorder),逐行检查源代码。 ? 演习:由人扮演computer,模拟执行情况。 §3.集成测试 把下一个要测试的模块同已经测试好的 那些模块结合起来进行测试,测试完后再把 下一个应该测试的模块结合近来测试。 即:每次增加一个模块的方法。 两种方式的比较: ? Incremental testing 可以较早发现模块间的接口错误;Big-bang testing 最后才组装,因此错误发现得晚。 ? Big-bang testing 中发现错误后难以诊断定位; Incremental testing 中,出现的错误往往跟必威体育精装版加入的模块有关。 ? Incremental testing 在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底。 ? Incremental testing 较 Big-bang testing 费时。 Big-bang testing 可以同时并行测试所有模块,能充分利用人力。 ⑴ 自顶向下测试 第1步:测试顶端模块,用存根程序(stub)代替直接附属的下层模块 Stub: 模拟未测试模块的活动. 第2步:根据深度优先或宽度优先的策略,每次用一个实际模块代换一个stub。 ⑵ 自底向上测试 第1步:把

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档