网站大量收购独家精品文档,联系QQ:2885784924

第2章软件开发过程与软件测试.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2、白盒测试 白盒测试又称结构测试或逻辑驱动测试;是根据被测试程序源代码的内部结构来设计测试用例的方法。 常用的测试方法有:逻辑覆盖、基本路径和数据流测试等。 白盒测试的优点:可以利用不同的覆盖准则测试程序代码的各个分支,发现程序内部的编码错误;可以直接发现内存泄露问题;可以充当黑盒测试的检查手段等。 白盒测试的局限性:因程序路径组合太多,同样不能做到穷举测试;由于设计测试用例不是根据客户需求说明进行的测试,可能存需求方面的漏洞。 3、灰盒测试 灰盒测试结合了白盒测试和黑盒测试的要素,关注输入的正确性,同时了关注内部的表现;考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同环境中评价应用软件的设计。 2.3.3 人工测试与自动化测试 按照测试执行时是否需要人工干预进行分类,可分为人工测试与自动测试。 1、人工测试 人工测试是人为测试和手工测试的统称。人为测试的主要方法有桌前检查、代码审查和走查。用于软件开发各阶段的审查或评审都是人为测试。手工测试主要指在测试过程中,按照测试计划一步一步执行程序,得出测试结果并进行分析的测试行为。 2、自动测试 自动化测试指的是利用测试工具对各种测试活动的管理与执行,并对测试结果自动进行分析。在测试的执行过程中,一般不需要人工干预。常用在功能测试、回归测试和性能测试等。 自动化测试的优点:提高测试效率;降低测试成本;具有一致性和可重复性;降低风险,增加软件的质量等。 自动化测试的局限性:自动化测试软件本身的问题;测试人员期望过高;有些人工测试是不能用自动化测试替代等。 2.3.4 其他测试分类 1、基于模型的测试与模型检测 基于模型的测试,是指对软件行为进行建模以及根据软件的形式化模型设计测试的活动。 模型检测是指,用来验证软件特定模型中的一个或多个特性的一类技术。 模型通常是有限状态的,是从一些原始材料中提取出来的,这些原始材料可能是需求文档,也可能是系统源代码本身。有穷状态模型中的每一个状态前都有一个或多个前置条件,当软件处于该状态时,这些特性必须满足。见图2-10所示说明模型检测过程。 图2-10模型检测的要素 2、冒烟测试 冒烟测试是指在测试中发现问题,也就是说找到了一个缺陷,由开发人员来修复这个缺陷,当修复完成后,是否真的解决了这个缺陷,或对其他模块是否存在影响,因此要针对这个问题进行专门的测试,这个测试过程称为冒烟测试。 在许多情况下,经过测试后,发现修复某个问题会引起其他功能模块一系列的反应,导致产生新的缺陷。冒烟测试的优点是节省测试时间,防止创建失败。缺点是覆盖率较低。 3、随机测试 随机测试是根据测试说明书执行样例测试的一种重要补充手段,是保证测试覆盖完整性的有效方式和过程。随机测试主要针对系统的一些重要功能进行复测。还对软件更新和新增的功能要进行重点测试。常与回归测试一起进行。 2.4 软件测试方法在软件开发过程的运用 1、在软件需求分析与建模阶段中,主要进行软件目标的定义,可行性研究和软件需求分析工作。这时测试的对象是相关文档资料,如:需求规格说明书等。从需求的完备、可实现、是否合理、是否可测试等方面进行评审,采用的静态测试方法。 2、在概要设计与详细设计阶段。概要设计描述总体系统架构中各个模块的划分及相互之间的关系;详细设计则描述各个模块具体的算法和数据结构。这些都是用文字、图表的形式进行描述的,测试时也是用静态测试的方法,对文字、图表进行评审。 3、在编码工作阶段,主要是采用高级语言对已详细设计的模块进行编程。这时的测试工作主要是对已有的程序代码进行白盒测试,可以是静态与动态相结合,采用各种覆盖方法进行测试,此时主要由程序员进行测试。 4、在测试阶段中,此时进行的集成与系统测试。集成测试采用灰盒测试方法(白盒测试与黑盒测试相结合),主要测试产品的接口以及各模块之间的关系。而系统测试一般采用黑盒测试方法,主要测试系统的功能、性能等;由测试人员来完成测试。 5、在检验交付与维护阶段,模拟或实际客户环境,对系统进行验收测试。大多采用自动化测试工具进行测试验收。包括功能测试、性能测试、回归测试、发布测试等。 2.5 软件测试的过程模型 2.5.1 V_model 图2-11 v-model v-model模型是最早的软件生存期模型,在20世纪80年代由Paul Rook提出的。 v-model包含了三个等级,分别是生存期模型,分配模型,功能性工具需求模型,阐述了应当实施哪些活动,应当产生哪些结果,诸如此类。 V-model指出,单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最

文档评论(0)

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

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

1亿VIP精品文档

相关文档