基于抽象语法树的代码静态自动测试方法研究.PDF

基于抽象语法树的代码静态自动测试方法研究.PDF

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

第34卷增穗l 魏家亿工大学学报 V蠢。34,Sup.1 2007年 JOURNAL0FBEIJINGUNIVERSITY0FCHEMICALTECHNOLOGY2007 基于抽象语法树的代码静态自动测试方法研究 高传平1 谈利群1 宫云战2 (1。北京豳形研究所,北京lO∞29;2.北东邮电大学网络与交换技术国家重点实验室,北索l00876) ● 摘要:软件测试是排除软件故障,提高软件质嫩和可靠性的重要手段。从是否需鼹执行被测稷序角度考虑,软件 测试分为静态测试和动态测试。动态测试通过输入测试数据,动态执行程序来发现软件中存在灼错误。尽管动态 溅试麓发凌郝分软俸镶浚,健对予一蕊特殊类受错误酶捡淡无效。签予魏,本文采取了一释特殊静静态分橱按术 求实现对代码的测试。本文首先讨论了传统软件测试方法的缺点和局限性,给出了软件的故障模型,进而提出了 基于抽象语法树的静态分析技术,并给出了故障自动检测算法。依据该算法开发了自动化测试工具,给出了实验 终莱穰对滋分辑,劳掺囊了下一步黪戮究方褰。 荚键词:软件测试;静态分析;故障;故障模型;语法树 巾豳分类号:TP302.8 (2)动态测试在很大程度上受测试人员自身素 引 言 质和经验的影响。测试人员的经验和素质将会直接 软件测试燕撵除软停歉障,提高软件质薰秘可 影噙滚试数据酶设计,反丽阕接对测试结聚产生影 靠性的重要手段。按是否需要动态执行被测程序考 响。 虑,软件测试分为两类,即静态测试和动态测试n]。 (3)动态测试的结果有时难以复现。某些故障 静态测试是指不运行实际被测的澡程序,两是通过 的发生具有偶然性,这不仅与溅试数据的选择有关 采用其他手段对程序结构进行静态分析,获得程序 祭,而且与程序的操作逻辑及执行次数有关。 结构的相关信息,并完成对软件故障的检测;动态测 (4)动态测试对于一些特殊类型故障的检测无 试通过输入测试数据,动态执行程序来发现软件中 效。动态测试对予软件本身存在斡一些深层次逻辑 存在的错误。动态测试只存在于软件生存期的编码 结构方面的错误或者一些比较特殊错误的检测是无 阶段之后。动态测试包括两个基本要素:一是被测 麓为力的。如动态测试对于不可达代码孵测试无 程序,二是测试数据,程序一次运行所需要的测试数 效。 据称为测试用例,所以测试数据是测试用例的集合。 为了能有效地解决上述问题,本文采取了一种 尽管凌态测试能发现程序中存在的慕些方西的错 特殊的静态分析方法来实现对程序代码酶静态检 误,佩是对于软件本身存在的一些深层次逻辑结构 溯,尤其是对于那些用动态方法无法检测的软件问 方面的错误或者一些比较特殊的错误的检测是无能 题。 为力戆。与静态测试穗毙,动态测试虽然髓在软件 圭 故障模型 运行时发现一些软件故障,但又明显具有一定的局 限性。 在传统的软件测试方法中,一个故障能否被检 (1)动态溅试酶结果依羧予溅试数据酶选择。 溯裂,是取决予该故障检测概率懿大小,对软件孛存 好的测试数据往往能发现软件中存在的更多的故 在的所有故障的检测而言,只熊以故障检测的百分 障,而不好的测试数据很难发现软件中存在的故障, 比来衡量。如果一种故障的故障检测率比较高,则 因诧测试数据的选择至关重要。 此种故障毖较容易捡溯,否剐放障就不容易被捡溅。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档