软件测试与维护课件.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文档。上传文档
查看更多
5.2.2 知识准备 黑盒测试法与白盒测试法 1. 黑盒法 该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试, 依据需求说明书,检查程序是否满足功能要求。因此, 黑盒测试又称为功能测试或数据驱动测试。  通过黑盒测试主要发现以下错误:  (1) 是否有不正确或遗漏了的功能。  (2) 在接口上,能否正确地接受输入数据, 能否产生正确的输出信息。  (3) 访问外部信息是否有错。  (4) 性能上是否满足要求等。  5.2.2 知识准备 黑盒测试法与白盒测试法 用黑盒法测试时,必须在所有可能的输入条件和输出条件中确定测试数据。是否要对每个数据都进行穷举测试呢?例如测试一个程序,需输入 3 个整数值。微机上,每个整数可能取值有216个,3个整数值的排列组合数为216×216×216=248≈3×1014。假设此程序执行一次为一毫秒, 用这些所有的数据去测试要用1万年!但这还不能算穷举测试, 还要输入一切不合法的数据。可见,穷举地输入测试数据进行黑盒测试是不可能的。  2. 白盒法 该方法把测试对象看作一个打开的盒子, 测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础, 对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错, 实际的运行状态与预期的状态是否一致。 5.2.2 知识准备 黑盒测试法与白盒测试法 用黑盒法测试时,必须在所有可能的输入条件和输出条件中确定测试数据。是否要对每个数据都进行穷举测试呢?例如测试一个程序,需输入 3 个整数值。微机上,每个整数可能取值有216个,3个整数值的排列组合数为216×216×216=248≈3×1014。假设此程序执行一次为一毫秒, 用这些所有的数据去测试要用1万年!但这还不能算穷举测试, 还要输入一切不合法的数据。可见,穷举地输入测试数据进行黑盒测试是不可能的。  2. 白盒法 该方法把测试对象看作一个打开的盒子, 测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础, 对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错, 实际的运行状态与预期的状态是否一致。 5.2.2 知识准备 黑盒测试法与白盒测试法 白盒法也不可能进行穷举测试,企图遍历所有的路径, 往往是做不到的。如测试一个循环20次的嵌套的IF语句, 循环体中有5条路径。测试这个程序的执行路径为520, 约为1014, 如果每毫秒完成一个路径的测试, 测试此程序需3170年! 对于白盒测试,即使每条路径都测试了,程序仍可能有错。 例如要求编写一个升序的程序,错编成降序程序(功能错), 就是穷举路径测试也无法发现。再如由于疏忽漏写了路径, 白盒测试也发现不了。  所以,黑盒法和白盒法都不能使测试达到彻底。为了用有限的测试发现更多的错误,需精心设计测试用例。黑盒法、 白盒法是设计测试用例的基本策略,每一种方法对应着多种设计测试用例的技术,每种技术可达到一定的软件质量标准要求。 下面分别介绍这两类方法对应的各种测试用例设计技术。  白盒技术 由于白盒测试是结构测试,所以被测对象基本上是源程序, 以程序的内部逻辑结构为基础设计测试用例。  1. 逻辑覆盖 追求程序内部的逻辑结构覆盖程度,当程序中有循环时, 覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。下面根据图5.1所示的程序,分别讨论几种常用的覆盖技术。  5.2.2 知识准备 1) 语句覆盖 为了提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。 语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次。 如图5.1是一个被测程序的程序流程图。 如果能测试路径124,就保证每个语句至少执行一次,选择测试数据为 a=2 , b=0, x=3 输入此组数据, 就能达到语句覆盖标准。  2) 判定覆盖 判定覆盖指设计足够的测试用例, 使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次, 因此判定覆盖也称分支覆盖。  设计测试用例,只要通过路径124, 135或者125, 134, 就达到判定覆盖标准。  选择两组数据: a=3, b=0, x=1(通过路

文档评论(0)

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

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

1亿VIP精品文档

相关文档