CN108845940B - 一种企业级信息系统自动化功能测试方法和系统 - Google Patents

一种企业级信息系统自动化功能测试方法和系统 Download PDF

Info

Publication number
CN108845940B
CN108845940B CN201810611362.2A CN201810611362A CN108845940B CN 108845940 B CN108845940 B CN 108845940B CN 201810611362 A CN201810611362 A CN 201810611362A CN 108845940 B CN108845940 B CN 108845940B
Authority
CN
China
Prior art keywords
test
server
result
basic component
management platform
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
CN201810611362.2A
Other languages
English (en)
Other versions
CN108845940A (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.)
Information Center of Yunnan Power Grid Co Ltd
Original Assignee
Information Center of Yunnan Power Grid 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 Information Center of Yunnan Power Grid Co Ltd filed Critical Information Center of Yunnan Power Grid Co Ltd
Priority to CN201810611362.2A priority Critical patent/CN108845940B/zh
Publication of CN108845940A publication Critical patent/CN108845940A/zh
Application granted granted Critical
Publication of CN108845940B publication Critical patent/CN108845940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本申请提供一种企业级信息系统自动化功能测试方法和系统,其中,所述方法根据测试需求,创建与测试需求的测试环节对应的基础组件,并创建测试用例;配置测试用例对应的各个基础组件、所述基础组件的排列顺序以及测试数据;根据测试任务,确定所述测试任务对应的各个测试用例、测试用例的执行顺序以及测试参数,生成相应的测试脚本,并执行相应的测试操作,获得测试结果。本申请提供的方法中,当一个页面对象发生细微变动时,只需要在管理平台对基础组件的关键字进行变更即可,无需修改所有的测试用例;另外,当测试用例的操作步骤发生变更,只需重新确定基础组件的排列顺序,重新生成测试脚本,即可执行测试任务,提高了测试效率。

Description

一种企业级信息系统自动化功能测试方法和系统
技术领域
本申请涉及软件测试领域,具体涉及一种企业级信息系统自动化功能测试方法和系统。
背景技术
企业级信息系统一般是指软件规模大、用户量大、数据量大、复杂程度高的信息管理系统。在这些系统的开发和运维过程中,开发人员需要不断对系统进行优化,以消除系统中存在的缺陷,优化后的系统通常需要升级发布,而每次系统升级发布后的系统存在潜在的错误和缺陷,若将升级发布后的系统直接投入运行,可能导致系统功能出现异常,影响系统的可用性。因此,在企业级信息系统投入运行之前,通常需要对企业级信息系统的功能进行测试,以检验企业级信息系统的功能是否满足规定的需求。
现有技术中,利用测试系统实现企业级信息系统的功能测试,测试系统包括管理平台和测试服务器,管理平台用于创建测试任务,并根据测试任务,确定与测试任务相对应的测试用例,一个测试任务对应一个或者多个测试用例,每个测试用例对应一个测试脚本,每个测试脚本中包含多个页面对象和对于页面对象的操作,不同的测试脚本可能包含相同的页面对象,每个测试任务用于测试企业级信息系统的部分功能;然后,管理平台将测试任务传输至测试服务器。测试服务器在接收到测试任务之后,获取与测试任务相对应的测试脚本以及测试脚本的执行顺序,通过执行测试脚本执行所述测试任务,从而实现企业级信息系统的功能测试。
但是,发明人在本申请的研究过程中发现,企业级信息系统往往具备多项功能,通过现有技术对企业级信息系统进行功能测试时,由于一个测试任务用于测试该系统的部分功能,因此,往往需要创建多个测试任务,进而需要创建多个测试脚本,另外,若页面对象发生变化,而该页面对象包含于多个测试脚本中,则需要对多个测试脚本逐个进行更改,才能完成对企业级信息系统的功能测试,导致通过现有技术对企业级信息系统进行功能测试时,会耗费大量人力和时间。
发明内容
本申请提供一种企业级信息系统自动化功能测试方法和系统,以解决现有技术中需要耗费大量的人力和时间的问题。
本申请的第一方面,提供一种企业级信息系统自动化功能测试方法,所述方法应用于企业级信息系统自动化功能测试系统,所述系统包括:用户服务器、管理平台和测试服务器;
所述方法包括:
用户服务器根据企业级信息系统的测试需求,配置对所述企业级信息系统进行自动化功能测试的测试环境;
所述用户服务器根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件;
所述用户服务器基于Selenium技术获取各个所述基础组件的组件参数,其中,所述组件参数包括:测试数据项、控制信息和关键字,并将各个所述基础组件,以及各个所述基础组件的组件参数传输至管理平台;
所述用户服务器根据所述企业级信息系统的测试需求,创建测试用例,并将所述测试用例传输至所述管理平台;
所述管理平台根据各个所述测试用例,配置与所述测试用例对应的各个所述基础组件以及各个所述基础组件的排列顺序,并且配置各个所述基础组件对应的测试数据;
所述管理平台根据测试任务,确定所述测试任务对应的各个测试用例以及测试用例的执行顺序,并且配置所述测试用例对应的测试参数;
所述管理平台将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述测试服务器在接收到所述基础组件之后,从所述管理平台提取与所述基础组件相对应的组件参数,并根据所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据,生成相应的测试脚本,根据所述测试脚本执行相应的测试操作;
所述测试服务器获取所述测试操作的测试结果。
可选的,所述管理平台包括管理服务器和MySQL数据库服务器,其中,所述管理服务器将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述方法还包括:
所述管理服务器将所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至所述MySQL数据库服务器,以便所述MySQL数据库服务器存储所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据。
可选的,在所述测试服务器获取所述测试操作的测试结果之后,还包括:
所述测试服务器将所述测试结果传输至所述MySQL数据库服务器;
所述管理服务器获取所述MySQL数据库服务器中的所述测试结果;
所述管理服务器根据所述测试结果和ReportNG插件,生成测试分析报告。
可选的,在所述管理服务器获取所述MySQL数据库服务器中的所述测试结果之后,还包括:
所述管理服务器将所述测试结果作为当前测试结果,比较所述当前测试结果与所述测试任务的预期结果是否相同;
若所述当前测试结果与所述测试任务的预期结果相同,所述管理服务器确定所述当前测试结果正常;
若所述当前测试结果与所述测试任务的预期结果不同,所述管理服务器将所述当前测试结果与所述测试任务的预期结果之间的差异作为第一功能缺陷,并在缺陷管理记录列表中添加所述第一功能缺陷。
可选的,在所述用户服务器将各个所述基础组件,以及各个所述基础组件的测试数据项、控制信息和关键字传输至管理平台之后,还包括:
所述管理平台根据各个所述基础组件的关键字,建立关键字列表;
若所述关键字对应的页面对象发生改变,所述管理平台将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象。
本申请的第二方面,提供一种企业级信息系统自动化功能测试系统,所述系统包括:用户服务器、管理平台和测试服务器;
其中,所述用户服务器包括:
第一配置模块,用于根据企业级信息系统的测试需求,配置对所述企业级信息系统进行自动化功能测试的测试环境;
创建模块,用于根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件;
第一传输模块,用于基于Selenium技术获取各个所述基础组件组件参数,其中,所述组件参数包括:的测试数据项、控制信息和关键字,并将各个所述基础组件,以及各个所述基础组件的组件参数传输至管理平台;
第二传输模块,用于根据所述企业级信息系统的测试需求,创建测试用例,并将所述测试用例传输至所述管理平台;
所述管理平台包括:
第二配置模块,用于根据各个所述测试用例,配置与所述测试用例对应的各个所述基础组件以及各个所述基础组件的排列顺序,并且配置各个所述基础组件对应的测试数据;
第一确定模块,用于根据测试任务,确定所述测试任务对应的各个测试用例以及测试用例的执行顺序,并且配置所述测试用例对应的测试参数;
第三传输模块,用于将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述测试服务器包括:
第一生成模块,用于在接收到所述基础组件之后,从所述管理平台提取与所述基础组件相对应的组件参数,并根据所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据,生成相应的测试脚本,根据所述测试脚本执行相应的测试操作;
第一获取模块,用于获取所述测试操作的测试结果。
可选的,所述管理平台包括管理服务器和MySQL数据库服务器,其中,所述管理服务器将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述管理服务器还包括:
第四传输模块,用于将所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至所述MySQL数据库服务器,以便所述MySQL数据库服务器存储所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据。
可选的,所述测试服务器还包括第五传输模块;所述管理服务器还包括第二获取模块和第二生成模块;
所述第五传输模块,用于在所述第一获取模块获取所述测试操作的测试结果之后,将所述测试结果传输至所述MySQL数据库服务器;
所述第二获取模块,用于获取所述MySQL数据库服务器中的所述测试结果;
所述第二生成模块,用于根据所述测试结果和ReportNG插件,生成测试分析报告。
可选的,所述管理服务器还包括:
比较模块,用于在所述第二获取模块获取所述MySQL数据库服务器中的所述测试结果之后,将所述测试结果作为当前测试结果,比较所述当前测试结果与所述测试任务的预期结果是否相同;
第二确定模块,用于若所述当前测试结果与所述测试任务的预期结果相同,确定所述当前测试结果正常;
添加模块,用于若所述当前测试结果与所述测试任务的预期结果不同,将所述当前测试结果与所述测试任务的预期结果之间的差异作为第一功能缺陷,并在缺陷管理记录列表中添加所述第一功能缺陷。
可选的,所述管理平台还包括:
建立模块,用于在所述第一传输模块将各个所述基础组件,以及各个所述基础组件的测试数据项、控制信息和关键字传输至管理平台之后,根据各个所述基础组件的关键字,建立关键字列表;
替换模块,用于若所述关键字对应的页面对象发生改变,将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象。
由以上技术方案可知,本申请提供一种企业级信息系统自动化功能测试方法和系统,其中,所述方法根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件;并根据所述测试需求,创建测试用例;配置所述测试用例对应的各个基础组件、所述基础组件的排列顺序以及基础组件对应的测试数据;根据测试任务,确定所述测试任务对应的各个测试用例、测试用例的执行顺序以及测试用例对应的测试参数,根据所述测试任务、所述测试用例、所述测试参数、所述基础组件以及所述测试数据,生成相应的测试脚本,并根据所述测试脚本执行相应的测试操作,获得测试结果。
本申请提供的方法中,根据测试任务,确定与测试任务相对应的测试用例以及测试用例的执行顺序,其中,每个测试用例配置有对应的基础组件以及基础组件的排列顺序,也就是说,测试用例与基础组件相关联,不同的测试用例能够调用相同的基础组件,另外,根据测试任务对应的测试用例、测试参数、基础组件以及测试数据,生成测试脚本,避免重复编写测试脚本,节省了人力和时间的耗费,提高了测试效率。
另外,现有技术中,若某一页面对象发生变化,包含该页面对象的多个测试脚本均需要进行更改。而本申请实施例公开的方案中,基础组件的组件参数中包含关键字,关键字中包含页面对象。通过管理平台能够修改关键字,这种情况下,当一个页面对象发生变动时,只需要在管理平台对基础组件的关键字进行变更即可,无需修改该基础组件对应的测试用例,也就无需修改各个测试脚本,进一步节省了人力和时间的耗费,提高了测试效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种企业级信息系统自动化功能测试方法工作流程示意图;
图2为本申请实施例提供的一种企业级信息系统自动化功能测试方法的应用场景示意图;
图3为本申请实施例提供的一种企业级信息系统自动化功能测试方法中,管理服务器生成测试分析报告的工作流程示意图;
图4为本申请实施例提供的一种企业级信息系统自动化功能测试方法中,管理服务器对测试结果进行管理的工作流程示意图;
图5为本申请实施例提供的一种企业级信息系统自动化功能测试方法中,管理平台对页面对象进行管理的工作流程示意图;
图6为本申请实施例提供的一种企业级信息系统自动化功能测试系统的结构示意图。
图示说明:10-用户服务器;20-管理服务器;30-MySQL数据库服务器;40-测试服务器。
具体实施方式
为了解决现有技术中,需要根据不同的测试任务,创建多个测试脚本,另外,在页面对象发生变化时,需要对多个测试脚本逐个进行更改,从而耗费大量人力和时间的问题,本申请通过以下各实施例提供一种企业级信息系统自动化功能测试方法和系统。
参照图1所示的工作流程示意图,本申请实施例提供一种企业级信息系统自动化功能测试方法,所述方法应用于企业级信息系统自动化功能测试系统,所述系统包括:用户服务器、管理平台和测试服务器;所述方法包括以下步骤:
步骤101,用户服务器根据企业级信息系统的测试需求,配置对所述企业级信息系统进行自动化功能测试的测试环境。
该步骤中,配置自动化功能测试的测试环境包括:配置Java项目,添加依赖Jar包,安装Chrome和FireFox浏览器,其中,依赖Jar包包括:MySQL-connector-java-5.1.7-bin.jar、reportng-1.1.5.jar、selenium-server-standalone-2.44.0.jar、testng-6.8.jar等。
本申请实施例提供的配置自动化功能测试的测试环境的具体步骤为:
(1)安装Javajdk_8u101、SVN管理工具TortoiseSVN-1.7.2.22327、使用Java集成开发环境MyEclipse 2013新建Java工程,新建lib文件夹,将本项目中需要用到的所有开源Jar包拷贝到lib文件夹下,包括MySQL-connector-java-5.1.7-bin.jar、poi.jar、reportng-1.1.5.jar、selenium-server-standalone-2.44.0.jar、testng-6.8.jar、sikulixapi.jar;
(2)离线安装TestNG插件,配置项目的Build Path,将lib文件夹下的所有Jar包添加到Libraries中;
(3)安装61.0.3163.100版本的Chrome浏览器和57.0.4.6577的FireFox浏览器。
其中,TestNG是Java中的一个用来简化广泛的测试需求的测试框架,不仅可以用于单元测试(即隔离测试一个类),也可以用于集成测试(如有多个类多个包甚至多个外部框架组成的整个系统),功能强大并且使用方便。TestNG在Java编程中率先实现了利用注释进行测试,并通过testng.xml文件来配置测试脚本的执行。
通过上述步骤(1)至步骤(3),能够实现测试环境的配置。另外,根据实际的测试需求,还可以采用其他步骤配置测试环境,例如,还可以配置其他形式的集成开发环境、其他形式的存储路径和其他版本的浏览器等,本申请实施例对此不做限定。
测试环境配置完后后,创建自动化功能测试公用库,所述自动化功能测试公用库具体为对添加的依赖Jar包进行二次封装后的公用方法和函数,如对页面对象进行单击、双击、单击后输入、判断检查点是否通过等,表一为自动化功能测试公用库包含的公用方法和函数的示例。
表一 自动化功能测试公用库
Figure BDA0001695648010000061
Figure BDA0001695648010000071
Figure BDA0001695648010000081
步骤102,所述用户服务器根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件。
该步骤中,基础组件与测试环节相对应,并且包含测试环节的业务流转方式。例如,将“调度执行中”对应的测试环节作为基础组件,所述基础组件包含两种业务流转方式,一种是先在“处理意见”输入框中输入意见,然后单击“保存并发送”按钮,另一种是直接单击“保存并发送”按钮。
步骤103,所述用户服务器基于Selenium技术获取各个所述基础组件的组件参数,其中,所述组件参数包括:测试数据项、控制信息和关键字,并将各个所述基础组件,以及各个所述基础组件的组件参数传输至管理平台。
该步骤中,基于Selenium技术获取各个所述基础组件的测试数据项、控制信息和关键字,其中,Selenium是ThroughtWorks公司开发的一套强大的开源Web应用自动化测试的工具集,支持多种开发语言编写测试用例,可以集成到Java/.Net/Python/Ruby等开发项目中,本申请将Selenium2.0中的WebDriver集成到Java项目中来实现自动化功能测试。WebDriver本身为Web应用程序自动化测试提供大量实用的测试函数,这些函数能使测试工作变得更为简单、高效和灵活,再结合其他实用工具的API进行二次封装,能够扩展自动化测试的应用深度和广度。
该步骤中,基础组件与测试环节相对应,测试环节主要分为两类,一类是需要测试数据的测试环节,例如在“处理意见”输入框中输入处理意见,则输入的处理意见为一个测试数据;另一种是不需要测试数据的测试环节,例如,测试环节仅包含单击某个图标,其中不涉及输入数据的操作,则不需要测试数据。而需要测试数据的测试环节通常不止一个测试数据,例如,一个测试环节需要分别输入“账号”和“密码”来完成,其中,“账号”和“密码”分别代表一个测试数据项,测试数据项是一种标识,用于跟其他测试数据项进行区分,测试数据则是测试数据项的具体数值,另外,各个测试数据项对应的一组测试数据为一个测试数据组。
控制信息是一种参数,用来控制与基础组件相对应的不同的业务流转方式。例如,参数x代表基础组件的第一种业务流转方式,参数y代表基础组件的第二种业务流转方式。
关键字包括页面对象和对于页面对象的操作,页面对象的属性主要包括页面对象名称、获取方式、页面对象内容等。页面对象名称即为基础组件中的操作对象,获取方式为Selenium定位页面对象的方式,该方式通过页面元素的属性或者通过图片识别页面对象,例如,通过id/name/classname/cssSelector/xpath为一个页面元素的属性,通过该属性能够识别页面对象。页面对象内容为获取方式的具体内容,例如,页面元素的属性或者图片的完整路径);对于页面对象的操作即针对获取到的页面对象进行的操作,例如单击、双击、输入文本、单击图片等。
步骤104,所述用户服务器根据所述企业级信息系统的测试需求,创建测试用例,并将所述测试用例传输至所述管理平台。
该步骤中,测试用例包括详细的测试步骤和预期输出等。另外,若测试用例的执行依赖于其他用例,则需设置前置用例。
步骤105,所述管理平台根据各个所述测试用例,配置与所述测试用例对应的各个所述基础组件以及各个所述基础组件的排列顺序,并且配置各个所述基础组件对应的测试数据。
该步骤中,根据测试用例的测试步骤,配置对应的基础组件以及基础组件的排列顺序。根据基础组件中包含的测试数据项、控制信息和关键字,配置各个基础组件对应的测试数据。
其中,所述各个基础组件对应的测试数据,指的是测试数据项的具体数值。
步骤106,所述管理平台根据测试任务,确定所述测试任务对应的各个测试用例以及测试用例的执行顺序,并且配置所述测试用例对应的测试参数。
该步骤中,测试参数主要包括测试服务器、测试内容、测试目的、失败自动重新执行次数、数据组调用方式和/或预期输出等,其中,调用方式可为调用一个测试数据组执行三次,或者调用三个测试数据组分别执行一次。测试用例的执行顺序根据测试任务来确定,例如测试任务包含“收款”和“退款”两个测试用例,根据测试任务,“收款”后,在执行“退款”,因此“收款”对应的测试用例应该“退款”对应的测试用例之前。
步骤107,所述管理平台将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器。
该步骤中,所述测试服务器为一个测试服务器群组,所述测试参数中包含与所述测试任务对应的测试服务器,其中,与所述测试任务对应的测试服务器为执行所述测试任务的测试服务器,所述管理平台将所述测试任务和其他信息传输至与测试任务对应的测试服务器。
步骤108,所述测试服务器在接收到所述基础组件之后,从所述管理平台提取与所述基础组件相对应的组件参数,并根据所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据,生成相应的测试脚本,根据所述测试脚本执行相应的测试操作。
该步骤中,所述测试任务包含多个测试用例,所述测试用例包含多个基础组件,所述测试服务器根据所述基础组件,从所述管理平台提取基础组件对应的测试数据项、控制信息和关键字,生成与测试任务对应的测试脚本。
步骤109,所述测试服务器获取所述测试操作的测试结果。
该步骤中,在执行所述测试操作之后,所述测试服务器获取所述测试操作的测试结果,即完成测试任务对应的自动化功能测试。
本申请通过步骤101至步骤109提供一种企业级信息系统自动化功能测试方法,该方法中,根据测试任务,确定与测试任务相对应的测试用例以及测试用例的执行顺序,其中,每个测试用例配置有对应的基础组件以及基础组件的排列顺序,也就是说,测试用例与基础组件相关联,不同的测试用例能够调用相同的基础组件,并根据测试任务对应的测试用例、测试参数、基础组件以及测试数据,生成测试脚本,避免重复编写测试脚本,节省了人力和时间的耗费,提高了测试效率。
另外,现有技术中,若某一页面对象发生变化,包含该页面对象的多个测试脚本均需要进行更改。而本申请实施例公开的方案中,基础组件的组件参数中包含关键字,关键字中包含页面对象。通过管理平台能够修改关键字,这种情况下,当一个页面对象发生变动时,只需要在管理平台对基础组件的关键字进行变更即可,无需修改该基础组件对应的测试用例,也就无需修改各个测试脚本,节省了人力和时间的耗费,提高了测试效率。
进一步的,当测试用例的操作步骤发生变更,通过本申请实施例公开的方案,只需重新确定基础组件的排列顺序以及测试用例的执行顺序,重新生成测试脚本,即可执行测试任务,无需重新编写测试脚本,从而提高了测试效率。
本申请实施例提供一种企业级信息系统自动化功能测试方法,所述方法应用于企业级信息系统自动化功能测试系统,所述系统包括:用户服务器、管理平台和测试服务器;所述管理平台包括管理服务器和MySQL数据库服务器,其中,所述管理服务器将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器。另外,所述管理服务器将所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至所述MySQL数据库服务器,以便所述MySQL数据库服务器存储所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据。
参照图2所示的应用场景示意图,所述系统包括:用户服务器10、管理服务器20和MySQL数据库服务器30和测试服务器40,,其中,管理服务器20和MySQL数据库服务器30共同构成管理平台。所述用户服务器10将各个所述基础组件的测试数据项、控制信息和关键字传输至管理平台,管理平台包含MySQL数据库服务器30和测试服务器40,因此,用户服务器10传输至管理平台的数据均存储于MySQL数据库服务器30中,测试服务器执行测试任务对应的测试脚本时,可以调用MySQL数据库服务器30中的测试数据项、控制信息和关键字。另外,所述用户服务器根据所述企业级信息系统的测试需求,创建测试用例,并根据测试任务对应的测试用例、测试参数、基础组件以及测试数据,生成测试脚本。
所述测试用例是为某个特殊的测试目标而编制的一组测试输入、执行条件以及预期输出,以便测试或核实某个程序路径是否满足特定的需求。在管理平台中建立测试用例记录表,在所述测试用例记录表中,可以对测试用例进行新增、删除、修改、查询以及导出操作。
参照图3所示的工作流程图,本申请实施例提供的一种企业级信息系统自动化功能测试方法中,管理服务器生成测试分析报告,包括以下步骤:
步骤201,在所述测试服务器获取所述测试操作的测试结果之后,所述测试服务器将所述测试结果传输至所述MySQL数据库服务器。
步骤202,所述管理服务器获取所述MySQL数据库服务器中的所述测试结果。
步骤203,所述管理服务器根据所述测试结果和ReportNG插件,生成测试分析报告。
该步骤中,ReportNG插件是一个测试报告插件,能够根据所述测试结果,生成一个易读的、色彩分明的测试分析报告。
参照图4所示的工作流程图,本申请实施例提供的一种企业级信息系统自动化功能测试方法中,管理服务器对测试结果进行管理,包括以下步骤:
步骤301,在所述管理服务器获取所述MySQL数据库服务器中的所述测试结果之后,所述管理服务器将所述测试结果作为当前测试结果,比较所述当前测试结果与所述测试任务的预期结果是否相同。
该步骤中,所述测试任务包含多个测试用例,所述当前测试结果为所述测试任务对应的测试结果,因此,所述测试结果中包含各个测试用例对应的测试结果,每个所述测试用例的测试参数中包含该测试用例的预期输出,比较当前测试结果的包含的各个测试用例对应的测试结果与预期输出是否相同。
步骤302,若所述当前测试结果与所述测试任务的预期结果相同,所述管理服务器确定所述当前测试结果正常。
步骤303,若所述当前测试结果与所述测试任务的预期结果不同,所述管理服务器将所述当前测试结果与所述测试任务的预期结果之间的差异作为第一功能缺陷,并在缺陷管理记录列表中添加所述第一功能缺陷。
该步骤中,由于所述测试任务对应多个测试用例,各个测试用例的预期输出组合成测试任务的预期结果,而当前测试结果中包含多个测试用例对应的测试输出,所述当前测试结果与所述测试任务的预期结果不同,存在两种情况,一种情况是每个测试用例的测试结果与预期输出均不相同,另一种情况是,部分测试用例的测试结果与预期输出不相同,因此,需要分析与预期输出不相同的各个测试用例,将其中与预期输出不相同的各个测试用例作为第一类测试用例,根据第一类测试用例与各个预期输出之间的差异,确定与该差异对应的功能缺陷,并将该功能缺陷作为第一功能缺陷。
参照图5所示的工作流程图,本申请实施例提供的一种企业级信息系统自动化功能测试方法中,管理平台对页面对象进行管理,包括以下步骤:
步骤401,在所述用户服务器将各个所述基础组件,以及各个所述基础组件的测试数据项、控制信息和关键字传输至管理平台之后,所述管理平台根据各个所述基础组件的关键字,建立关键字列表。
步骤402,若所述关键字对应的页面对象发生改变,所述管理平台将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象。
该步骤中,管理平台通过关键字列表对关键字进行管理,若页面对象发生变化,只需在所述关键字列表中将关键字对应的页面对象修改后改变后的页面对象。若测试任务对应的页面对象发生改变,在更新关键字列表后,重新生成测试脚本,即可将测试任务对应的测试脚本中的页面对象更新为改变后的页面对象。
参照图6所示的结构示意图,本申请实施例提供一种企业级信息系统自动化功能测试系统,所述系统包括:用户服务器、管理平台和测试服务器;
其中,所述用户服务器包括:
第一配置模块100,用于根据企业级信息系统的测试需求,配置对所述企业级信息系统进行自动化功能测试的测试环境。
创建模块200,用于根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件。
第一传输模块300,用于基于Selenium技术获取各个所述基础组件的组件参数,其中,所述组件参数包括:测试数据项、控制信息和关键字,并将各个所述基础组件,以及各个所述基础组件的组件参数传输至管理平台。
第二传输模块400,用于根据所述企业级信息系统的测试需求,创建测试用例,并将所述测试用例传输至所述管理平台。
所述管理平台包括:
第二配置模块500,用于根据各个所述测试用例,配置与所述测试用例对应的各个所述基础组件以及各个所述基础组件的排列顺序,并且配置各个所述基础组件对应的测试数据。
第一确定模块600,用于根据测试任务,确定所述测试任务对应的各个测试用例以及测试用例的执行顺序,并且配置所述测试用例对应的测试参数。
第三传输模块700,用于将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器。
所述测试服务器包括:
第一生成模块800,用于在接收到所述基础组件之后,从所述管理平台提取与所述基础组件相对应的组件参数,并根据所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据,生成相应的测试脚本,根据所述测试脚本执行相应的测试操作。
第一获取模块900,用于获取所述测试操作的测试结果。
可选的,所述管理平台包括管理服务器和MySQL数据库服务器,其中,所述管理服务器将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;所述管理服务器还包括:
第四传输模块,用于将所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至所述MySQL数据库服务器,以便所述MySQL数据库服务器存储所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据。
可选的,所述测试服务器还包括第五传输模块;所述管理服务器还包括第二获取模块和第二生成模块。
所述第五传输模块,用于在所述第一获取模块获取所述测试操作的测试结果之后,将所述测试结果传输至所述MySQL数据库服务器。
所述第二获取模块,用于获取所述MySQL数据库服务器中的所述测试结果。
所述第二生成模块,用于根据所述测试结果和ReportNG插件,生成测试分析报告。
可选的,所述管理服务器还包括:
比较模块,用于在所述第二获取模块获取所述MySQL数据库服务器中的所述测试结果之后,将所述测试结果作为当前测试结果,比较所述当前测试结果与所述测试任务的预期结果是否相同。
第二确定模块,用于若所述当前测试结果与所述测试任务的预期结果相同,确定所述当前测试结果正常。
添加模块,用于若所述当前测试结果与所述测试任务的预期结果不同,将所述当前测试结果与所述测试任务的预期结果之间的差异作为第一功能缺陷,并在缺陷管理记录列表中添加所述第一功能缺陷。
可选的,所述管理平台还包括:
建立模块,用于在所述第一传输模块将各个所述基础组件,以及各个所述基础组件的测试数据项、控制信息和关键字传输至管理平台之后,根据各个所述基础组件的关键字,建立关键字列表。
替换模块,用于若所述关键字对应的页面对象发生改变,将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的一种企业级信息系统自动化功能测试方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

Claims (9)

1.一种企业级信息系统自动化功能测试方法,其特征在于,所述方法应用于企业级信息系统自动化功能测试系统,所述系统包括:用户服务器、管理平台和测试服务器;
所述方法包括:
用户服务器根据企业级信息系统的测试需求,配置对所述企业级信息系统进行自动化功能测试的测试环境;
所述用户服务器根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件;
所述用户服务器基于Selenium技术获取各个所述基础组件的组件参数,其中,所述组件参数包括:测试数据项、控制信息和关键字,并将各个所述基础组件,以及各个所述基础组件的组件参数传输至管理平台;所述管理平台根据各个所述基础组件的关键字,建立关键字列表;若所述关键字对应的页面对象发生改变,所述管理平台将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象;
所述用户服务器根据所述企业级信息系统的测试需求,创建测试用例,并将所述测试用例传输至所述管理平台;
所述管理平台根据各个所述测试用例,配置与所述测试用例对应的各个所述基础组件以及各个所述基础组件的排列顺序,并且配置各个所述基础组件对应的测试数据;
所述管理平台根据测试任务,确定所述测试任务对应的各个测试用例以及测试用例的执行顺序,并且配置所述测试用例对应的测试参数;
所述管理平台将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述测试服务器在接收到所述基础组件之后,从所述管理平台提取与所述基础组件相对应的组件参数,并根据所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据,生成相应的测试脚本,根据所述测试脚本执行相应的测试操作;
所述测试服务器获取所述测试操作的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述管理平台包括管理服务器和MySQL数据库服务器,其中,所述管理服务器将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述方法还包括:
所述管理服务器将所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至所述MySQL数据库服务器,以便所述MySQL数据库服务器存储所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据。
3.根据权利要求2所述的方法,其特征在于,在所述测试服务器获取所述测试操作的测试结果之后,还包括:
所述测试服务器将所述测试结果传输至所述MySQL数据库服务器;
所述管理服务器获取所述MySQL数据库服务器中的所述测试结果;
所述管理服务器根据所述测试结果和ReportNG插件,生成测试分析报告。
4.根据权利要求3所述的方法,其特征在于,在所述管理服务器获取所述MySQL数据库服务器中的所述测试结果之后,还包括:
所述管理服务器将所述测试结果作为当前测试结果,比较所述当前测试结果与所述测试任务的预期结果是否相同;
若所述当前测试结果与所述测试任务的预期结果相同,所述管理服务器确定所述当前测试结果正常;
若所述当前测试结果与所述测试任务的预期结果不同,所述管理服务器将所述当前测试结果与所述测试任务的预期结果之间的差异作为第一功能缺陷,并在缺陷管理记录列表中添加所述第一功能缺陷。
5.一种企业级信息系统自动化功能测试系统,其特征在于,所述系统包括:用户服务器、管理平台和测试服务器;
其中,所述用户服务器包括:
第一配置模块,用于根据企业级信息系统的测试需求,配置对所述企业级信息系统进行自动化功能测试的测试环境;
创建模块,用于根据所述企业级信息系统的测试需求,确定不同测试需求的测试环节,创建与所述测试环节对应的基础组件;
第一传输模块,用于基于Selenium技术获取各个所述基础组件的组件参数,其中,所述组件参数包括:测试数据项、控制信息和关键字,并将各个所述基础组件,以及各个所述基础组件的组件参数传输至管理平台;所述管理平台根据各个所述基础组件的关键字,建立关键字列表;若所述关键字对应的页面对象发生改变,所述管理平台将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象;
第二传输模块,用于根据所述企业级信息系统的测试需求,创建测试用例,并将所述测试用例传输至所述管理平台;
所述管理平台包括:
第二配置模块,用于根据各个所述测试用例,配置与所述测试用例对应的各个所述基础组件以及各个所述基础组件的排列顺序,并且配置各个所述基础组件对应的测试数据;
第一确定模块,用于根据测试任务,确定所述测试任务对应的各个测试用例以及测试用例的执行顺序,并且配置所述测试用例对应的测试参数;
第三传输模块,用于将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述测试服务器包括:
第一生成模块,用于在接收到所述基础组件之后,从所述管理平台提取与所述基础组件相对应的组件参数,并根据所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据,生成相应的测试脚本,根据所述测试脚本执行相应的测试操作;
第一获取模块,用于获取所述测试操作的测试结果。
6.根据权利要求5所述的系统,其特征在于,所述管理平台包括管理服务器和MySQL数据库服务器,其中,所述管理服务器将所述测试任务、所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至测试服务器;
所述管理服务器还包括:
第四传输模块,用于将所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据传输至所述MySQL数据库服务器,以便所述MySQL数据库服务器存储所述测试用例、所述测试参数、所述基础组件、所述基础组件的排列顺序、所述测试用例的执行顺序以及所述测试数据。
7.根据权利要求6所述的系统,其特征在于,
所述测试服务器还包括第五传输模块;
所述管理服务器还包括第二获取模块和第二生成模块;
所述第五传输模块,用于在所述第一获取模块获取所述测试操作的测试结果之后,将所述测试结果传输至所述MySQL数据库服务器;
所述第二获取模块,用于获取所述MySQL数据库服务器中的所述测试结果;
所述第二生成模块,用于根据所述测试结果和ReportNG插件,生成测试分析报告。
8.根据权利要求7所述的系统,其特征在于,所述管理服务器还包括:
比较模块,用于在所述第二获取模块获取所述MySQL数据库服务器中的所述测试结果之后,将所述测试结果作为当前测试结果,比较所述当前测试结果与所述测试任务的预期结果是否相同;
第二确定模块,用于若所述当前测试结果与所述测试任务的预期结果相同,确定所述当前测试结果正常;
添加模块,用于若所述当前测试结果与所述测试任务的预期结果不同,将所述当前测试结果与所述测试任务的预期结果之间的差异作为第一功能缺陷,并在缺陷管理记录列表中添加所述第一功能缺陷。
9.根据权利要求5所述的系统,其特征在于,所述管理平台还包括:
建立模块,用于在所述第一传输模块将各个所述基础组件,以及各个所述基础组件的测试数据项、控制信息和关键字传输至管理平台之后,根据各个所述基础组件的关键字,建立关键字列表;
替换模块,用于若所述关键字对应的页面对象发生改变,将所述关键字列表中的所述关键字对应的页面对象替换为改变后的页面对象。
CN201810611362.2A 2018-06-14 2018-06-14 一种企业级信息系统自动化功能测试方法和系统 Active CN108845940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810611362.2A CN108845940B (zh) 2018-06-14 2018-06-14 一种企业级信息系统自动化功能测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810611362.2A CN108845940B (zh) 2018-06-14 2018-06-14 一种企业级信息系统自动化功能测试方法和系统

Publications (2)

Publication Number Publication Date
CN108845940A CN108845940A (zh) 2018-11-20
CN108845940B true CN108845940B (zh) 2021-09-07

Family

ID=64201747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810611362.2A Active CN108845940B (zh) 2018-06-14 2018-06-14 一种企业级信息系统自动化功能测试方法和系统

Country Status (1)

Country Link
CN (1) CN108845940B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815128A (zh) * 2018-12-21 2019-05-28 北京奇艺世纪科技有限公司 测试用例的执行方法、装置、终端及计算机可读存储介质
CN112286779B (zh) * 2019-07-23 2024-04-09 腾讯科技(深圳)有限公司 测试任务处理方法、装置、存储介质和计算机设备
CN110727599B (zh) * 2019-10-17 2023-08-04 青岛海信宽带多媒体技术有限公司 测试环境配置及更新方法
CN111258893A (zh) * 2020-01-13 2020-06-09 中信银行股份有限公司 随机组装交易路径的移动端应用自动化测试装置
CN113448822A (zh) * 2020-03-25 2021-09-28 北京同邦卓益科技有限公司 测试方法、装置、计算机可读介质及电子设备
CN111737135A (zh) * 2020-06-24 2020-10-02 泰康保险集团股份有限公司 受托系统的通用测试方法、装置、设备及存储介质
CN111813684A (zh) * 2020-07-17 2020-10-23 济南浪潮数据技术有限公司 一种web前端组件的测试方法、测试装置及测试设备
CN111983998B (zh) * 2020-09-04 2021-11-30 华人运通(江苏)技术有限公司 一种自动化诊断测试用例生成系统及方法
CN114595106B (zh) * 2022-05-10 2022-08-16 景网技术有限公司 一种业务控制设备调测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722437A (zh) * 2012-05-29 2012-10-10 北京空间飞行器总体设计部 一种基于组件与脚本的航天器测试系统及测试方法
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104965790A (zh) * 2015-07-17 2015-10-07 小米科技有限责任公司 基于关键字驱动的软件测试方法及系统
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN107506303A (zh) * 2017-08-24 2017-12-22 航天中认软件测评科技(北京)有限责任公司 用于自动化测试的方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722437A (zh) * 2012-05-29 2012-10-10 北京空间飞行器总体设计部 一种基于组件与脚本的航天器测试系统及测试方法
CN103530231A (zh) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 一种基于业务流程控制的应用程序测试方法及系统
CN104965790A (zh) * 2015-07-17 2015-10-07 小米科技有限责任公司 基于关键字驱动的软件测试方法及系统
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN107506303A (zh) * 2017-08-24 2017-12-22 航天中认软件测评科技(北京)有限责任公司 用于自动化测试的方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
信息系统功能自动化测试研究;满红任;《云南电力技术》;20170630;第45卷(第3期);全文 *

Also Published As

Publication number Publication date
CN108845940A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
TWI670672B (zh) 雲製造服務的自動建置方法、電腦程式產品、雲製造系統
US11099823B2 (en) Systems and methods for transformation of reporting schema
CN111399853B (zh) 机器学习模型与自定义算子的模板化部署方法
US8706771B2 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
CN108446190B (zh) 接口测试方法及装置
US8898627B2 (en) Systems and methods for applying rules to transform objects of an application
US9916137B2 (en) Rest service source code generation
US20110283270A1 (en) Systems and methods for analyzing changes in application code from a previous instance of the application code
US20170344344A1 (en) Systems and methods for automated retrofitting of customized code objects
CN113706110B (zh) 一种fpga测试工具一体化测试管理平台
CN112363953B (zh) 基于爬虫技术和规则引擎的接口测试用例生成方法及系统
CN104657274A (zh) 软件界面测试方法及装置
CN103186463B (zh) 确定软件的测试范围的方法和系统
US10606569B2 (en) Declarative configuration elements
Shenoy et al. An adaptive framework for web services testing automation using JMeter
Ilieva et al. A composable framework for test automation of service-based applications
CN116719735A (zh) 一种测试用例生成方法及装置
Saadatmand Towards automating integration testing of. NET applications using Roslyn
CN102521133A (zh) 基于tcl的白盒测试自动化方法及系统
Bluemke et al. Tool for automatic testing of web services
Pinnecke Product-lining the elinvar wealthtech microservice platform
WO2011041246A1 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
Whitener et al. The ERSDT Software Quality Assurance Plan Practices and Development Environment Setup for RASCAL 5
CN114328177A (zh) 一种基于多语言k8s的自动化测试系统及其测试方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant