CN103150249B - 一种自动化测试的方法和*** - Google Patents

一种自动化测试的方法和*** Download PDF

Info

Publication number
CN103150249B
CN103150249B CN201110404626.5A CN201110404626A CN103150249B CN 103150249 B CN103150249 B CN 103150249B CN 201110404626 A CN201110404626 A CN 201110404626A CN 103150249 B CN103150249 B CN 103150249B
Authority
CN
China
Prior art keywords
test
test case
script
data
beta version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110404626.5A
Other languages
English (en)
Other versions
CN103150249A (zh
Inventor
薛亚斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201110404626.5A priority Critical patent/CN103150249B/zh
Publication of CN103150249A publication Critical patent/CN103150249A/zh
Application granted granted Critical
Publication of CN103150249B publication Critical patent/CN103150249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种自动化测试的方法和***,所述方法包括:步骤1,测试用例管理器设置测试用例的业务验证函数和测试数据,所述测试数据包括信令参数和业务参数;步骤2,脚本生成器生成测试用例的脚本;步骤3,测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值;步骤4,测试执行调度器执行指定的测试版本中测试用例的脚本;步骤5,测试结果器根据测试执行调度器的执行结果生成测试报告。本发明能够避免遗漏对功能间相互影响的测试。

Description

一种自动化测试的方法和***
技术领域
本发明涉及互联网测试领域,特别涉及一种自动化测试的方法和***。
背景技术
进行自动化测试的一种现有技术为录制回放技术。其中,测试过程分为测试计划、测试设计、测试构建、测试执行、测试结果分析和报告等几个阶段。测试执行和测试报告是属于机械的、多次重复的活动,大概要占测试总工作量的80%左右,应该被自动化完成。测试构建活动也有部分工作可以被自动化,如自动产生脚本框架等。对测试报告活动的自动化,从技术实现上说差别不大,各种测试自动化技术的差别主要体现在对测试构建和测试执行过程的自动化上。测试执行活动又分为输入数据、执行测试、验证测试数据三个部分,其中工作量最大、实现起来最容易的就是输入数据和执行测试过程的自动化,最初采取的方法就是由计算机记录手工操作的过程和数据,再次执行测试时,根据上次记录内容回放即可,就不需要手工输入了,这就是录制/回放技术。后来,为了实现验证测试数据的自动化,在录制过程后,进行了增强工作,可在脚本中加入同步、检查点,并对部分数据进行参数化,实现初步的数据驱动。
绝大部分采用这种技术进行自动化回归测试的组织都失败了,失败的一个共性的原因是因为这种技术虽然初期启动成本低,但是随着测试过程的进行,后期维护成本非常高,使得不可能使用这种技术构建长期的自动测试***,具体来说,这种技术存在以下问题:
产生自动测试的过程繁琐,效率低:产生可行的自动测试的时间比手工测试长2~10倍;
一切依赖于录制过程中捕获的内容,故只能测试已经工作的功能;
存在录制噪声,产生的脚本是非结构化的,维护工作量巨大;
脚本、数据和验证条件是捆绑在一起的,任何一个修改,就必须重新录制或者修改脚本;
易受待测对象改变的影响,待测对象改变后必须重新录制脚本和验证条件;
如果回放时发生了录制脚本时没有发生的事情,将引起整个测试失败。
因为以上原因,录制-增强-回放技术只用于少量特殊情况,如培训演示、只使用一次的测试脚本,界面和操作不变的测试等,对于长期、大量的自动回归测试来说,这种方法是不可行的。
进行自动化测试的另一种现有技术为脚本技术。因为自动回归测试***本身也是一个软件***,其基本工作元素就是测试脚本,测试脚本也是一种软件程序代码,也存在各种程序错误,改进自动回归测试***的可维护性,就是要改善自动测试脚本的可维护性,既然自动回归测试脚本是软件程序,那么就可以使用软件开发的技术来改进自动回归测试脚本的可维护性,这就是结构化的编程方法,当时还没有出现面向对象的技术。
这种结构化的脚本技术又叫功能分解技术,是一种基于任务的技术,其工作原理是根据被测***需要完成的任务和功能,对这些功能和任务进行分解,采用结构化编程技术完成实现这些功能的脚本,不同测试中执行重复的任务时,使用同一个脚本,当重复任务发生改变时,也只需要修改一个脚本,对该脚本来说,数据与脚本是分离的,可以把数据作为脚本的参数,也可以把需要的输入数据和验证数据放到指定的文件中,由脚本读取。
这种技术的特点是发展了“结构良好的、有文档的、健壮的、可维护的”测试能力,测试项目成为工程项目,其关键特征是部分测试脚本已经开始具有可复用性。另外,由于测试脚本包括错误捕获和恢复逻辑,比录制回放技术具有更高的可靠性,可以预知可能发生的错误和意外事件,通过编程进行处理,使自动回归测试能顺利进行。
这种技术虽然维护成本比录制回放技术低,但是还存以下问题:
每个功能都需要一个特定的测试脚本,而且大量脚本需要手工编写;
重复使用的脚本(共享脚本)通常只占被测软件很小的一部分,由于脚本技术是一种基于任务的技术,与应用***的功能是紧密相关的,通常不同的应用***之间的差异比较大,他们之间可复用的脚本很少;
脚本数量增多,增加了更多的文档,管理难度加大;
大量脚本还是与数据捆绑在一起的,如果数据发生变化,也需要具有编程经验的人员修改脚本,并调试脚本,成本比较高。
进行自动化测试的另一种现有技术为数据驱动技术。测试工作的中心是测试数据,而不是测试脚本,测试脚本只是为了传递测试数据。将测试脚本和数据分开,由测试数据来驱动自动回归测试过程,这就是所谓的数据驱动测试或关键字驱动测试,也叫基于动作(Action)的测试或动作词(ActionWord)方法。该数据驱动测试不只是简单把外部数据输入到AUT(ApplicationUnderTest,被测***)中,数据驱动测试是一种数据被包含在输入数据文件中,并且数据控制自动化测试脚本执行的流程和动作的测试,只有这样,才能实现在不同应用间的复用。具体来说,采用这种技术就是在测试数据中指定测试执行的步骤,以及每个步骤执行时操作的对象、动作和数据,测试脚本的作用就是读入数据,并根据数据的要求执行相应的动作。该技术中需要人为进行数据的维护,增加维护任务。
综上所述,在自动化测试过程中,主要问题包括解决自动测试过程中自动化、维护、复用三个问题。提高自动化程度,可以提高自动化的效率,还会影响到可维护性和健壮性。脚本和数据维护的简便程度、工作量大小会直接影响自动测试能否继续存在;而自动化测试的价值体现在复用上,必须能多次执行才能获得效益。
而且,测试的目的就是检查***在改变后是否还能满足所有的需求,如果孤立测试***各项功能,就遗漏了功能间相互影响的测试,而通常因为修改了某个部分导致***其他部分出现问题。
发明内容
本发明提供的一种自动化测试的方法和***,以解决遗漏对功能间相互影响进行测试的问题。
本发明公开了一种自动化测试的方法,所述方法包括:
步骤1,测试用例管理器设置测试用例的业务验证函数和测试数据,所述测试数据包括信令参数和业务参数;
步骤2,脚本生成器生成测试用例的脚本;
步骤3,测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值;
步骤4,测试执行调度器执行指定的测试版本中测试用例的脚本;
步骤5,测试结果器根据测试执行调度器的执行结果生成测试报告。
其中,所述测试用例管理器设置测试用例的测试数据具体包括:
步骤21,为每个测试用例,根据信令格式设置信令参数和所述信令参数的缺省值,并且设置业务参数和所述业务参数的缺省值,将所述信令参数和缺省值,以及所述业务参数和缺省值,保存在数据管理器中。
其中,所述测试用例管理器设置测试用例的业务验证函数和测试数据后还包括:
步骤31,设置业务参数对应的业务前置函数,业务前置函数用于初始化业务参数。
其中,所述脚本生成器生成测试用例的脚本具体包括:
步骤41,调用存储的公共函数库中公共函数,依据测试用例的设置,生成所述测试用例的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证所述测试用例的信令参数。
其中,所述测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序具体包括:
步骤51,依据配置的业务场景和测试用例的对应关系,确定测试版本的业务场景所对应的测试用例;
步骤52,根据业务场景设置测试版本中的测试用例间数据传递关系,将所述数据传递关系保存到数据管理器。
其中,所述测试版本管理器配置所述测试用例的测试数据的对应值具体包括:
步骤61,配置所述测试用例的业务参数的对应值和信令参数的对应值;
步骤62,将所述测试用例组成测试版本计划,将测试版本计划的信息保存到数据管理器。
其中,所述测试执行调度器执行指定的测试版本中测试用例的脚本具体包括
步骤71,确定待执行的测试版本;
步骤72,读入并解析执行顺序的设置和测试数据的对应值的配置,根据所述执行顺序调用测试用例;
步骤73,按配置的对应值对调用的测试用例的业务参数和信令参数进行赋值,执行调用的测试用例的脚本,接收执行返回的结果。
其中,所述测试结果器根据测试执行调度器的执行结果生成测试报告具体包括
步骤81,按照测试版本、功能模块、和/或执行时间段统计测试执行调度器执行的结果。
本发明还公开了一种自动化测试的***,所述***包括:
测试用例管理器,用于设置测试用例的业务验证函数和测试数据,所述测试数据包括信令参数和业务参数;
脚本生成器,用于生成测试用例的脚本;
测试版本管理器,用于根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值;
测试执行调度器,用于执行指定的测试版本中测试用例的脚本;
测试结果器,用于根据测试执行调度器的执行结果生成测试报告。
其中,所述***还包括数据管理器,
所述测试用例管理器设置测试用例的测试数据时具体用于为每个测试用例根据信令格式设置信令参数和所述信令参数的缺省值,将所述信令参数和缺省值保存在数据管理器中;为每个测试用例设置业务参数和所述业务参数的缺省值,将所述业务参数和缺省值保存在数据管理器中;或者,
所述***还包括用于解析、处理和验证信令参数的信令模拟器,
所述脚本生成器在生成测试用例的脚本时具体用于调用存储的公共函数库中公共函数,依据测试用例的设置,生成所述测试用例的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证所述测试用例的信令参数。
本发明实施例的有益效果是:本发明中自动测试基于业务场景,在自动化测试中是按照业务场景配置测试版本中测试用例调用顺序和测试用例的测试数据,能够兼顾变更功能本身的正确性和它对其他功能的影响;
从实现自动化的角度,本发明通过测试用例设置,使用公共函数直接生成自动测试脚本;本发明提供测试执行调度器,自动执行业务流,并对执行过程进行监控,处理业务流中测试用例间的数据传递;本发明基于信令进行测试,根据测试用例关联对应的信令,进而生成自动化测试脚本,对其进行自动化测试;
从实现可维护性的角度,本发明中数据与脚本分离,提供数据管理器对数据进行方便地维护,脚本则采用自动生成的技术,减少手工维护脚本的工作量;
从实现复用的角度,本发明中测试用例、脚本都是可复用的,测试数据存放在数据管理器中采用参数化,能够复用,使用统一的数据管理,所有测试相关的内容都在数据管理器管理,既方便管理,又方便项目数据和项目实施经验的复用。
附图说明
图1为本发明自动化测试的方法的流程图;
图2为本发明自动化测试的***的结构图;
图3为本发明自动化测试的***实施例的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,为本发明实施例提供的自动化测试方法的流程。
步骤S100,测试用例管理器设置测试用例的业务验证函数和测试数据,测试数据包括信令参数和业务参数。
其中,对业务参数的初始化可以通过业务前置函数完成,也可以在设置业务参数时通过直接设置完成。
在一具体实施方式中,测试用例管理器设置测试用例的测试数据具体包括:
步骤S110,为每个测试用例根据信令格式设置信令参数和该信令参数的缺省值,并且设置业务参数和所述业务参数的缺省值,将该信令参数和缺省值,以及所述业务参数和缺省值,保存在数据管理器中。
所述测试用例管理器设置测试用例的业务验证函数和测试数据后还包括:
步骤S130,设置业务参数对应的业务前置函数,业务前置函数用于初始化业务参数。
其中,测试用例是最小的业务分支,它规定了需要操作的对象、步骤、动作和需要使用的数据,本发明中的测试用例可复用。一个测试用例可以用于多个测试版本中,通过测试用例产生自动测试的脚本。
本发明中在测试用例中的信令格式固定,以信令模板形式表示,从信令模板中选取测试用例对应的信令参数,完成信令参数设置;对于业务数据同样采用参数化,对应为业务参数,例如账号参数。通过采用参数化,使得测试用例产生的测试脚本能够被复用。
测试用例管理器支持测试用例的基本操作,例如增加,修改,和查找,测试用例和测试数据关联,测试用例与业务前置函数、业务验证函数关联;也支持和第三方管理工具交互,例如通用测试工具QC(QualityControl,质量控制)、TD(TestDirector,全球测试管理***),通过交互获取测试用例信息。
其中,数据管理器对每个测试用例对应的信令参数、业务参数进行管理,每个测试用例对应的信令格式在特定时间内固定不变,信令中所填内容为信令参数,根据业务场景配置信令参数和业务参数的对应值,采用参数化的形式动态获取测试中所用数据。
数据管理器对于每个测试用例保存信令参数,该信令参数具有对应的缺省值,并且还具有多个可选值;数据管理器对于每个测试用例保存业务参数,该业务参数具有对应的缺省值,并且还具有多个可选值。
在步骤S300配置所述测试用例的测试数据的对应值时,通过数据管理器对于每个测试用例显示测试用例所有信令参数和业务参数的列表,通过依据测试版本的业务场景,在可选值中选值完成对信令参数和业务参数对应值的配置。
本发明方法中,对同一个测试版本中可以多次使用同一个测试用例的对应值配置。
步骤S200,脚本生成器生成测试用例的脚本。
在具体实施方式中,所述脚本生成器生成测试用例的脚本具体包括:
步骤S210,调用存储的公共函数库中公共函数,依据测试用例的设置生成对所述测试用例中的测试数据进行解析、处理和验证的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证信令参数。
所述公共函数预先存储在用于自动化测试的***中。
脚本的维护通常是自动测试***中维护工作量最大的部分。而本发明中提供了脚本生成器,在测试用例设置中对测试用例关联了测试数据,业务前置函数,业务验证函数,脚本生成器基于该些设置使用公共函数库来产生自动测试的脚本,减少了脚步维护的工作量。
公共函数库中公共函数使用业务前置函数和业务验证函数完成对测试数据的执行设置,当解析、处理和验证信令时,调用信令模拟器以完成操作,例如SOAP模拟器或SIPC模拟器,生成测试用例对应的类。
步骤S300,测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值。
在一具体实施方式中,所述测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序具体包括:
步骤S310,依据配置的业务场景和测试用例的对应关系,确定测试版本的业务场景所对应的测试用例。
步骤S320,根据业务场景设置测试版本中的测试用例间数据传递关系,将所述数据传递关系保存到数据管理器。
所述测试版本管理器配置所述测试用例的测试数据的对应值具体包括:
步骤S330,配置所述测试用例的业务参数的对应值和信令参数的对应值,将所述测试用例组成测试版本计划,将测试版本计划的信息保存到数据管理器。
对应值配置的方法为在数据管理器中对于测试用例显示该测试用例所有信令参数和业务参数的列表,通过在可选值中选值完成对信令参数和业务参数对应值的配置。
测试版本管理器中显示所有业务场景和对应的测试用例,并采用图形界面,通过拖拽测试用例图标的方法选择测试用例来组成测试版本。
并且对于测试版本可以包括条件分支,形成树状的业务场景的测试版本。在测试版本中建立测试用例之间数据映射关系,例如测试用例B的输入需要使用测试用例A的输出。
在针对一个业务场景的一个测试版本中允许在其业务流中对同一个测试用例的多次引用。
测试版本管理器新增、删除、修改测试版本,并且在修改测试版本时,采用在指定位置***测试用例的方法进行修改。
步骤S400,测试执行调度器执行指定的测试版本中测试用例的脚本。
在具体实施方式中,测试执行调度器执行指定的测试版本具体包括
步骤S410,确定待执行的测试版本。
步骤S420,读入并解析执行顺序的设置和测试数据的对应值的配置,根据所述执行顺序调用测试用例。
步骤S430,按配置的对应值对调用的测试用例的业务参数和信令参数进行赋值,执行调用的测试用例的脚本,接收执行返回的结果。
在执行测试时,测试执行调度器从数据管理器中读入并解析测试版本的对应值配置和数据传递关系,根据测试版本的数据传递关系顺序调用测试用例,并按照对应值配置对各测试用例的参数赋值,接收测试用例返回的数据。根据测试版本的数据传递关系和对应值配置调用下一个测试用例直至结束。
在一较佳的实施方式中,测试执行调度器还配置测试版本的执行时间,在该配置的时间执行该测试版本,实现预约测试。
在一较佳的实施方式中,测试执行调度器指定执行异常的处理方式。例如,在执行异常时忽略继续执行下一个测试用例,或在执行异常时终止执行,或在执行异常时终止当前执行的测试版本,开始另一个测试版本的执行。
步骤S500,测试结果器根据测试执行调度器的执行结果生成测试报告。
在具体实施方式中,测试结果器根据测试执行调度器的执行结果生成测试报告具体包括:
步骤S510,按照测试版本、功能模块、和/或执行时间段统计测试执行调度器执行的结果。
测试结果器对测试用例执行结果和对结果分析统计信息进行管理。
在每次执行测试调度后,得到本次所有测试模块以及业务场景的执行情况,按照日期区间生成测试报告。测试报告为执行趋势分析报告,对最近一段时间内的执行情况进行分析,显示生产***的状况,并可选择按照测试版本、功能模块、或执行时间段进行查询统计所有测试用例的执行结果分析,获得对应的趋势图。
在一较佳的实施方式中,测试结果器还支持日志。
脚本生成器在脚本中添加进行日志记录的代码,在测试结果器中进行日志配置,例如配置输出路径、错误级别、或文档类型。输出路径为日志文档存放的位置,错误级别为进行记录的错误级别,高于或等于该错误级别的异常被日志记录,文档类型为输出的日志文档类型,例如HTML、XML,或WORD类型。在测试执行调度器执行完毕后,测试结果器接收日志记录,依据日志配置生成并保存日志文档。
并且,本发明将测试报告模板化输出,测试结果器按照预设的模板输出测试报告。
本发明的自动化测试的***的结构如图2所示。
所述***包括:
测试用例管理器100,用于设置测试用例的业务验证函数和测试数据,测试数据包括信令参数和业务参数。
其中,对业务参数的初始化可以通过业务前置函数完成,也可以在设置业务参数时通过直接设置完成。
脚本生成器200,用于生成测试用例的脚本。
测试版本管理器300,用于根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值。
测试执行调度器400,用于执行指定的测试版本中测试用例的脚本。
测试结果器500,用于根据测试执行调度器400的执行结果生成测试报告。
在一较佳的实施方式中,***还包括数据管理器600,
测试用例管理器100在设置测试用例的测试数据时具体用于为每个测试用例根据信令格式设置信令参数和所述信令参数的缺省值,将所述信令参数和缺省值保存在数据管理器600中;为每个测试用例设置业务参数和所述业务参数的缺省值,将所述业务参数和缺省值保存在数据管理器600中。
测试版本管理器300在根据业务场景选择测试版本所用的测试用例,设置测试用例的执行顺序时具体用于依据配置的业务场景和测试用例的对应关系,确定测试版本的业务场景所对应的测试用例;根据业务场景设置测试版本中的测试用例间数据传递关系,将数据传递关系保存到数据管理器600。
测试版本管理器300在配置测试用例的测试数据的对应值时具体用于配置所述测试用例的业务参数的对应值和信令参数的对应值,将所述测试用例组成测试版本计划,将测试版本计划的信息保存到数据管理器600。
在一较佳的实施方式中,测试用例管理器100在设置测试用例的业务验证函数和测试数据后还用于设置业务参数对应的业务前置函数,业务前置函数初始化业务参数。
在一较佳的实施方式中,所述***还包括用于解析、处理和验证信令参数的信令模拟器,脚本生成器200在生成测试用例的脚本时具体用于调用存储的公共函数库中的公共函数,依据测试用例的设置生成对测试用例中的测试数据进行解析、处理和验证的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证信令参数。
所述公共函数预先存储在自动化测试的***中。
在一较佳的实施方式中,测试执行调度器400在执行指定的测试版本中测试用例的脚本时具体用于确定待执行的测试版本;读入并解析执行顺序的设置和测试数据的对应值的配置,根据所述执行顺序调用测试用例;按配置的对应值对调用的测试用例的业务参数和信令参数进行赋值,执行调用的测试用例的脚本,接收执行返回的结果。
在一较佳的实施方式中,测试结果器500在根据测试执行调度器400的执行结果生成测试报告时具体用于按照测试版本、功能模块、和/或执行时间段统计测试执行调度器400执行的结果。
本发明的自动化测试的***实施例的结构如图3所示。
该***包括测试用例管理器100、脚本生成器200、测试版本管理器300、测试执行调度器400、测试结果器500、数据管理器600。
自动化测试***在通用测试工具,例如QC(QualityControl,质量控制)、TD(TestDirector,全球测试管理***),公共函数库和信令模拟器上构建。通过自动测试***,自动测试工程师完成测试用例设置和脚本生成,业务人员完成测试版本的业务流定义和数据配置,即测试用例间数据传递关系和参数对应值的配置,测试执行人员完成测试调度和测试管理。
自动测试***使用的数据根据性质分为静态数据和动态数据,所有静态数据均保存在数据管理器600,包括测试用例的定义、业务流的定义、业务流数据配置和自动测试脚本,分别由测试用例管理器100、测试版本管理器300、测试版本管理器300和脚本生成器200产生,动态数据指的是在测试执行过程中动态生成和变化的数据,由测试执行调度器400控制数据的传递。
测试用例具有测试数据,测试数据包括信令参数和业务参数。
测试用例管理器100用于设置测试用例的业务验证函数;为每个测试用例根据信令格式设置信令参数和该信令参数的缺省值,将该信令参数和缺省值保存在数据管理器600中;为每个测试用例设置业务参数和业务参数的缺省值,将业务参数和缺省值保存在数据管理器600中;设置业务参数对应的业务前置函数,业务前置函数初始化业务参数。
测试用例是最小的业务分支,它规定了需要操作的对象、步骤、动作和需要使用的数据,本发明中的测试用例可复用。一个测试用例可以用于多个测试版本中,通过测试用例产生自动测试的脚本。本发明中在测试用例中的信令格式固定,以信令模板形式表示,从信令模板中选取测试用例对应的信令参数,完成信令参数设置;对于业务数据同样采用参数化,对应为业务参数,例如账号参数。通过采用参数化,使得测试用例产生的测试脚本能够被复用。
每个用例对应的信令格式在特定时间内固定不变,信令中所填内容为信令参数,根据业务场景配置信令参数和业务参数的对应值,采用参数化的形式动态获取测试中所用数据。
测试用例管理器100支持测试用例的基本操作,例如增加,修改,和查找,测试用例管理器100将测试用例和测试数据关联,测试用例与业务前置函数、业务验证函数关联;也支持从第三方管理工具,例如通用测试工具QC(QualityControl,质量控制)、TD(TestDirector,全球测试管理***),中读取用例信息。
数据管理器600用于对每个测试用例对应的信令参数、业务参数进行管理。
数据管理器600具体用于对于每个测试用例保存信令参数,该信令参数具有对应的缺省值,并且还具有多个可选值;保存业务参数,该业务参数具有对应的缺省值,并且还具有多个可选值。
在测试版本管理器300进行对应值配置时,数据管理器600还用于对于每个测试用例显示测试用例所有信令参数和业务参数的列表,测试版本管理器300用于依据测试版本的业务场景,在可选值中选值,完成对信令参数和业务参数对应值的配置。
本发明中对同一个测试版本中可以多次使用同一个测试用例的数据配置。
脚本生成器200用于调用存储的公共函数库中公共函数,依据测试用例的设置生成对所述测试用例中的测试数据进行解析、处理和验证的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证信令参数。
脚本的维护通常是自动测试***中维护工作量最大的部分。通过数据管理器600,能够简化数据管理。
在测试用例设置中对测试用例关联了测试数据,业务前置函数,业务验证函数,脚本生成器200用于基于该些设置利用公共函数库来产生自动测试脚本。
公共函数库中公共函数使用业务前置函数和业务验证函数完成对测试数据的执行设置,当解析、处理和验证信令时,调用信令模拟器以完成操作,例如SOAP模拟器或SIPC模拟器,生成测试用例对应的类。通过类的产生实现对脚本封装。并且如前所述,脚本中的使用数据为信令参数和业务参数,实现了数据的参数化,进而能够对脚本进行复用。
测试版本管理器300用于依据配置的业务场景和测试用例的对应关系,确定测试版本的业务场景所对应的测试用例,并且根据业务场景设置测试版本中的测试用例间数据传递关系,将所述数据传递关系保存到数据管理器600,配置所述测试用例的业务参数的对应值和信令参数的对应值,将所述测试用例组成测试版本计划,将测试版本计划的信息保存到数据管理器600。
对应值配置时,数据管理器600对于测试用例显示该测试用例所有信令参数和业务参数的列表,通过在可选值中选值完成对信令参数和业务参数对应值的配置。
测试版本管理器300还用于显示所有业务场景和对应的测试用例,并采用图形界面,通过拖拽测试用例图标的方法选择测试用例来组成测试版本。
并且,对于测试版本可以包括条件分支,形成树状的业务场景的测试版本。在测试版本中建立测试用例之间数据映射关系,例如测试用例B的输入需要使用测试用例A的输出。
在针对一个业务场景的一个测试版本中允许在其业务流中对同一个测试用例的多次引用。
测试版本管理器300还用于新增、删除、修改测试版本,并且在修改测试版本时,采用在指定位置***测试用例的方法进行修改。
测试执行调度器400用于确定待执行的测试版本,读入并解析执行顺序的设置和测试数据的对应值的配置,根据所述执行顺序调用测试用例;按配置的对应值对调用的测试用例的业务参数和信令参数进行赋值,执行调用的测试用例的脚本,接收执行返回的结果。
在执行测试时,测试执行调度器400从数据管理器600中读入并解析测试版本的对应值配置和数据传递关系,根据测试版本的数据传递关系顺序调用测试用例,并按照对应值配置对各测试用例的参数赋值,接收测试用例的脚本返回的数据。根据测试版本的数据传递关系和对应值配置调用下一个测试用例直至结束。
测试执行调度器400还用于配置测试版本的执行时间,在该配置的时间执行该测试版本,实现预约测试。
测试执行调度器400还用于指定执行异常的处理方式。例如,在执行异常时忽略继续执行下一个测试用例,或在执行异常时终止执行,或在执行异常时终止当前执行的测试版本,开始另一个测试版本的执行。
测试结果器500用于按照测试版本、功能模块、和/或执行时间段统计测试执行调度器400执行的结果。
测试结果器500对测试用例执行结果和对结果分析统计信息进行管理。
在每次执行测试调度后,得到本次所有测试模块以及业务场景的执行情况,按照日期区间生成测试报告。测试报告为执行趋势分析报告,对最近一段时间内的执行情况进行分析,显示生产***的状况,并可选择按照测试版本、功能模块、或执行时间段进行查询统计所有测试用例的执行结果分析获得对应的趋势图。
并且,测试结果器500支持日志。
脚本生成器200用于在脚本中添加进行日志记录的代码,在测试结果器500中进行日志配置,例如配置输出路径、错误级别、或文档类型。输出路径为日志文档存放的位置,错误级别为进行记录的错误级别,高于或等于该错误级别的异常被日志记录,文档类型为输出的日志文档的类型,例如HTML、XML,或WORD类型。在测试执行调度器400执行完毕后,测试结果器500接收日志记录,依据日志配置生成并保存日志文档。
并且,本发明将测试报告模板化输出,测试结果器500用于按照预设的模板输出测试报告。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (5)

1.一种自动化测试的方法,其特征在于,所述方法包括:
步骤1,测试用例管理器设置测试用例的业务验证函数和测试数据,所述测试数据包括信令参数和业务参数;
步骤2,脚本生成器生成测试用例的脚本;
步骤3,测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值;
步骤4,测试执行调度器执行指定的测试版本中测试用例的脚本;
步骤5,测试结果器根据测试执行调度器的执行结果生成测试报告;
所述测试版本管理器根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序具体包括:
步骤51,依据配置的业务场景和测试用例的对应关系,确定测试版本的业务场景所对应的测试用例;
步骤52,根据业务场景设置测试版本中的测试用例间数据传递关系,将所述数据传递关系保存到数据管理器;
所述脚本生成器生成测试用例的脚本具体包括:
步骤41,调用存储的公共函数库中公共函数,依据测试用例的设置,生成所述测试用例的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证所述测试用例的信令参数;
所述测试版本管理器配置所述测试用例的测试数据的对应值具体包括:
步骤61,配置所述测试用例的业务参数的对应值和信令参数的对应值;
步骤62,将所述测试用例组成测试版本计划,将测试版本计划的信息保存到数据管理器;
所述测试执行调度器执行指定的测试版本中测试用例的脚本具体包括
步骤71,确定待执行的测试版本;
步骤72,读入并解析执行顺序的设置和测试数据的对应值的配置,根据所述执行顺序调用测试用例;
步骤73,按配置的对应值对调用的测试用例的业务参数和信令参数进行赋值,执行调用的测试用例的脚本,接收执行返回的结果。
2.根据权利要求1所述的自动化测试的方法,其特征在于,
所述测试用例管理器设置测试用例的测试数据具体包括:
步骤21,为每个测试用例,根据信令格式设置信令参数和所述信令参数的缺省值,并且设置业务参数和所述业务参数的缺省值,将所述信令参数和缺省值,以及所述业务参数和缺省值,保存在数据管理器中。
3.根据权利要求1所述的自动化测试的方法,其特征在于,
所述测试用例管理器设置测试用例的业务验证函数和测试数据后还包括:
步骤31,设置业务参数对应的业务前置函数,业务前置函数用于初始化业务参数。
4.根据权利要求1所述的自动化测试的方法,其特征在于,
所述测试结果器根据测试执行调度器的执行结果生成测试报告具体包括
步骤81,按照测试版本、功能模块、和/或执行时间段统计测试执行调度器执行的结果。
5.一种自动化测试的***,其特征在于,所述***包括:
测试用例管理器,用于设置测试用例的业务验证函数和测试数据,所述测试数据包括信令参数和业务参数;
脚本生成器,用于生成测试用例的脚本;
测试版本管理器,用于根据业务场景选择测试版本所用的测试用例,设置所述测试用例的执行顺序,并配置所述测试用例的测试数据的对应值;
测试执行调度器,用于执行指定的测试版本中测试用例的脚本;
测试结果器,用于根据测试执行调度器的执行结果生成测试报告;
测试版本管理器用于依据配置的业务场景和测试用例的对应关系,确定测试版本的业务场景所对应的测试用例,并且根据业务场景设置测试版本中的测试用例间数据传递关系,将所述数据传递关系保存到数据管理器;
所述***还包括数据管理器,
所述测试用例管理器设置测试用例的测试数据时具体用于为每个测试用例根据信令格式设置信令参数和所述信令参数的缺省值,将所述信令参数和缺省值保存在数据管理器中;为每个测试用例设置业务参数和所述业务参数的缺省值,将所述业务参数和缺省值保存在数据管理器中;所述***还包括用于解析、处理和验证信令参数的信令模拟器,
所述脚本生成器在生成测试用例的脚本时具体用于调用存储的公共函数库中公共函数,依据测试用例的设置,生成所述测试用例的脚本,所述脚本为公共函数生成的类,在所述脚本中调用信令模拟器解析、处理和验证所述测试用例的信令参数;
所述测试版本管理器配置所述测试用例的测试数据的对应值具体为:配置所述测试用例的业务参数的对应值和信令参数的对应值;将所述测试用例组成测试版本计划,将测试版本计划的信息保存到数据管理器;
所述测试执行调度器具体用于:确定待执行的测试版本;读入并解析执行顺序的设置和测试数据的对应值的配置,根据所述执行顺序调用测试用例;按配置的对应值对调用的测试用例的业务参数和信令参数进行赋值,执行调用的测试用例的脚本,接收执行返回的结果。
CN201110404626.5A 2011-12-07 2011-12-07 一种自动化测试的方法和*** Active CN103150249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110404626.5A CN103150249B (zh) 2011-12-07 2011-12-07 一种自动化测试的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110404626.5A CN103150249B (zh) 2011-12-07 2011-12-07 一种自动化测试的方法和***

Publications (2)

Publication Number Publication Date
CN103150249A CN103150249A (zh) 2013-06-12
CN103150249B true CN103150249B (zh) 2015-12-16

Family

ID=48548344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110404626.5A Active CN103150249B (zh) 2011-12-07 2011-12-07 一种自动化测试的方法和***

Country Status (1)

Country Link
CN (1) CN103150249B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228438A (zh) * 2017-12-29 2018-06-29 广州品唯软件有限公司 一种移动终端的性能测试方法及装置

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441900B (zh) * 2013-08-27 2016-04-27 上海新炬网络技术有限公司 集中式跨平台自动化测试***及其控制方法
CN104182335B (zh) * 2014-05-09 2017-03-29 中国光大银行 软件测试方法和装置
CN105446868B (zh) * 2014-08-25 2018-03-20 阿里巴巴集团控股有限公司 ***兼容性测试方法、测试用例管理方法及相关装置
CN104268073A (zh) * 2014-09-05 2015-01-07 北京广利核***工程有限公司 一种批量生成测试用例的方法
CN104361012B (zh) * 2014-10-13 2018-03-27 交控科技股份有限公司 一种城市轨道交通工程线路数据的测试方法及装置
CN105677306A (zh) * 2014-11-18 2016-06-15 中兴通讯股份有限公司 自动化脚本的编写方法和装置
CN104360894A (zh) * 2014-11-18 2015-02-18 浪潮(北京)电子信息产业有限公司 一种模拟物理设备的方法及装置
CN106033388B (zh) * 2015-03-11 2019-09-17 阿里巴巴集团控股有限公司 测试用例库管理方法及***
CN104899149B (zh) * 2015-06-29 2017-12-19 上海瀚银信息技术有限公司 一种自动化测试管理方法
CN106559244A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 一种会话业务测试管理方法和***及管理端、测试端
CN106021039B (zh) * 2016-04-28 2020-03-27 努比亚技术有限公司 一种测试控制方法及装置
CN106294150B (zh) * 2016-08-09 2019-03-26 北京神州绿盟信息安全科技股份有限公司 一种测试加载方法及装置
CN106326116B (zh) * 2016-08-17 2019-03-05 北京奇虎科技有限公司 产品测试的方法和装置
CN107885648B (zh) * 2016-09-29 2020-09-29 北京京东尚科信息技术有限公司 一种生成测试报告的方法和装置
CN106528419B (zh) * 2016-11-07 2019-04-09 优酷网络技术(北京)有限公司 一种业务***的测试方法及装置
CN106776084B (zh) * 2017-01-19 2020-01-21 苏州浪潮智能科技有限公司 一种RabbitMQ集群服务的错误检测封装方法
CN108459848B (zh) * 2017-02-20 2021-12-14 深圳市北斗智研科技有限公司 一种应用于Excel软件的脚本获取方法及***
CN107273286B (zh) * 2017-06-02 2020-10-27 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN107861862A (zh) * 2017-06-27 2018-03-30 陆金所(上海)科技服务有限公司 Ui自动化测试方法、装置及计算机可读存储介质
CN107229569A (zh) * 2017-06-27 2017-10-03 中国银行股份有限公司 面向多执行技术的自动化测试集中调度执行方法及***
CN107391367B (zh) * 2017-07-11 2020-12-01 千寻位置网络有限公司 形变监测监控***的关键字驱动测试方法
CN107908540B (zh) * 2017-07-26 2021-04-06 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及介质
CN107391379B (zh) * 2017-07-28 2021-01-01 武汉斗鱼网络科技有限公司 接口自动测试方法及装置
CN107562623A (zh) * 2017-08-29 2018-01-09 郑州云海信息技术有限公司 一种rest api自动化测试方法及***
CN109426612B (zh) * 2017-09-04 2023-09-29 上海仪电(集团)有限公司中央研究院 一种基于智能机器学习的自动化用例开发***
CN107368428A (zh) * 2017-09-07 2017-11-21 马上消费金融股份有限公司 一种软件测试方法及软件测试***
CN107766194A (zh) * 2017-11-17 2018-03-06 深圳市泉眼网络科技有限公司 测试方法、装置、***、终端设备及计算机可读存储介质
CN108153677A (zh) * 2017-12-26 2018-06-12 上海展扬通信技术有限公司 智能终端的测试方法及智能终端
CN109976992A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种软件自动化测试方法及***
CN108469998B (zh) * 2018-01-18 2021-09-17 苏州沈苏自动化技术开发有限公司 一种通用型软件自动化测试框架***
CN108400906B (zh) * 2018-02-07 2021-02-19 北京天融信网络安全技术有限公司 一种自动化测试方法、装置、存储介质及计算机设备
CN108829585A (zh) * 2018-05-24 2018-11-16 广东睿江云计算股份有限公司 一种用例管理***测试数据自动生成方法及装置
CN109522214A (zh) * 2018-10-09 2019-03-26 广州神马移动信息科技有限公司 测试方法、平台、客户端及***、计算设备及可读介质
CN109062817B (zh) * 2018-10-15 2022-06-03 网宿科技股份有限公司 自动化测试方法及***
CN109088780B (zh) * 2018-10-25 2021-11-12 北京新能源汽车股份有限公司 一种信号检测方法和检测装置
CN109656822A (zh) * 2018-12-12 2019-04-19 郑州云海信息技术有限公司 一种自动化测试的保护方法及装置
CN112256554B (zh) * 2019-07-22 2023-06-16 腾讯科技(深圳)有限公司 一种基于场景测试用例进行测试的方法及设备
CN111159027B (zh) * 2019-12-23 2022-10-11 武汉联影医疗科技有限公司 自动化测试方法、装置、计算机设备和可读存储介质
CN111897725B (zh) * 2020-07-23 2022-09-02 厦门航空有限公司 中台服务自动化测试方法、介质、设备及***
CN113407460B (zh) * 2021-07-16 2023-04-11 抖音视界有限公司 一种页面测试方法、装置、设备及存储介质
CN115278560A (zh) * 2022-08-01 2022-11-01 中国银行股份有限公司 基于5g消息的任务版本跟踪方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1851665A (zh) * 2005-11-07 2006-10-25 华为技术有限公司 一种利用测试套完成产品自动化测试的方法
CN1877543A (zh) * 2005-06-06 2006-12-13 华为技术有限公司 数据驱动的自动化测试***及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1877543A (zh) * 2005-06-06 2006-12-13 华为技术有限公司 数据驱动的自动化测试***及方法
CN1851665A (zh) * 2005-11-07 2006-10-25 华为技术有限公司 一种利用测试套完成产品自动化测试的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228438A (zh) * 2017-12-29 2018-06-29 广州品唯软件有限公司 一种移动终端的性能测试方法及装置

Also Published As

Publication number Publication date
CN103150249A (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
CN103150249B (zh) 一种自动化测试的方法和***
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
US11379348B2 (en) System and method for performing automated API tests
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US10127141B2 (en) Electronic technology resource evaluation system
CN103365770B (zh) 移动终端软件测试***及软件测试方法
US10310968B2 (en) Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns
CN102880546B (zh) 一种基于xml数据库的软件集成测试方法及***
CN103164328B (zh) 一种业务功能的回归测试方法、装置及***
CN110321281A (zh) 基于混合自动化测试框架的Web测试平台及测试方法
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
CN106227654B (zh) 一种测试平台
CN104820640A (zh) 一种网页测试方法和装置
CN103631713A (zh) Erp软件自动化测试***及方法
Heinecke et al. Generating test plans for acceptance tests from uml activity diagrams
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN112380255A (zh) 一种业务处理方法、装置、设备和存储介质
CN106776326B (zh) 一种数据分析模型的建模方法及***
CN103186463B (zh) 确定软件的测试范围的方法和***
Paiva et al. End-to-end automatic business process validation
CN117370217A (zh) 一种基于python的接口测试结果自动生成方法
CN111813647A (zh) 一种主设备数据分析功能验证方法及***
CN116225377A (zh) 一种跨平台小程序的统一开发方法、装置和电子设备
CN115185825A (zh) 接口测试的调度方法及装置
CN113434387A (zh) 一种基于脚本驱动的自动化测试工具及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.