第10章GIS软件工程的实施与测试.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文档。上传文档
查看更多
第10章GIS软件工程的实施与测试.ppt

复旦大学计算机科学与工程系 软件工程课程 第10章 GIS软件工程的实施与测试 内容摘要 概述 程序编制 软件测试 测试用例的设计 软件调试 内容摘要 概述 程序编制 软件测试 测试用例的设计 软件调试 第一节 概述 实施阶段的准备工作 软硬件引进 软件工程对编程的技术要求 软件工程对编程的质量要求 第二节 程序编制 程序编制的一般要求 编程语言的特征及选择 程序设计风格 程序编制的一般要求 尽量使用GIS基础软件的编程资源 注意系统配置要求 良好的程序设计风格 程序容错性强 采用版本控制管理程序编码 编程语言的特征及选择 编程语言的特性 编程语言的选择 程序设计风格 编程的依据是详细设计的结果,因此程序的质量主要取决于设计,但编程的质量也在很大程度上影响着程序的质量。 编程风格主要包括: 源程序文档化 数据说明 语句构造 输入/输出 效率 第三节 软件测试 “软件测试是为了证明程序是正确的,即测试能发现程序中所有的错误”。事实上这是不可能的。要通过测试发现程序中的所有错误,就要穷举所有可能的输入数据。 对于一个输入三个16位字长的整型数据的程序,输入数据的所有组合情况有248 ? 3*1014,如果测试一个数据需1ms,则即使一年365天一天24小时不停地测试,也需要约1万年。 对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。例如一个小程序的流程图,它包括了一个执行20次的循环,其循环体有五个分支。这个循环的不同执行路径数达520条,如果对每一条路径进行测试需要1毫秒,那么即使一年工作365 × 24小时,要想把所有路径测试完,大约需3170年。 “程序测试是证明程序正确地执行了预期的功能”。实际上,一个程序不仅要完成它所需完成的功能,而且不应完成它不该做的事。如不能把边长为0、0、0的三条边判断为等边三角形。 二 软件测试要求 软件测试的目的 软件测试的基本原则 软件测试的对象 软件测试的目的 Glen Myers给出的软件测试目的: 测试是一个为了发现错误而执行程序的过程 一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例 一个成功的测试是指揭示了迄今为至尚未发现的错误的测试 根据这个测试目的,我们应该排除对测试的错误观点,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。 软件测试的原则 Davis提出了一组指导软件测试的基本原则: 1.所有的测试都应可追溯到客户需求 2.应该在测试工作真正开始前的较长时间就进行测试计划 3. Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码 4.测试应从“小规模”开始,逐步转向“大规模” 5.穷举测试是不可能的 6.为了达到最有效的测试,应由独立的第三方来承担测试 其他的测试原则: 1.在设计测试用例时,应包括合理的输入条件和不合理的输入条件 2.严格执行测试计划,排除测试的随意性 3.应当对每一个测试结果做全面检查 4.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便 5.检查程序是否做了应做的事仅是成功的一半,另一半是检查程序是否做了不该做的事 6.在规划测试时不要设想程序中不会查出错误 软件测试的对象 需求分析分析、总体设计、详细设计、程序编码各阶段规格说明和源程序。 三 软件测试的过程 软件测试过程中的信息 软件测试的步骤及与各开发阶段的关系 测试策略 一种测试策略就是将测试分为单元测试、集成测试、确认测试和系统测试。 单元测试是针对程序中的模块或构件,主要揭露编码阶段产生的错误。 集成测试针对集成的软件系统,主要揭露设计阶段产生的错误。 确认测试是根据软件需求规约对集成的软件进行确认,主要揭露不符合需求规约的错误。 对于基于计算机系统中的软件,还需将它集成到基于计算机系统中,并进行系统测试,以揭露不符合系统工程中对软件要求的错误。 V模型:描述软件开发各阶段与测试策略之间的对应关系。 Tom Gilb指出实现一个成功的软件测试策略必须涉及如下问题: 在着手开始测试之前的较长时间,就要以量化的形式确定产品的需求。 显式地陈述测试目标。 了解软件的用户并为每一类用户建立剖面(profile)图 建立一个强调“快速循环(rapid cycle)测试”的测试计划。 构造“健壮”的软件,它被设计成可测试自身。 使用有效的正式技术评审作为测试之前的过滤器。 使用正式技术评审来评估测试策略和测试用例本身。 为测试过程建立一种持续改进的方法。 单元测试 (Unit Testing) 单元测试又称模块测试,它着重对软件设计的最小单元(软件构件或模块)进行验证 单元测试根据设计描述,对重要的控制路径进行测试,以发现构件或模块内部的错误 单

文档评论(0)

资料 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档