第7章-集成测试(wbl).ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 单元的程序图(续) 低层单元 基于分解的集成 图13-15所示的基于分解的成对集成是有问题的,函数isLeap和lastDayOfMonth从来都没有被主程序直接调用,因此这些集成过程是空的 基于调用图的集成 如图13-16所示的基于调用图的成对集成,是对基于分解的集成的改进 很明显没有了空的集成过程,因为边引用的是实际单元 基于调用图的集成(续) 基于调用图的相邻集成可以通过ValidDate和lastDayOfMonth的邻居进行 接下来可以集成GetDate和IncrementDate的邻居 最后可以集成主程序 这些邻居构成一种构建序列 基于MM-路径的集成 由于程序是数据驱动的,因此所有MM-路径都要从主程序开始,并回到主程序 2002年5月27日的第一条MM-路径 …… * * * * * * * * * * * * * * * * * 这种分解是集成测试常用视图的基础。随着软件设计逐步深入,功能分解树将可能被细化为单元调用图。 * * * * * * * * * 新概念与扩展概念(续) 消息 一种程序设计语言机制,通过这种机制一个单元将控制转移给另一个单元 子程序调用、过程调用、函数引用 我们约定接收消息的单元(消息的目的地)总是最终将控制返回给消息源。消息可以向其他单元传递数据 新概念与扩展概念(续) MM-路径 穿插出现模块执行路径和消息的序列 MM-路径的基本思想 用来描述包含在不同单元之间转移控制的模块执行路径序列,这种转移是通过消息完成的 MM-路径永远不是可行的执行路径,并且这些路径要跨越单元边界 在经过扩展的程序图中可以发现MM-路径,其中的结点表示模块执行路径,边表示消息 图1 跨三个单元的MM-路径 上图中的源结点和汇结点 模块A 源结点:1,5 汇结点:4,6 模块B 源结点:1,3 汇结点:2,4 模块C 源结点:1 汇结点:5 入度为0的结点一定是源结点 出度为0的结点一定是汇结点 模块执行路径 MEP(A,1)=1,2,3,6 MEP(A,2)=1,2,4 MEP(A,3)=5,6 MEP(B,1)=1,2 MEP(B,2)=3,4 MEP(C,1)=1,2,4,5 MEP(C,2)=1,3,4,5 MM-路径图 给定一组单元,其MM-路径图是一种有向图,其中的结点表示模块执行路径,边表示单元之间的消息和返回 导出的MM-路径图 MM-路径图的含义 MM-路径实现了超出单元边界的功能 考虑MM-路径与单元的“交集” 这种交集中的模块执行路径,类似于一个(MM-路径)功能的程序切片 这种交集中的模块执行路径,是将此功能限制在其所在单元的内部 MM-路径的深度(长度) MM-路径末端点有两个可观察的行为准则,即消息静止和数据静止 消息静止 当到达一个不发送消息的结点时,消息静止发生 例如图1中的模块C 数据静止 如果在一系列处理之后创建了一些存储数据, 且这些数据并不会马上得到使用,那么此时,数据静止发生。 SATM系统中的MM-路径 写出第一次尝试正确PIN输入的MM-路径 1 Main Program 2 State = Awaitcard 3 Case State 4 Case 1: Awaitcard 5 ScreenDriver(1,null) msg1 6 WatchCardSlot(CardSlotStatus) msg2 7 Do while CardSlotStatus is Idle 8 WatchCardSlot(CardSlotStatus) msg3 9 End while 10 ControlCardRoller(accept) msg4 11 ValidateCard(CardOK,PAN) msg5 12 if CardOK 13 then State=AwaitPIN 14 Else ControlCardRoller(eject) msg6 15 Endif 16 State=AwaitCard 17 Case 2: AwaitPIN 18 ValidatePIN(PINok,PAN)

文档评论(0)

gl5000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档