关于Klocwork测试规则二次开发测试规则本地化.docVIP

关于Klocwork测试规则二次开发测试规则本地化.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于Klocwork测试规则二次开发测试规则本地化

关于Klocwork测试规则二次开发测试规则本地化   【摘要】代码走查和程序分析是软件测试中的重要环节,如何能方便的进行代码检查并规范程序的书写,成为软件编码的迫切需求,本文介绍了软件程序分析的一些方法,在阅读Klocwork代码检查规则开发的相关文档后,添加成功了软件编码自己制定的一些规则,希望本地制定的编码规则能够被自动化的测试出来,从而实现测试规则的本地化。   【关键词】程序分析;编码规范;测试规则   1.引言   软件程序测试简单地说,就是查看代码并找出里面的错误,使得程序在运行时更加稳定。   软件测试的目的在于发现错误,一个好的测试用例能够发现从未发现过或者一直隐藏的错误。   软件测试被定义为,“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是分析预期结果与实际结果之间的差距与不足”。   在软件测试的初期,一般除了对软件的功能、性能和接口等进行测试外,主要程序的代码进行静态的分析和测试,比如利用自动的代码静态检查工具和人工代码走查。代码静态检查工具利用自己定义好的测试规则对代码进行内存泄露、数据越界、变量未初始化、文件操作结束后未关闭等代码缺陷方面的静态检查;人工代码走查对代码的上下文逻辑关系和处理流程进行检查。   2.软件程序的分析方法   在所有的软件测试阶段用的分析都包含:测试数据选择、程序执行、数据收集和结果评价等几个方面。测试数据的选择可以基于不同信息源的考虑,包括规格、实现和潜在的错误及故障。收集数据信息可能需要对程序文本进行分析并进行程序插装。程序执行本身就是一种分析形式。建立一个用于验证的准则可能需要进行额外的分析。   2.1 文本分析   从文本的角度来看,一个程序被看成是字符或者记号的序列,许多主要的度量,例如程序长度和标识符频度,都是从文本的角度来看待程序的。文本编辑器把程序作为文本对象进行处理,同时做文本扫描和行计算等操作。例如,常用的Word、UltraEdit、Windows自带的记事本是以文本的角度来对待程序的。编程规范经常是从文本的观点进行表达的。从文本的角度分析程序,一般不对程序的语法和语义进行分析,而只对文本本身的基本内容进行分析。例如,分析程序的规模、行数、词汇数、词汇频度等内容。   2.2 句法分析   一个程序可以被看成一个分析结构。它可以被分解到子程序,再被分解到语句组,然后被分解到语句,直到符号层。在这个分解中,每个最基本的元素以及元素间的组合关系是由程序语言的语法决定的。从句法角度分析程序,可以分析程序的语句计数、标示符交叉引用、函数调用关系、声明和未声明的变量、变量使用的频度等程序的特性。在程序执行过程中,许多程序特性可以被确定。例如,哪些语句或分支被执行到。可以获得执行语句的数量或者完全跟踪每个表达式被计算的值。在测试程序时,常常要在程序中插入一些打印语句,其目的在于希望程序执行时,打印出我们最关心的信息,通过这些信息进一步了解程序在执行过程中的动态特性。例如,程序的实际执行路径,特定变量在特定条件下的取值等。   2.3 控制流分析   一个程序的控制流关系叙述了程序元素和他们的执行次序的联系。一个程序元素通常是一个条件、一个简单的语句,或者是一个语句块。   2.4 数据流分析   程序通过他们的数据访问行为关联起来,这就确定了数据流关系。数据流异常值得进行进一步研究,因为它可以揭示一些缺陷。例如,一个变量被定义了两次却没有被使用过,使用一个没有被定义的变量,取消一个自上此定义后没有被使用过的变量的定义。   2.5 符号分析   符号分析探索使用一种更一般的方法来描述被程序执行的功能。一个符号的执行系统接受3个输入:被调用的程序、用于程序的符号输入和遵循的路径。他产生两个输出:描述已选择路径执行的符号输出和那个路径的条件。路径的规格可以是交互的,也可以是预先选择的。符号输出可以用于证明程序相对于它的规格的正确性,并且路径条件可以用于产生测试数据以执行期望的路径。然而,结构化数据类型会有所不同,因为它有时不可能推断出什么组件被修改了。   路径的符号执行可以通过符号化地执行路径中出现的赋值语句来实现。这样,赋值语句通过符号化的评价来执行赋值语句右边的表达式。最终的符号值变成了赋值语句左边变量的新的符号。一个逻辑的或数学的表达式通过把其中的变量替换成符号值来执行。   出现在条件分支语句中的分支条件和谓词符号系统可以通过同时符号化执行赋值语句和分支谓词来构造。谓词符号系统包含通过分支谓词执行而产生的符号谓词序列。所有的符号化的执行系统都必须包含一种方便的技术或工具用于选择符号化的执行的路径,用于符号化的执行路径,并且用于产生需要的符号化输出。   有3种类型的路径选

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档