软件工程第4章课件.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文档。上传文档
查看更多
《实用软件工程》陆惠恩主编 第4章 软件编码与 软件测试 本章主要内容 1.结构化程序设计 2.软件测试目标 3.软件测试方法 4.软件测试步骤 5.软件设计测试方案 6.软件测试原则和测试策略 7.软件调试、验证与确认 8.软件测试文档 1.结构化程序设计 1.1 结构化程序设计的特点 (1)仅采用顺序、选择、重复三种基本控制结构; (2)每种基本结构只有一个入口、一个出口; (3) 能较好地适合自顶向下或自底向上的程序设计技术; 1.2 结构化程序设计应注意的地方 (1)程序编码要首先保证正确性。 (2)程序模块化,做到可复用。 (3)程序编码要易于理解、测试,维护。 1.结构化程序设计 1.3 程序设计语言的分类 (1)面向机器语言:机器语言和汇编语言。 (2)高级程序设计语言 a.面向过程 b.面向对象 1.4 程序设计语言的选择 (1)项目的应用领域 (2)软件开发环境 (3)根据系统用户的要求 (4)软件开发人员的知识与技术    2.软件测试目标 2.1 软件测试的目的 通过人工或计算机执行程序来有意识地发现程序中的设计错误和编码错误。 (1)测试是为了证明程序有错,而不是证明程序无错误; (2)好的测试方案能够找到尚未发现的错误; (3)成功的测试是发现了尚未发现的错误。 2.2 软件测试的重要性 美国爱国者导弹防御系统程序故障导致击毙了28名美国士兵。 “千年虫”问题导致软件更新和维护的费用超过数亿美元了 美国1999年的火星登陆机器坠毁事件 2.软件测试目标 2.3 错误产生的来源 3.软件测试方法 依据测试过程是否执行程序可分为静态分析和动态测试。按测试数据的设计方法可分为黑盒测试和白盒测试。 3.1 静态分析 进行静态分析时,不必运行软件,只是通过对源代码进行分析,检测程序的控制流和数据流,以及发现执行不到的“死代码”、无限循环、未初始化的变量、未使用的数据、重复定义的数据等。 3.2 动态测试 以执行程序并分析程序来查错。 动态测试技术借助于测试用例来执行程序,一般又分为功能测试(即黑盒测试)以及结构测试(即白盒测试) 因为穷尽测试很难做到,因此测试用例的选取很关键。 例如:判断三条线段的长度,判断能否组成三角形。 3.软件测试方法 3.3黑盒测试 又称功能测试,其测试用例完全是根据程序的功能说明来设计的。 根据已知程序的功能和性能(而不是内部细节),通过测试检验每个功能和性能是否正常 3.软件测试方法 3.4白盒测试 又称结构测试,它把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 问题:对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。 3.5 灰盒测试 常把黑盒法和白盒法联合起来进行,这也称为灰盒法。 4. 软件测试步骤 应用软件的测试一般有以下几个步聚:模块测试、集成测试、程序审查会、确认测试、平行运行。 4.1 模块测试 也称单元测试,其目的是检查每个模块是否能独立、正确地运行。模块测试通常在程序设计时进行。 考虑到被测模块与其它模块的联系,因此测试时需要使用两类辅助模块来模拟其他模块。 驱动模块(driver)— 模拟主程序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据。 桩模块(stub)— 又称为假模块,用于模拟那些由被测模块所调用的下属模块功能。 一般,驱动模块比桩模块容易设计。但都是额外开销。测试方法以白盒法为主。 4. 软件测试步骤 4.2 集成测试 集成测试是在单元测试的基础上,将所有模块按照总体设计的要求组装成为子系统或系统进行的测试。 (1)集成测试的任务 ①确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为渐增式及非渐增式。 ②测试方法以黑盒法为主,按照组装方案进行测试。 (2)渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测试。两种方案: 自顶而下增值和自底而上增值 对发现问题较多的子系统或模块应该用白盒法作回归测试。 (3)问题:渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式? 4. 软件测试步骤 4.3 程序审查会 通常由程序员和不参加设计的测试工程师及项目组长参加。 (1)开会前将程序清单和设计文档进行分发。 (2)会议内容 a.程序员逐句讲述程序逻辑结构,然后由大家提问,判断是否有错误存在。 b.审查会成员集中精力查找错误,并记录,会后交给程序员自己改正错误。时间控制在90-120分钟。 (3)优点:一次审查会可以发现很多错误。 4.4 人工运行 在开会前分发程序和文档,然后

文档评论(0)

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

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

1亿VIP精品文档

相关文档