- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环的测试用例
类级的划分测试 基于状态划分就是根据它们改变类状态的能力对类操作进行分类。再考虑Account类,状态操作包括deposit()和withdraw(),而非状态操作包括balance()、summarize()和creditLimit()。将改变状态的操作和不改变状态的操作分开,分别进行测试。测试用例p1:open setup deposit deposit withdraw withdraw close测试用例p2:open setup deposit summarize creditLimit withdraw close 测试用例p1检查改变状态的操作,而测试用例p2检查不改变状态的操作。 类级的划分测试 基于属性划分就是根据它们所使用的属性进行划分类操作。对于类Account,属性balance和creditLimit可用于定义划分。操作可分为三类:(1)使用creditLimit的操作;(2)修改creditLimit的操作;(3)既不使用也不修改creditLimit的操作。然后为每个划分设计测试用例。 类级的划分测试 基于类别划分就是根据每个操作所完成的一般功能进行划分类操作。例如,在类Account中,操作可分为初始化操作——open()、setup(),计算操作——deposit()、withdraw(),查询操作——balance()、summarize()、creditLimit()以及终止操作——close(). 类间测试用例设计 当开始集成面向对象系统时,测试用例的设计变得更为复杂。在这个阶段必须开始类间协作的测试。为说明“类间测试用例生成”,扩展上节讨论的银行例子,让它包括图13-7中的类与协作。图中箭头的方向指明消息传递的方向,标注则指明作为消息隐含的协作的结果而调用的操作。 类间测试用例设计 图13-7 银行应用的类协作图 多类测试 [KIR94]提出了利用下列步骤生成多类随机测试用例的方法:1、对每个用户类,使用类操作列表来生成一系列的随机测试序列。这些操作将向其他服务类发送消息;2、对生成的每个消息,确定协作类和服务对象中的相应操作;3、对服务对象中的每个操作(已被用户对象发送的消息调用),确定它所发送的消息;4、对每个消息,确定下一层被调用的操作并将其引入到测试序列中。 多类测试 多个类的划分测试方法与单个类的划分测试方法类似。然而,可以扩展这个测试序列以包括那些为发送给协作类的消息而激活的操作。另一种划分测试方法是基于特殊类的接口的。图13-7中,类Bank从类ATM和类Cashier中接收消息,因此,类Bank中的操作可以通过划分为服务于类ATM的操作和服务于类Cashier的操作来测试。基于状态划分可用于进一步细化上述划分。 从行为模型中导出的测试 类的状态图可用于辅助生成检查类的动态行为的测试序列。图13-8给出了前面讨论的类Account的状态图。根据该图,初始变换经过了”Empty acct”状态和”Setup acct”状态,该类实例的绝大多数行为发生在”Working acct”状态。最终的Withdrawal和结束账户操作使得类Account分别向”Nonworking acct”状态和”Dead acct”状态发生变换。 从行为模型中导出的测试 图13-8 类Account的状态变换图 从行为模型中导出的测试 可以通过“广度优先”的方式来遍历状态模型。广度优先意味着一个测试用例检查单个变换,且测试新的变换时,仅使用前面已经测试过的变换。 从行为模型中导出的测试 考虑银行系统中的一个CreditCard对象。CreditCard的初始状态为undefined。在销售过程中一读到信用卡号,对象进入defined状态,即属性card number、expiration date以及银行专用的标识符被定义。当信用卡被发送以请求授权时,它被提交,当授权被接收,信用卡被核准。可能通过设计使变换发生的测试用例来测试CreditCard从一个状态到另一个状态的变换。对这种类型测试的广度优先方法在检查undefined和defined之前,不会检查submitted状态。若这样做了,它就使用了尚未经过测试的变换,从而违反了广度优先准则。 数据流测试 变量X的定义-使用链(或称DU链)的形式为[X,S,S’],其中S和S’为语句号,X在DEF(S)和USE(S’)中,且在语句S中定义的X在语句S’中有效。 一个简单的数据流测试策略要求每个DU链至少覆盖一次,我们称之为DU测试策略。已经证明DU测试并不能保证覆盖程序的所有分支。然而,DU测试不覆盖每个分支仅在if-then-else中的then没有定义变量且不存在else部分的情况下。在这种情况下,if语句和else分支并不需要
您可能关注的文档
- 集中空调冷水侧局部系统上位机控制器的实时控制分析-core.pdf
- 基于晗希技术和mapreduce的大数据集k-近邻算法-计算机科学.pdf
- 大鹏湾海水中各形态无机氮的分布变化-jtoaccn.pdf
- 加密数字签名-中国农业ceo网.ppt
- 无网格法进展及在地球物理学中的应用-北京玛格泰克科技发展有限公司.pdf
- wcs电流感测元件使用说明.pdf
- 交车给客户之前的品质与安全检验–2检查清单说明检查点-scania.pdf
- 台中立忠明高级中学105学年第2学期第7次行政会报-忠明高中.pdf
- 基于目标检测及跟踪的视频摘要技术研究-计算机科学.pdf
- 自我表露与社交网络隐私保护行为-中国社会科学网.pdf
文档评论(0)