第7.2章 软件工程.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文档。上传文档
查看更多
第7.2章 软件工程

第7章 实现 软件测试 软件测试 随着中国IT行业的发展,软件产品的测试和质量保证工作逐渐成为企业生存与发展的关键。 主要内容: 软件测试的理论基础,概念、术语和理念。 软件测试方法、技术和流程。 软件测试文档 内容摘要 软件测试基础 白盒测试方法 黑盒测试方法 调试 软件可靠性 测试用例 二. 软件测试的目的和意义 “软件测试是为了证明程序是正确的。” “成功的测试是没有发现错误的测试。” “测试能发现程序中所有的错误”。 穷举测试不可行 对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。例如一个小程序的流程图,它包括了一个执行20次的循环,其循环体有五个分支。这个循环的不同执行路径数达520条,如果对每一条路径进行测试需要1毫秒,那么即使一年工作365 × 24小时,要想把所有路径测试完,大约需3170年。 软件测试的目的 Glen Myers给出的软件测试目的: 测试是为了发现错误而执行程序的过程 一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例 一个成功的测试是指揭示了迄今为至尚未发现的错误的测试 根据这个测试目的,我们应该设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。 什么是软件问题? 符合下列五项之一: 1) 软件未达到产品说明书(或需求说明书)标明的功能; 2) 软件出现了产品说明书指明不会出现的错误; 3) 软件未达到产品说明书未指明但应达到的目标; 4) 软件功能超出产品说明书所指明范围; 5) 软件测试人员认为软件难以理解、不易使用、速度缓慢,或者最终客户认为不好。 软件测试的原则 Davis提出了一组指导软件测试的基本原则: 1.所有的测试都应可追溯到客户需求 2.应该在测试工作真正开始前的较长时间就进行测试计划 3. Pareto原则:测试中发现的80%的错误可能来自于20%的程序代码 4.测试应从“小规模”开始,逐步转向“大规模” 5.穷举测试是不可能的 6.为了达到最有效的测试,应由独立的第三方来承担测试 软件测试的原则 其他的测试原则: 1.在设计测试用例时,应包括合理的输入条件和不合理的输入条件 2.严格执行测试计划,排除测试的随意性 3.应当对每一个测试结果做全面检查 4.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便 5.检查程序是否做了应做的事仅是成功的一半,另一半是检查程序是否做了不该做的事 6.在规划测试时不要设想程序中不会查出错误 三. 软件测试的方法 白盒测试与黑盒测试 测试用例的设计是软件测试的关键所在 设计尽可能少的测试用例来发现尽可能多的错误 设计最有可能发现软件错误的测试用例,同时避免使用发现错误效果相同的测试用例 测试用例的设计方法大体可分为两类:白盒测试和黑盒测试,也称白箱测试和黑箱测试 黑盒测试 以程序的功能作为测试的依据对程序进行测试,又叫功能测试。 “黑盒”就是只知道被测软件的外部情况,主要是界面和接口,被测软件的内部逻辑结构和数据结构,对测试人员是不可见的。 白盒测试 把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。又称为结构测试 白盒测试主要用于对模块的测试 回归测试(Regression Testing) 在集成测试过程中,每当增加一个(或一组)新模块时,原先已集成的软件就发生了改变。这些改变可能使原本正常的功能产生错误。 当测试时发现错误后,需修改程序;或者在软件维护时也需修改程序。这些对程序的修改也可能使原本正常的功能产生错误。 回归测试就是对已经进行过的测试的子集的重新执行,以确保对程序的改变和修改,没有导致非预期的副作用。 系统测试(System Testing) 系统测试是对整个基于计算机的系统进行的一系列测试。 系统测试的种类很多,每种测试都有不同的目的,它们从不同的角度测试计算机系统是否被正常地集成,并完成相应的功能。 常用的系统测试包括: 恢复测试(recovery testing) 安全测试(security testing) 压力测试(stress testing) 性能测试(performance testing) ……. α测试和β测试 如果软件是为一个特定客户开发的,那么,最后由客户进行验收测试,以使客户确认该软件是他所需要的。 如果软件是给许多客户使用的(如市场上销售的各种软件)。大多数软件厂商都使用一种称为α测试和β测试的过程,来发现那些似乎只有最终用户才能发现的错误。 α测试和β测试 α测试是由一个用户在开发者的场所进行的,软件在开发者对用户的“指导下”进行测试。经α测试后的软件称为β版软件。 β

文档评论(0)

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

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

1亿VIP精品文档

相关文档