自考本科教材课件——NO06软件测试.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文档。上传文档
查看更多
自考本科教材课件——NO06软件测试

Chapter 软件测试 主讲:段智敏 考试大纲 本章要求掌握基于程序路径的白盒测试、基于需求规约的事务流测试和等价类划分三种软件测试技术,并能运用这些技术开展软件测试工作,包括用例设计、测试执行和结果比较。 识记 软件测试 测试过程模型 领会 路径测试的被测试对象模型及创建 测试覆盖及基本关系 事务流与控制流之间的区别及为测试带来的影响 事务流测试步骤 等价类划分技术进行测试的步骤 软件测试的基本步骤 软件测试目标 定义 按照特定规程发现软件错误的过程 使用人工或自动手段,运行或测定某个系统的过程 目的 发现错误,减少错误带来风险的过程 检验是否满足规定的需求,或清楚了解预期结果和实际结果的差异 目标 测试是为了发现程序中的错误而执行程序的过程; 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; 成功的测试是发现了至今为止尚未发现的错误的测试。 软件测试目标 错误(error) 与所期望的设计之间的偏差,该偏差可能会产生不期望的系统行为或失效。 故障(fault) 导致错误或失效的不正常的条件,故障可以是偶然性的或是系统性的。 失效(failure) 与所规约的系统性能之间的偏差,失效是系统的故障或错误的后果. 软件测试过程 软件测试是一个有程序的过程,包括测试设计、测试执行、测试结果比较等。 测试设计分为: 环境模型 被测对象模型 错误模型 软件测试技术 测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,即黑盒测试;如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行,即白盒测试。 黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试。 白盒测试是按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试。 白盒测试依据程序的逻辑结构,黑盒测试依据软件行为的描述。 软件测试技术—路径测试 依据程序逻辑结构——白盒测试技术 采用控制流程图来表达被测程序模型,揭示程序中的控制结构;通过合理选择一组穿过程序的路径,达到某种测试的度量。 控制流程图 表示程序控制结构的图形化工具,基本元素包括: 节点 分支 过程块 链路径 软件测试技术—路径测试 例如:以下为一个程序流程图,其中该例子中有两个判断,每个判断都包含复合条件的逻辑表达式。 其控制流程图为: 软件测试技术—路径测试 “完整测试”策略 该控制流程图有4条不同的路径。4条路径可表示为: L1(a→c→e)简写ace L2(a→b→d)简写abd L3(a→b→e)简写abe L4(a→c→d)简写acd 路径覆盖(PX):执行所有可能的穿过程序的控制流程路径。 这一测试严格地限制为所有可能的入口/出口路径,即达到100%路径覆盖率。在路径测试中,该策略是最强的,但一般不可实现。 针对该例子,要想实现路径覆盖,可选择以下一组测试用例(规定测试用例的设计格式为: 【输入的(A,B,X),输出的(A,B,X)】)。 软件测试技术—路径测试 语句测试(P1):至少执行程序中所有语句一次。 如果遵循这一规定,则达到了100%语句覆盖率(用C1表达)。 在该例子中,只要设计一种能通过路径ace的测试用例,就覆盖了所有的语句。所以可选择测试用例如下: 【(2,0,4),(2,0,3)】 覆盖L1 语句覆盖是最弱的逻辑覆盖准则。语句覆盖只关心判定表达式的值,而没有分别测试判定表达式中每个条件取不同值时的情况。 例如,第一个判断中的逻辑运算符“∧”错写成了“∨”,或者第二个判断中的逻辑运算符“∨”错写成了“∧”,利用上面的测试用例,仍可覆盖所有4个可执行路径,而发现不了判断中逻辑运算符出现的错误。 软件测试技术—路径测试 分支测试(P2):至少执行程序中每一分支一次。 分支覆盖又叫判定覆盖,不仅每个语句必须至少执行一次,而且每个判定的每个分支都至少执行一次。如果遵循这一规定,则达到了100%分支覆盖率(用C2表示)。 分支覆盖是一种比语句覆盖稍强的逻辑覆盖。但若程序中分支的判定是由几个条件联合构成时,它未必能发现每个条件的错误。 例如如果选择路径L1和L2,就可得到实现分支覆盖的测试用例: 【(2,0,4),(2,0,3)】 覆盖L1 【(1,1,1),(1,1,1)】 覆盖L2 如果选择路径L3和L4,还可得另一组可用的测试用例: 【(2,1,1),(2,1,2)】 覆盖L3 【(3,0,3),(3

文档评论(0)

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

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

1亿VIP精品文档

相关文档