当前位置: 首页 > 专利查询>刘志方专利>正文

支持Python扩展的测试方法技术

技术编号:3847260 阅读:193 留言:0更新日期:2012-04-11 18:40
一种支持Python扩展的测试方法,将Python解释器嵌入测试系统中,并将系统的测试驱动模块与Python本身的模块相整合,使得Python脚本语言的执行能够驱动测试的运行;同时,针对测试的需求变更,系统支持对Python脚本语言的扩展。主要实施步骤包括:建立一个基于脚本驱动的测试环境;测试用例设计F01;Python脚本编辑F02;Python解释器F03;测试驱动F04,将解释器解析出的输入数据传送到被测终端,并按照该数据驱动终端运行,然后捕获相应的结果数据;被测终端F05的执行;本发明专利技术对于扩展的支持,充分体现了对测试需求更新的适应能力,对于一个增量型开发的软件或系统,给测试人员提供一套完善方法,降低了测试成本,提高了测试开发、维护以及执行的效率。

【技术实现步骤摘要】

本方法一种,涉及一种软件自动化测试领域、语言应用扩展领域。能够根据具体测试需求的变更,更加灵活的扩展出新的测试应用。本方法是利用Python测试脚本语言的灵活特性,以及其解释器的快速移植性,将Python测试脚本语言的用于测试领域,对测试应用提供更好的支持。该方法需要将Python解释器嵌入测试系统中,并将系统的测试驱动模块与Python本身的模块相整合,使得Python脚本的执行能够驱动测试的运行。同时,针对测试的需求变更,系统支持对Python测试脚本语言的扩展,从而进一步提高脚本对测试的应变支持能力。
技术介绍
随着移动终端设备在人们生活中的大量普及,移动终端所能完成的功能也日趋丰富多彩,但随之而来是终端软件的质量问题不断涌现。因此,在智能终端投放市场前对终端的全面测试便成了智能终端软件开发商亟待解决的问题。但是智能终端还处于一个不断成熟和完善的阶段,各种新的功能不断被提出和实现,因此对于这种终端软件的测试方法的要求,除了能够完成现有软件功能的测试外,还需要具有良好的通用性,更重要的是要具有非常好的扩展性,能够在新的测试需求提出后,在最短的时间和代价内完成对新需求的测试工作。目前,主要的测试手段是脚本驱动的测试方式,在这种类型的测试方法的灵活性主要取决于两点, 一个是脚本语言本身的描述能力,另外一个是解释器的解释能力。因此,为了提高测试方法的扩展性,需要从上述两个方面入手选取描述能力比较强的脚本语言,如果必要,通过各种手段扩充其脚本的描述能力;从解释器部分入手,不仅仅将脚本的执行局限在解释器所能解释的语义范围内,而是将解释的环节进行扩充或者修改,达到利于扩展的目的。
技术实现思路
本专利技术的目的在于,通过提供一种,利用Python的语言灵活性,以及其解释器的快速移植性,将Python的用于测试领域,对测试应用提供更好的支持。该方法需要将Python解释器嵌入测试系统中,并将系统的测试驱动模块与Python解释器本身的模块相整合,使得Python脚本的执行能够驱动测试的运行。同时,针对测试的需求变更,系统支持用户对Python的扩展,从而进一步提高脚本对测试的支持能力。本专利技术是采用以下技术手段实现的一种,支持该方法的测试系统包括了 Python解释器以及Python脚本编辑器,并将Python解释器嵌入测试系统中,使系统的测试驱动模块与Python解释器本身的模块相整合,从而Python脚本的执行能够驱动测试的运行;同时,针对测试的需求变更,系统支持用户对Python的扩展;包括以下步骤;建立一个基于脚本驱动的测试环境;a、 测试配置与用例设计模块,按照被测终端的特点以及测试要求,配置相应的测试环境,设计符合测试方案要求的测试用例;b、 Python脚本编辑模块,根据设计的测试用例将测试的输入、输出、判断操作以脚本形式进行描述;c、 Python解释器模i央,针对Python测试脚本语言的解释工具,将脚本中描述的各项操作解释为实际被测终端上的输入数据,并且根据测试的反馈数据对脚本执行进行逻辑调度;d、 脚本解释器的扩展模块,将解释器的解释能力开放给用户,提供对解释器的定制以及扩充。e、 测试驱动模块,将解释器解析出的输入数据传送到被测终端,并按照该数据驱动终端运行,然后捕获相应的结果数据;f、 被测终端,为实际的被测系统。前述的测试系统采用基于脚本语言的测试用例描述和测试驱动模式进行构建。测试脚本语言采用Python,并将Python解释器嵌入测试系统。前述的测试用例使用Python脚本进行描述;这种定义测试用例的Python脚本内容包括测试对象、测试动作、测试结果。执行测试时,测试系统采用Python脚本定义的测试用例提交给脚本解释器。前述的Python脚本解释器解释测试用例,并生成相应的测试指令,测试指令提交给测试系统中的测试驱动模块。测试驱动模块根据测试指令产生相应的测试动作,驱动被测终端,在被测试终端上执行并产生测试结果。前述的测试系统支持用户扩展测试对象、测试动作、以及测试数据类型。前述的支持用户扩展测试对象、测试动作、以及测试数据类型,支持用户在Python中引入新的语言要素,扩展脚本解释模块;系统支持用户定义其引入的语言要素的执行,以及相应的指令驱动方式。本专利技术一种,与现有技术相比,具有以下明显的优势和有益效果本专利技术首先是将Python的嵌入测试系统,使得测试系统能够根据脚本解释器的输出相挂钩,随着解释的进行,系统根据解释的输出产生测试指令,并驱动测试执行。然后针对不同的测试领域的测试驱动方式以及测试数据都的不同,扩展出相应的解释模块,以支持新的数据类型以及驱动方式,当扩展完成后,整个测试系统不需要或只需要做很小的改动便可以支持新的测试需求。基于脚本的测试过程,其灵活性很大程度上取决于脚本描述的能力以及解释器的解释能力。将Python应用于测试领域,充分利用了 Python语言灵活的描述特性,以及其语法的严谨性,其描述能力有其先天的优势。另外,其解释器的稳定与高效性也提高了测试系统本身的测试稳定性。对于测试系统而言,其测试能力的首要标准是其对测试需求的满足程度。随着被测系统发展,将不断提出新的测试需求,要求测试系统能够快速提出解决方案并实施测试。本方法将测试系统建立在解释器层次之上,对于新的需求直接从解释器本身入手,根据统一标准扩展出相应的测试模块,而这样的模块都能够同系统进行无缝连接,提高了系统的扩展性,从而提高了系统的测试能力。本专利技术可以带来如下有益效果1、 测试方式的灵活性得到突出表现。本方法支持用户在测试设计的过程中,不拘泥与测试平台本身的能力,动态扩展需要或更加易用的测试模块,以达到测试的灵活实施。2、 对于测试脚本语言本身,由于本方法是一种在原有脚本语言基础上的扩展支持,因此原有的语言特性以及通用模块都可以用于现有的测试环境中,使得脚本语言本身的能力充分被利用起来。3、 对于扩展的支持,充分体现了对测试需求更新的适应能力,对于一个增量型开发的软件或系统,给测试人员提供一套完善方法进行递进式的测试支持,降低了测试成本,提高了测试开发、维护以及执行的效率。说明书附图附图说明图1为Python扩展测试方法的整体架构示意图;图2为基于Python扩展测试方法的模块示意图;图3为基于Python扩展的实施步骤示意图。具体实施例方式为了便于本领域普通技术人员理解和实施本专利技术,下面通过具体实施方式对本专利技术作进一步的详细和深入描述。图1中展示了基于Python扩展测试方法的整体架构。在一个基于脚本驱动的测试环境的中,测试步骤如图l所示测试用例设计FOl,按照被测终端的特点以及测试要求,设计符合测试方案要求的测试用例,测试用例中需要标明测试的输入、输出以及通过条件等;Python脚本编辑F02,是根据设计的测试用例将测试的输入、输出、判断等操作以脚本形式进行描述;Python解释器F03,是针对Python脚本的解释工具,能够将脚本中描述的各项操作解释为实际被测终端上的输入数据,并7且根据测试的反馈数据对脚本执行进行逻辑调度;测试驱动F04,将解释器解析出的输入数据传送到被测终端,并按照该数据驱动终端运行,然后捕获相应的结果数据;F05被测终端,为实际的被测系统;脚本解释器的扩展本文档来自技高网
...

【技术保护点】
一种支持Python扩展的测试方法,其特征在于:支持该方法的测试系统包括了Python解释器以及Python脚本编辑器,并将Python解释器嵌入测试系统中,使系统的测试驱动模块与Python解释器本身的模块相整合,从而Python脚本的执行能够驱动测试的运行;同时,针对测试的需求变更,系统支持用户对Python的扩展;包括以下步骤; 建立一个基于脚本驱动的测试环境; a、测试配置与用例设计模块,按照被测终端的特点以及测试要求,配置相应的测试环境,设计符合测试方案 要求的测试用例; b、Python脚本编辑模块,根据设计的测试用例将测试的输入、输出、判断操作以脚本形式进行描述; c、Python解释器模块,针对Python测试脚本语言的解释工具,将脚本中描述的各项操作解释为实际被测终端上的 输入数据,并且根据测试的反馈数据对脚本执行进行逻辑调度; d、脚本解释器的扩展模块,将解释器的解释能力开放给用户,提供对解释器的定制以及扩充。 e、测试驱动模块,将解释器解析出的输入数据传送到被测终端,并按照该数据驱动终端运行, 然后捕获相应的结果数据; f、被测终端,为实际的被测系统。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘志方高小鹏汪治龙翔刘斌
申请(专利权)人:刘志方高小鹏汪治殷永峰
类型:发明
国别省市:11[中国|北京]

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

1
相关领域技术
  • 暂无相关专利