一种面向程序结构分析自动化框架模型制造技术

技术编号:13834068 阅读:59 留言:0更新日期:2016-10-14 17:48
本发明专利技术公开了一种面向程序结构分析自动化框架模型,该模型包括以下五个基本模块:语法分析器,为一个完整的编译模块,所处理的对象是标准语言的子集;策略配置器,根据所要采用的测试方法来设计测试模型对具体测试活动的支持;指令生成器,计算程序动态执行时要处理的测试工作,生成测试处理模块插入到源程序中,构成自包含测试信息的被测试程序,提交给仿真执行模块运行;测试用例生成器,测试活动根据测试的完备情况反复进行;指令仿真执行器,提供一个测试框架内部的仿真执行环境。该一种面向程序结构分析自动化框架模型与现有技术相比,能够完成对程序的自动测试过程,可以减少人工劳动,提高测试的自动化程度,实用性强,易于推广。

【技术实现步骤摘要】

本专利技术涉及计算机软件测试
,具体地说是一种实用性强、面向程序结构分析自动化框架模型
技术介绍
软件测试是一项花销巨大的工作。传统的人工测试技术不但要耗费大量的人力资源,还需要很长的测试周期,测试的效率低下,并严重依赖于测试人员的个人经验,即使很简单的程序也可能由于个体思维习惯导致测试的遗漏。自动测试技术则可以弥补这些问题。自动化测试是个完整、严密的测试过程,使用准确的测试法则和评估标准,避免测试人员经验判定的疏漏,以及惯性思维所导致的偏差。随着自动测试技术的研究以及相应的自动测试工具的开发,自动测试技术可以有效提高测试的效率,减少繁琐的重复劳动,保证测试的可重复性。对于繁琐而大量重复的软件测试工作,自动测试技术无疑正是测试人员所期待的解决办法。软件测试技术发展到一定的阶段,随着软件系统规模的增大,软件测试复杂性增加,传统的测试技术己经难以适应软件开发过程的要求,要求对传统测试技术有突破性的发展,自动化软件测试技术展现出的强大发展潜力使之成为软件测试研究的重要内容。如何提高自动化软件测试的性能,扩展自动化软件测试的功能,提高自动化软件测试的实用性和软件产品的可靠性,是自动化软件测试需要解决的主要问题。基于此,本专利技术提供一种面向程序结构分析自动化框架模型,采用进化计算、启发式学习以及有限状态自动机等不同的研究方法,对软件测试自动化的各种技术和实现进行改进和创新,对提高软件测试的自动化程度和保证自动测试的有效性都有极大的现实意义和研究价值。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、面向程序结构分析自动化框架模型。一种面向程序结构分析自动化框架模型,该模型包括以下五个基本模块:语法分析器,为一个完整的编译模块,所处理的对象是标准语言的子集;策略配置器,根据所要采用的测试方法来设计测试模型对具体测试活动的支持,同时为不同的测试目标进行测试活动的安排;指令生成器,在测试策略的控制下,针对不同测试策略,计算程序动态执行时要处理的测试工作,生成测试处理模块插入到源程序中,构成自包含测试信息的被测试程序,提交给仿真执行模块运行;测试用例生成器,是一个相对独立的模块,测试活动根据测试的完备情况反复进行;指令仿真执行器,该模块提供了一个测试框架内部的仿真执行环境,实现程序动态运行与检测的功能。语法分析器首先对双源程序进行词法分析,使用有限自动机对正则表达式所表示的词法规则进行识别,即通过有限自动机的识别,对程序中的各个变量进行标识,以及变量所处的位置进行记录,以供后续的测试处理分析。所述语法分析器完成对被测试程序的结构分析,自动为被测试程序生成抽象语法树,对该语法树进行遍历后,生成程序的邻接矩阵进而计算程序控制流路径,提供给后续测试活动使用。指令生成器以三址码表示方式将测试程序提供给指令仿真生成器进行处理,相对应的,指令仿真执行器将该指令生成器生成的三址码表示的中间代码进行解释执行,以实现程序动态运行与检测的功能。所述测试用例生成器是在自动测试过程中,完成对输入数据的处理,在需要时被调用,以模拟人工输入为程序执行提供必要的输入数据。上述模型通过语法分析器对程序结构的解析,采用嵌入源码方式为被测试程序插入测试探针,在指令仿真执行器提供的模拟仿真环境下通过运行带有测试探针的被测试程序,完成对程序的自动测试过程。嵌入源码方式的测试处理是指:在对程序控制结构进行解析后,根据测试策略的配置,对程序控制流中要实现的测试处理过程进行预计算和定义,为需要进行测试和监控的运行节点加入处理模块;这样,当程序按正常控制流运行到特定的测试处理模块时,控制被交至测试处理模块,模块对己运行的控制流信息进行分析和测试,生成对应的测试报告,然后将控制交还程序继续执行。本专利技术的一种面向程序结构分析自动化框架模型,具有以下优点:本专利技术的一种面向程序结构分析自动化框架模型,采用进化计算、启发式学习以及有限状态自动机等不同的技术,对软件测试自动化的各种技术和实现进行改进和创新,对提高软件测试的自动化程度和保证自动测试的有效性都有极大的现实意义和研究价值;能够完成对程序的自动测试过程,可以减少人工劳动,提高测试的自动化程度,实用性强,易于推广。附图说明附图1为标识符的自动机模型图。附图2为本专利技术的结构示意图。附图3为程序仿真执行流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步说明。如附图1、图2所示,本专利技术提供一种面向程序结构分析自动化框架模型,针对C语言结构分析的自动化测试模型,模型以编译模块为基础,通过对程序结构的解析,采用嵌入源码方式为被测试程序插入测试探针,在模拟仿真环境下通过运行带有测试探针的被测试程序,完成对程序的自动测试过程,可以减少人工劳动,提高测试的自动化程度。该模型的实现是一个集成的自组织环境,主要支持单元测试、测试用例自动生成、功能测试以及连续循环测试等自动测试活动。测试活动的实现采用了源码嵌入式的测试探针技术来实现,模型的组织,主要包括5个基本模块,如图2。一、语法分析器。语法分析器实际是一个完整的编译模块,所处理的对象是标准语言的子集。语法分析器首先双源程序进行词法分析,主要使用有限自动机对正则表达式所表示的词法规则进行识别。例如对字母和数字的表示为:letter=[a-zA-Z]digit=[0-9]标识符的正则表达式可表为:identifier=letter(letter本文档来自技高网...

【技术保护点】
一种面向程序结构分析自动化框架模型,其特征在于,该模型包括以下五个基本模块:语法分析器,为一个完整的编译模块,所处理的对象是标准语言的子集;策略配置器,根据所要采用的测试方法来设计测试模型对具体测试活动的支持,同时为不同的测试目标进行测试活动的安排;指令生成器,在测试策略的控制下,针对不同测试策略,计算程序动态执行时要处理的测试工作,生成测试处理模块插入到源程序中,构成自包含测试信息的被测试程序,提交给仿真执行模块运行;测试用例生成器,是一个相对独立的模块,测试活动根据测试的完备情况反复进行;指令仿真执行器,该模块提供了一个测试框架内部的仿真执行环境,实现程序动态运行与检测的功能。

【技术特征摘要】
1.一种面向程序结构分析自动化框架模型,其特征在于,该模型包括以下五个基本模块:语法分析器,为一个完整的编译模块,所处理的对象是标准语言的子集;策略配置器,根据所要采用的测试方法来设计测试模型对具体测试活动的支持,同时为不同的测试目标进行测试活动的安排;指令生成器,在测试策略的控制下,针对不同测试策略,计算程序动态执行时要处理的测试工作,生成测试处理模块插入到源程序中,构成自包含测试信息的被测试程序,提交给仿真执行模块运行;测试用例生成器,是一个相对独立的模块,测试活动根据测试的完备情况反复进行;指令仿真执行器,该模块提供了一个测试框架内部的仿真执行环境,实现程序动态运行与检测的功能。2.根据权利要求1所述的一种面向程序结构分析自动化框架模型,其特征在于,语法分析器首先对双源程序进行词法分析,使用有限自动机对正则表达式所表示的词法规则进行识别,即通过有限自动机的识别,对程序中的各个变量进行标识,以及变量所处的位置进行记录,以供后续的测试处理分析。3.根据权利要求2所述的一种面向程序结构分析自动化框架模型,其特征在于,所述语法分析器完成对被测试程序的结构分析,自动为被测试程序生成抽象语法树,对该语法树进行遍历后,生成程序的邻接矩阵进而计算程序控制流路径,提供给后续测试活动使用。4...

【专利技术属性】
技术研发人员:方超
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1