一种基于用例与源码双向追溯的测试装置及方法制造方法及图纸

技术编号:10497819 阅读:137 留言:0更新日期:2014-10-04 15:02
本发明专利技术涉及一种测装置和方法,主要用于软件测试,具体涉及一种基于用例与源码双向追溯的测试装置及方法。其中,装置包括:源码分块装置,双向关联装置,关系呈现装置。因此,本发明专利技术具有如下优点:1、沟通顺畅化:将测试关心的开发细节以及开发关心的测试细节完全的可视化和共享;2、结果可视化:记录并显示程序内部的各个逻辑块、条件及其组合的执行结果;3、测试规范化:将单元测试,功能测试、集成测试、系统测试各阶段进行穿线关联。

【技术实现步骤摘要】
一种基于用例与源码双向追溯的测试装置及方法
本专利技术涉及一种测装置及方法,主要用于软件测试,具体涉及一种基于用例与源码双向追溯的测试装置及方法。
技术介绍
目前软件测试过程中,开发和测试人员之间很难充分的互动和协作,并且在测试人员执行黑盒测试时,由于无法知道程序内部运行的结构和情况,从而导致测试人员以及开发人员都无法知道自己的用例是否充分。此外,一方面,由于开发人员通常不会给测试人员讲解详细的程序逻辑,导致测试人员无法设计完整的测试用例,难以完成充分的测试;而另一方面,测试人员通常也不会给开发人员详细介绍测试情况,从而导致开发人员并不清楚测试用例具体对应的程序执行逻辑。这种开发与测试人员之间的信息鸿沟,导致开发时产生的很多低级错误使测试人员对于版本质量失去信心也会给测试工作带来非常大的障碍。使得测试的效率和质量得不到保障,甚至为后的软件应用过程埋下巨大隐患。
技术实现思路
本专利技术主要是解决现有技术所存在的“开发人员与测试人员信息孤立而导致测试不充分”的技术问题,提供了一种基于用例与源码双向追溯的测试装置及方法。采用该装置及方法,可以将测试关心的开发细节以及开发关心的测试细节完全的可视化和共享;同时还能记录并显示程序内部的各个逻辑块、条件及其组合的执行结果;并且能将单元测试,功能测试、集成测试、系统测试等各阶段进行穿线关联。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于用例与源码双向追溯的测试装置,包括:源码分块装置,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表;双向关联装置,调用测试用例执行待测试程序,记录程序运行中产生的含有块标识的测试信息,利用该测试信息建立代码块和测试用例的执行数据关联表;关系呈现装置,根据用户选择呈现测试用例与所执行的测试程序之间的关联信息。优化的,上述的一种基于用例与源码双向追溯的测试装置,还包括根据所述代码块之间的关系基于层次布局算法将所述代码块进行整体性布图并呈现的逻辑呈现装置。其中,“层次布局算法”参见“随程序规模动态调整的通道优化布线算法,胡开宝等,计算机应用,2014,33(4),2013年4月1日”。优化的,上述的一种基于用例与源码双向追溯的测试装置,所述源码分块装置包括:词法分析模块、类型分类模块、结构标识模块、结构校正模块。词法分析模块用于对待测试程序的字符流进行扫描然后识别单词和语句,并将程序语句标记为分支语句、顺序语句。分支语句中包括函数和控制语句的开始结束处,以及控制语句的判断条件处;顺序语句是一组没有分支语句的连续代码段。类型分类模块用于根据词法分析模块输出的语句类型,将程序代码分割成多个代码块,所述代码块包括顺序块和分支块,其中:所述顺序块是一组没有分支判断的连续代码语句,所述分支块是分支判断语句的节点,用于源码的可视化,即源码控制流程图。流程图需要通过图形来描述源码的控制结构,所以需要标识哪些块是分支块,这样才能绘制出完备充分的源码控制流程图。结构标识模块用于分析所述类型分类模块输出的顺序块以及分支块在程序代码中的逻辑位置,在块结构代码中添加用于表示程序代码逻辑结构的标识。标识是自定义的一组常量,是块编码的一部分,用于标识源代码的结构,分别在程序(函数)的开始处;控制语句的开始处;控制语句体;程序(函数)的结束处(即连接处)进行标识,其特点是通过易于理解的标识来表示程序代码的逻辑结构,将源代码分块进行编码,以数字化的形式存储于数据库中,并为源码结构可视化提供数据支撑。结构校正模块,校正结构标识模块分析得到的所述块结构逻辑位置,生成描述程序逻辑结构的块编码表。结构校正模块主要用于对一些特殊段和特殊的语句(如:break等)的校正,使所生成的块既准确又尽可能少,提高后期处理的效率,最终得到代码的块编码表。块编码表是为了描述程序的逻辑结构,用来表述类、函数、全局变量、静态变量的结构关系和实现对程序的动态绑定,以数字化的形式存储于数据库中,并为源码结构可视化提供数据支撑。优化的,上述的一种基于用例与源码双向追溯的测试装置,所述类型分类模块包括:中间类型存储单元、中间类型合并单元、顺序块确认单元、分支块确认单元。中间类型存储单元用于存储中间类型语句。中间类型就是不确定的块类型,在下一个控制语句块生成之前来改造其类型。中间类型合并单元在词法分析模块输出的语句是非分支语句,将该语句与中间类型存储单元中的中间类型语句合并。顺序块确认单元,若中间类型存储单元中的中间类型语句不为空,并且词法分析模块输出的语句是非分支语句,则将该中间类型语句标记为一个顺序块,并清空中间类型存储单元;分支块确认单元,若词法分析模块输出的语句是分支语句,则将该语句标记为一个分支块。优化的,上述的一种基于用例与源码双向追溯的测试装置,所述双向关联装置包括:代码插桩模块,在源码分块装置处理后的程序代码块中植入探针,所述探针在程序运行时能够生成记录有探针所在代码块的标识的测试信息;用例调用模块,调用测试用例执行待测试程序,记录探针产生的测试信息;代码关联模块,根据测试信息中的代码块标识信息建立记录测试用例与代码块关联关系的测试用例与块关联表。一种基于用例与源码双向追溯的测试方法,包括:源码分块步骤,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表;双向关联步骤,调用测试用例执行待测试程序,记录程序运行中产生的含有块标识的测试信息,利用该测试信息建立代码块和测试用例的执行数据关联表;关系呈现步骤,根据用户选择呈现测试用例与所执行的测试程序之间的关联信息。优化的,上述的一种基于用例与源码双向追溯的测试方法,其特征在于,还包括根据所述代码块之间的关系基于层次布局算法将所述代码块进行整体性布图并呈现的逻辑呈现步骤。优化的,上述的一种基于用例与源码双向追溯的测试方法,所述源码分块步骤包括:词法分析步骤,对待测试程序的字符流进行扫描然后识别单词和语句,并将程序语句标记为分支语句、顺序语句;类型分类步骤,根据词法分析步骤输出的语句类型,将程序代码分割成多个代码块,所述代码块包括顺序块和分支块,其中:所述顺序块是一组没有分支判断的连续代码语句,所述分支块是分支判断语句的节点;结构标识步骤,分析所述类型分类步骤输出的顺序块以及分支块在程序代码中的逻辑位置,在块结构代码中添加用于表示程序代码逻辑结构的标识;结构校正步骤,校正结构标识步骤分析得到的所述块结构逻辑位置,生成描述程序逻辑结构的块编码表。优化的,上述的一种基于用例与源码双向追溯的测试方法,所述类型分类步骤包括:中间类型存储子步骤,存储中间类型语句;中间类型合并子步骤,若词法分析步骤输出的语句是非分支语句,则将该语句与中间类型存储步骤中的中间类型语句合并;顺序块确认子步骤,若中间类型存储单元中的中间类型语句不为空,并且词法分析步骤输出的语句是非分支语句,则将该中间类型语句标记为一个顺序块,并清空中间类型存储单元;分支块确认子步骤,若词法分析步骤输出的语句是分支语句,则将该语句标记为一个分支块。优化的,上述的一种基于用例与源码双向追溯的测试方法,所述双向关本文档来自技高网...
一种基于用例与源码双向追溯的测试装置及方法

【技术保护点】
一种基于用例与源码双向追溯的测试装置,其特征在于,包括:源码分块装置,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表;双向关联装置,调用测试用例执行待测试程序,记录程序运行中产生的含有块标识的测试信息,利用该测试信息建立代码块和测试用例的执行数据关联表;关系呈现装置,根据用户选择呈现测试用例与所执行的测试程序之间的关联信息。

【技术特征摘要】
1.一种基于用例与源码双向追溯的测试装置,其特征在于,包括:源码分块装置,分析并获取待测试程序中的代码块,在待测试程序的所述代码块中添加用于标识程序逻辑结构的块标识,生成一个用于描述程序中代码块逻辑结构的块编码表;双向关联装置,调用测试用例执行待测试程序,记录程序运行中产生的含有块标识的测试信息,利用该测试信息建立代码块和测试用例的执行数据关联表;关系呈现装置,根据用户选择呈现测试用例与所执行的测试程序之间的关联信息;所述源码分块装置包括:词法分析模块,对待测试程序的字符流进行扫描然后识别单词和语句,并将程序语句标记为分支语句、非分支语句和结束语句;类型分类模块,根据词法分析模块输出的语句类型,将程序代码分割成多个代码块,所述代码块包括连续块和分支块,其中:所述连续块是一组没有分支判断的连续代码语句,所述分支块是分支判断语句的节点;结构标识模块,分析所述类型分类模块输出的连续块以及分支块在程序代码中的逻辑位置,在块结构代码中添加用于表示程序代码逻辑结构的标识;结构校正模块,校正结构标识模块分析得到的所述块结构逻辑位置,生成描述程序逻辑结构的块编码表。2.根据权利要求1所述的一种基于用例与源码双向追溯的测试装置,其特征在于,还包括根据所述代码块之间的关系基于层次布局算法将所述代码块进行整体性布图并呈现的逻辑呈现装置。3.根据权利要求1所述的一种基于用例与源码双向追溯的测试装置,其特征在于,所述类型分类模块包括:中间类型存储单元,存储中间类型语句;中间类型合并单元,若词法分析模块输出的语句是非分支语句和非结束语句,则将该语句与中间类型存储单元中的中间类型语句合并;连续块确认单元,若中间类型存储单元中的中间类型语句不为空,并且词法分析模块输出的语句是分支语句或结束语句,则将该中间类型语句标记为一个连续块,并清空中间类型存储单元;分支块确认单元,若中间类型存储单元中的中间类型语句为空,并且词法分析模块输出的语句是分支语句,则将该语句标记为一个分支块。4.根据权利要求1所述的一种基于用例与源码双向追溯的测试装置,其特征在于,所述双向关联装置包括:代码插桩模块,在源码分块装置处理后的程序代码块中植入探针,所述探针在程序运行时能够生成记录有探针所在代码块的标识的测试信息;用例调用模块,调用测试用例执行待测试程序,记录探针产生的测试信息;代码关联模块,根据测试信息中的代码块标识信息建立记录测试用例与代码块关联关系的测试用例与块关联表。5....

【专利技术属性】
技术研发人员:赵明
申请(专利权)人:上海零一拼装信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1