网站大量收购独家精品文档,联系QQ:2885784924

基于切片技术的应用软件集成测试方法研究.docx

基于切片技术的应用软件集成测试方法研究.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? 基于切片技术的应用软件集成测试方法研究 ? ? 张 彤 (成都理工大学工程技术学院,四川 乐山 614000) 1 引言 普遍应用的软件测试方法可分为模块测试、系统测试和集成测试。模块测试主要是测试软件模块的功能,属于最低层次的测试。系统测试主要是对软件、硬件和其它影响因素的功能测试。集成测试又称组装测试,是在模块测试的基础上,对各个模块接口进行检测的一种测试方法,主要是为证明模块组合后能够正确且稳定地对接和交互,起到承上启下的作用,是软件测试的重要部分。 谢肖飞等人[1]提出基于符号执行与模糊测试的混合测试方法,运用模糊测试方法生成可以大量覆盖的待测试数据,基于得到的覆盖信息进行全局搜索,选取标准程序集和实际项目作为评测对象,进行有效性验证。通过构建虚拟设备的软件测试环境证明了该方法的可行性,但是该方法在测试的准确度方面还有所欠缺。姜苹等人[2]提出了一种基于正交试验法的故障诊断软件测试方法,该方法对故障诊断软件测试过程中需要考虑的特征因素进行分析,同时对正交检测法的理论依据进行了阐述。在软件测试过程运用正交实验法来提取代表性推理规则,并且对提取出的规则信息进行测试。根据测试效果可知,该方法解决了测试耗时过长的问题,但测试的可信度较低。 因此,本文提出基于切片技术的应用软件集成测试方法,在获取切片的过程中,将可信度和节点同时当作切片生成指标,通过定义网络拓扑带权图、权值矩阵、资源可信判定函数、切片可信度等相关因素,获得切片数据自动生成器框架。并采用结构驱动集成测试模式,实现应用软件测试。对比实验表明,本文方法具有较强的可行性,且测试速度和准确率与现有方法相比具有明显优势性。 2 软件测试范围与数据选取 程序切片技术是通过程序依赖图获取切片的技术,该技术通过程序分解成不同的切片来缩小测试范围,从而提高软件测试速度。软件切片[3]的构造大致可分为三部分,其结构框架如下图1所示。 定义程序P中的切片S为一个可执行程序。对于S处的变量v而言,S由可能影响变量数值的全部语句构成。可执行程序和程序P具有等效功能。以软件中数据依赖和控制依赖为基础,去除无用或重复语句后,获得切片。则定义集Def(s)和引用集Ref(s)分别为:Def(s)={m},Ref(s)={n}。 变量v满足v∈def(m)∩ref(n),节点m到节点n的路径p上的其它节点表示为m′∈p·{m,n},其中v?def(m′)。路径p上的其它节点表示为m′∈p·{m,n},当n是m的后必经点,n不是m的后必经点时,n控制依赖于m。 在获取切片的过程中,将可信度[4]和节点同时作为切片生成指标,在构造可信切片时,对各个相关因素作如下定义: 定义1:拓扑带权图G=(V,E),其中,V表示节点,E为链路。则E的权值w表示m到n之间的链路代价,可以表示为 (1) 定义2:权值矩阵[5]M,该矩阵表示带全无向图的权值分布。则M可以表示为 (2) 定义3:切片NS={VN,VL.PN,PL},VN={vn1,vn2,…,vnn}代表虚拟节点集合;VL={vl1,vl2,…,vln}代表虚拟链路[6]集合;PN={pn1,pn2,…,pnn}代表实际节点集合;PL={pl1,pl2,…,pln}代表实际链路集合的映射。 定义4:资源可信判定函数judge_ns_pre(x,y,t)如式(3),其中x是待判定资源集合,y是资源集合可信度,t为切片的可信需求。 (3) (4) 将切片技术运用到软件测试的过程中,重点关注程序中特定路径上的兴趣点[7,8],便可以提高测试效率。程序切片测试的基本流程如下: 1)通过黑盒测试确定输出结果,并检查是否产生错误,对产生的错误进行定位,确定其影响区域,从而对错误进行排除。 2)在不同层次上对依赖关系进行分析。 3)利用切片算法确定错误根源。 4)进行回归测试排除和修复程序,直到不再发生错误为止。 5)生成模块自动测试数据报告。 其测试数据生成系统框架如图2所示。 图2 切片数据自动生成器框架 图2中,切片获取模块主要用于计算软件中的各类切片,该过程包括对词法和语法进行分析,检测软件中词法或语法错误,并生成抽象语法树,根据语法树构建依赖关系图,最后利用切片生成器产生切片;测试模块是基于切片结果的测试过程,其中包括测试用例生成模块、静态分析模块和动态测试模块。静态分析主要的方法如下:对数据流和控制流的分析和研究;对程序中各种依赖关系的分析;对函数的静态调用关系及全局变量的分析;动态测试模块主要是通过程序动态切片技术,根据程序的数据结构合理性来测试各个模块的实际功能性,从而检测模块组合形成后的较大模块;错误处理主要是从各个模块中发现错误、然后通过后向切片技术将错误定位,最后利用前切片技术判定错误会影响的范围,将错误排除并且对程序进行修复[9

文档评论(0)

永兴文档 + 关注
实名认证
内容提供者

分享知识,共同成长!

1亿VIP精品文档

相关文档