基于蕴含关系地场景测试法路径优化方法研究.doc

基于蕴含关系地场景测试法路径优化方法研究.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于蕴含关系地场景测试法路径优化方法研究

基于蕴含关系的场景测试法路径优化方法研究-电气论文 基于蕴含关系的场景测试法路径优化方法研究 严悍,许昌年,朱文,丁锋,王宇 (南京理工大学计算机科学与工程学院,江苏南京210094) 摘要:针对场景测试法中多场景切换代价优化问题,在复合状态分析、逻辑蕴含概念基础上,从测试场景结构分解的角度,给出状态蕴含和场景蕴含关系的定义及推论,由场景蕴含形成场景蕴含图SIG,然后采用图论方法求解优化路径。给出系统化处理方法,并与其他方法比较。最后实例验证该方法的有效性。 关键字:场景测试法;蕴含关系;路径优化;场景蕴含图;状态蕴含 中图分类号:TN911-34;TP311 文献标识码:A 文章编号:1004-373X(2015)12-0118-05 收稿日期:2014-12-12 基金项目:国家自然科学基金 0 引言 场景测试法[1](Scenario Test)也称为用例测试法(Use Case Test),是一种软件黑盒测试方法,广泛用于复杂交互式软件测试,尤其适用于嵌入式软件的分布式测试。分布式测试中人员、设备和测试对象都具有特定的地理分布要求,导致测试场景的构建和撤销代价较大。如何通过减少场景数量、避免重建场景、优化场景切换路径来减少代价,提高测试效率,已成为一个重要且亟待解决的问题。场景测试法依据测试需求形成多个不同测试场景。测试实施中先建立场景、执行测试用例、撤销场景,再建下一个场景,如此循环直到完成所有场景。对于多场景执行次序目前缺乏科学有效的定义和方法指导。多场景执行次序如果选择不当,将导致重复建设和浪费。当测试失败时往往需要重建多个场景后重测,代价更大。 Jacobson在文献[2-3]中提出用例驱动的软件工程思想,在此基础上IBM Rational公司在RUP2000中提出场景测试法。该方法未说明多场景执行的次序。文献[4]采用用例行为矩阵度量场景的优先级,通过该优先级对多个场景进行排序和路径合并,从而减少测试代价。文献[5]先依据用例事件流建立事件有向树,然后对该树进行路径搜索,最后合并子路径,提高场景重用率。文献[6]依据业务流选择部分场景优先测试,减少测试代价的同时保证功能可用性。以上研究大多侧重于测试场景的行为特征,而忽视场景结构特性。本文通过研究测试场景结构、复合状态分析、逻辑蕴含概念,通过状态蕴含和场景蕴含关系,探索一种新思路来减少多场景切换代价。 1 测试场景的构成与场景蕴含 首先分析场景简单切换的问题,给出状态蕴含和场景蕴含的关系。 1.1 测试场景的简单切换 在一般场景测试法中,测试一个场景s1前构建该场景,测试完成后需撤销该场景。场景切换就是撤销前一个场景并构建下一个场景的过程,如图1所示。 图1中假设场景s1的构建代价为b1,撤销代价为d1,场景s2的构建代价为b2,撤销代价为d2,那么在由s1切换到s2时,切换代价可量化为d1+b2,由s2切换到s1时,代价为d2+b1。这种切换称为简单切换。这种切换可能导致重复构建/撤销。以s1切换到s2为例,如果s1中的部分对象在s2中也要使用,那么切换时就额外增加了撤销和重建的代价。 简单切换的好处是可在任意两个场景之间进行切换,缺点是代价高。 将场景作为结点,简单切换作为有向边,切换代价作为边权值,就可形成一个赋权有向图,而且该图是有向完全图。基于该图选择任何路径都无法得到优化,原因是简单切换边不能表示场景之间内在的蕴含关系。 1.2 场景和状态蕴含关系 定义1:测试场景。一个测试场景s 是针对一个或几个用例的测试需求,由一组语境对象组成的执行环境,这些对象具有特定的类型、个体及其状态的要求。场景s 的语境对象的集合记为c(s)。 图2表示测试场景中的语境对象的性质。 图2中一个测试场景包含一个或多个语境对象,而且每个语境对象都具有类型、个体及其状态的限定。语境对象按类别可划分为:测试人员、测试设备、测试对象。其中,测试对象可能是一套受测软件,或者一组构件,或者一组对象,或者单个对象(最简单场景)。 由定义1可知,两个测试场景之间的差别就是其语境对象之间的差别,即对象类型、对象个体及其状态的差别。下面分析对象状态之间关系及其对测试用例(test case,下称测例)执行的作用机制。 UML状态机定义了一个对象的2个状态s1s2之间可能具有子状态的复合关系。假设s1是s2的一个子状态,若处于s1态则必处于s2态,反之不然[7]。 定义2:状

您可能关注的文档

文档评论(0)

镜花水月 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档