CN115017056A - 自动化测试项目执行方法 - Google Patents
自动化测试项目执行方法 Download PDFInfo
- Publication number
- CN115017056A CN115017056A CN202210833174.0A CN202210833174A CN115017056A CN 115017056 A CN115017056 A CN 115017056A CN 202210833174 A CN202210833174 A CN 202210833174A CN 115017056 A CN115017056 A CN 115017056A
- Authority
- CN
- China
- Prior art keywords
- message
- execution
- task
- automatic test
- test item
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化测试项目执行方法,包括:1.将消息中间件服务器IP、消息队列名称、队列类型与指定队列建立连接,启动执行自动化测试项目;2.将自动化测试任务发送到消息队列,生成一条异步任务,并将task_id发送到消息队列中;同时生成测试结果记录状态字段为“待测试”;3.对消息队列进行实时监测,根据任务生成时间依次执行对应的自动化测试项目;4.将执行结果写入数据库中,系统从数据库中查询到测试结果记录;5.自动将状态字段修改为“执行完毕”,对消息队列中的下一条任务进行获取并执行,直至执行完毕;6.获取执行结果。本发明提供的自动化测试项目执行方法可以避免测试资源浪费,提高测试效率,使自动化测试项目执行过程更有序可控。
Description
技术领域
本发明内容涉及计算机软件测试技术领域,尤其涉及一种自动化测试项目执行方法。
背景技术
现有的很多应用系统测试中,自动化测试项目脚本通用执行方法为:在本地电脑手动执行脚本或者登录远程测试电脑手动执行,因而该方法存在着以下问题:
(1)本地手动执行自动化项目脚本存在重复执行会导致脚本执行冲突,多个测试任务过程不可控;
(2)测试人员需具有较高的专业技能,也会使得多系统所属团队间的协同难度加大,系统间测试周期加长,测试人员对被依赖系统的了解普遍存在局限性,则很难保证较高的测试质量,导致跟踪处理效率较低,测试的准确性较差,对于项目的质量来说有很大风险;如果想要达到准确性则必须覆盖大范围的数据,耗时耗力,效率低且成本高;
(3)自动化测试项目脚本执行完毕后,需要人工判断并手动执行下一个任务,增加人工以及测试机器成本。
因此,需要提出一种自动化测试项目执行方法,来解决现有技术中存在的上述问题。
发明内容
本发明内容所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种自动化测试项目执行方法,避免自动化测试项目重复执行导致脚本执行冲突的问题,提高测试效率。
本发明内容的目的及解决的技术问题是采用以下技术方案来实现的:
一种自动化测试项目执行方法,包括以下步骤:
1.将消息中间件服务器IP、消息队列名称、队列类型与指定队列建立连接,启动执行自动化测试项目列表中的测试项目;
2.将自动化测试任务发送到消息队列,通过celery生成一条异步task任务,并将task_id发送到消息队列中;
同时,生成一条测试结果记录,并且默认设置该测试结果中状态字段为“待测试”;
3.对消息队列进行实时监测,并利用消息获取机制取出消息,根据任务生成时间依次从消息队列中获取task_id并消费,执行对应的自动化测试项目,进行自动化测试项目异步执行;
4.自动化测试项目异步执行后,将执行结果写入数据库中,系统从数据库中查询到该任务对应的测试结果记录,并将状态字段改成“执行中”;
5.所述自动化测试项目异步执行完毕后,自动将状态字段修改为“执行完毕”,对消息队列中的下一条任务进行获取并执行,直至所有自动化测试项目异步执行完毕;
6.获取自动化测试项目执行结果,监控多个自动化测试项目执行进程。
优选的,所述步骤2中,生成测试结果记录时,将task_id、status字段、测试任务内容信息存储到数据库中。
优选的,所述步骤3中,所述执行对应的自动化测试项目包括:
系统根据task_id从数据库中查询到对应任务内容信息,再根据项目执行命令信息内容执行对应自动化测试项目。
优选的,所述步骤3中,所述实现自动化测试项目异步执行包括:
消息接收端从消息中间件中接收消息;
将消息发送端与消息中间件建立连接;
根据消息类型及消息格式的定义,创建消息数据的源文件,将消息按照规范的格式保存在文件中;
按行读取消息数据的源文件;
选择消息发送机制,消息发送端将文件中的数据发送至消息中间件。
优选的,所述步骤3中,还包括:分析消息的类型及其特征,并采用对应的消息保存策略将消息保存至不同的文件中。
优选的,所述步骤6中,获取自动化测试项目执行结果包括:比对所述自动化测试项目异步执行后的数据,展示测试结果。
优选的,所述步骤6中,自动化测试项目执行进程的状态包括待执行、执行中、执行完毕。
根据本发明实施例的另一方面,提供了一种自动化测试项目执行装置,包括:
消息发送模块,用于发送消息队列的消息;
消息获取模块,用于接收消息队列的消息;
对比模块,用于根据消息队列保存信息,对比数据更新状态,验证被测系统发送的数据与被测系统自身的数据是否一致,确定测试结果。
优选的,所述自动化测试项目执行装置还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的自动化测试项目执行方法。
本发明提供的自动化测试项目执行方法可以对预设测试列表中的自动化测试项目点击一键执行操作,可通过查看结果记录状态,监控自动化测试项目执行进程,实现多自动化测试项目脚本24小时无人值守、有序执行,避免了测试资源浪费,提高了测试效率,减少测试工作量,使自动化测试项目执行过程更有序,执行过程更可监控。
具体实施方式
下面对本发明内容的技术方案做进一步的详细说明。显然,所描述的实施例仅仅是本发明内容一部分实施例,而不是全部的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明内容保护的范围。
应当理解,尽管这里可以使用术语第一、第二、第三等描述各个元件、组件和/或部分,但这些元件、组件和/或部分不受这些术语限制。
在一个实施例中,一种自动化测试项目执行方法,包括以下步骤:
1.将消息中间件服务器IP、消息队列名称、队列类型与指定队列建立连接,启动执行自动化测试项目列表中的测试项目;
2.将自动化测试任务发送到消息队列,通过celery生成一条异步task任务,并将task_id发送到消息队列中;
同时,生成一条测试结果记录,并且默认设置该测试结果中状态字段为“待测试”;
3.对消息队列进行实时监测,并利用消息获取机制取出消息,根据任务生成时间依次从消息队列中获取task_id并消费,执行对应的自动化测试项目,进行自动化测试项目异步执行;
4.自动化测试项目异步执行后,将执行结果写入数据库中,系统从数据库中查询到该任务对应的测试结果记录,并将状态字段改成“执行中”;
5.所述自动化测试项目异步执行完毕后,自动将状态字段修改为“执行完毕”,对消息队列中的下一条任务进行获取并执行,直至所有自动化测试项目异步执行完毕;
6.获取自动化测试项目执行结果,监控多个自动化测试项目执行进程。
触发自动化测试项目一键执行时,系统通过celery生成一条异步task任务,并将task_id发送到rabbitMQ消息队列中;同时系统会将task_id、status、任务内容等信息存储到数据库中,生成一条测试结果记录,并且默认设置该测试结果中状态字段status为“待测试”。
在一个实施例中,所述步骤2中,生成测试结果记录时,将task_id、status字段、测试任务内容信息存储到数据库中。
在本发明实施例中,数据库可以是Mysql数据库。Mysql数据库是一种关系型数据库,其将数据保存在不同的表中,可靠性高,一般用于持久化存储。缓存系统可以是Redis数据库。Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value(键-值)数据库,其属于非关系型数据库。所述task_id、status字段、测试任务内容信息数据库字段可以预先配置在可扩展标记语言文件(xml文件)中,其中,xml指可扩展标记语言,被设计用来传输和存储数据。
对于步骤2,数据库中的字段是指表的列,每个字段包含某一专题的信息。数据库字段和数据库表可以根据测试场景灵活设置,本发明在此不做限制。
步骤2中,异步任务执行机器celery-worker对消息队列实时监测,并根据任务生成时间依次从rabbitMQ消息队列中获取task_id并消费,系统根据task_id从数据库中查询到对应任务内容信息,再根据任务信息内容,即项目执行命令,执行对应的自动化测试项目。
在一个实施例中,所述步骤3中,所述执行对应的自动化测试项目包括:
系统根据task_id从数据库中查询到对应任务内容信息,再根据项目执行命令信息内容执行对应自动化测试项目。
在一个实施例中,所述步骤3中,所述实现自动化测试项目异步执行包括:
消息接收端从消息中间件中接收消息;
将消息发送端与消息中间件建立连接;
根据消息类型及消息格式的定义,创建消息数据的源文件,将消息按照规范的格式保存在文件中;
按行读取消息数据的源文件;
选择消息发送机制,消息发送端将文件中的数据发送至消息中间件。
执行自动化测试项目异步任务时,执行多个自动化测试项目的web和接口代码任务,后获取执行结果写入mysql数据库中。
在一个实施例中,所述步骤3中,还包括:分析消息的类型及其特征,并采用对应的消息保存策略将消息保存至不同的文件中。
在一个实施例中,所述步骤6中,获取自动化测试项目执行结果包括:比对所述自动化测试项目异步执行后的数据,展示测试结果。
在一个实施例中,所述步骤6中,自动化测试项目执行进程的状态包括待执行、执行中、执行完毕。
在一个实施例中,根据本发明实施例的另一方面,提供了一种自动化测试项目执行装置,包括:
消息发送模块,用于发送消息队列的消息;
消息获取模块,用于接收消息队列的消息;
对比模块,用于根据消息队列保存信息,对比数据更新状态,验证被测系统发送的数据与被测系统自身的数据是否一致,确定测试结果。
其中,这些模块的名称在某种情况下并不构成对该单元本身的限定,例如,消息发送模块还可以被描述为“向所连接的服务端发送消息获取请求的模块”。
在一个实施例中,所述自动化测试项目执行装置还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的自动化测试项目执行方法。
需要说明的是,本发明实施例所提供的自动化测试项目执行方法一般由服务器执行,相应地,自动化测试项目执行装置一般设置于服务器中,服务器可以是提供各种服务的服务器。
本发明实施例的方法能够覆盖大批量测试数据,而不需要人工介入,自动完成数据对比,能够发现很多人眼忽略的问题,省时省力,可靠性高,以最少的耗时发现最多异步化问题,配置灵活,可以适应多种异步化测试场景。
本发明提供的自动化测试项目执行方法可以对预设测试列表中的自动化测试项目点击一键执行操作,可通过查看结果记录状态,监控自动化测试项目执行进程,实现多自动化测试项目脚本24小时无人值守、有序执行,避免了测试资源浪费,提高了测试效率,减少测试工作量,使自动化测试项目执行过程更有序,执行过程更可监控。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (9)
1.一种自动化测试项目执行方法,其特征在于,包括以下步骤:
(1).将消息中间件服务器IP、消息队列名称、队列类型与指定队列建立连接,启动执行自动化测试项目列表中的测试项目;
(2).将自动化测试任务发送到消息队列,通过celery生成一条异步task任务,并将task_id发送到消息队列中;
同时,生成一条测试结果记录,并且默认设置该测试结果中状态字段为“待测试”;
(3).对消息队列进行实时监测,并利用消息获取机制取出消息,根据任务生成时间依次从消息队列中获取task_id并消费,执行对应的自动化测试项目,进行自动化测试项目异步执行;
(4).自动化测试项目异步执行后,将执行结果写入数据库中,系统从数据库中查询到该任务对应的测试结果记录,并将状态字段改成“执行中”;
(5).所述自动化测试项目异步执行完毕后,自动将状态字段修改为“执行完毕”,对消息队列中的下一条任务进行获取并执行,直至所有自动化测试项目异步执行完毕;
(6).获取自动化测试项目执行结果,监控多个自动化测试项目执行进程。
2.根据权利要求1所述的自动化测试项目执行方法,其特征在于,所述步骤2中,生成测试结果记录时,将task_id、status字段、测试任务内容信息存储到数据库中。
3.根据权利要求1所述的自动化测试项目执行方法,其特征在于,所述步骤3中,所述执行对应的自动化测试项目包括:
系统根据task_id从数据库中查询到对应任务内容信息,再根据项目执行命令信息内容执行对应自动化测试项目。
4.根据权利要求1所述的自动化测试项目执行方法,其特征在于,所述步骤3中,所述实现自动化测试项目异步执行包括:
消息接收端从消息中间件中接收消息;
将消息发送端与消息中间件建立连接;
根据消息类型及消息格式的定义,创建消息数据的源文件,将消息按照规范的格式保存在文件中;
按行读取消息数据的源文件;
选择消息发送机制,消息发送端将文件中的数据发送至消息中间件。
5.根据权利要求1所述的自动化测试项目执行方法,其特征在于,所述步骤3中,还包括:分析消息的类型及其特征,并采用对应的消息保存策略将消息保存至不同的文件中。
6.根据权利要求1所述的自动化测试项目执行方法,其特征在于,所述步骤6中,获取自动化测试项目执行结果包括:比对所述自动化测试项目异步执行后的数据,展示测试结果。
7.根据权利要求1所述的自动化测试项目执行方法,其特征在于,所述步骤6中,自动化测试项目执行进程的状态包括待执行、执行中、执行完毕。
8.本发明还提供了一种自动化测试项目执行装置,包括:
消息发送模块,用于发送消息队列的消息;
消息获取模块,用于接收消息队列的消息;
对比模块,用于根据消息队列保存信息,对比数据更新状态,验证被测系统发送的数据与被测系统自身的数据是否一致,确定测试结果。
9.根据权利要求8所述的自动化测试项目执行装置,其特征在于,还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210345843X | 2022-03-31 | ||
CN202210345843 | 2022-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115017056A true CN115017056A (zh) | 2022-09-06 |
Family
ID=83082841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210833174.0A Pending CN115017056A (zh) | 2022-03-31 | 2022-07-15 | 自动化测试项目执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115017056A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539750A (zh) * | 2023-10-25 | 2024-02-09 | 中科驭数(北京)科技有限公司 | 持续集成方法、装置、设备及介质 |
-
2022
- 2022-07-15 CN CN202210833174.0A patent/CN115017056A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539750A (zh) * | 2023-10-25 | 2024-02-09 | 中科驭数(北京)科技有限公司 | 持续集成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844198B (zh) | 一种分布式调度自动化测试平台及方法 | |
US5642504A (en) | Method of testing an application on a server which accesses a database | |
US9189374B2 (en) | Automatic test system for distributed comprehensive service and method thereof | |
CN102693183A (zh) | 一种实现软件自动化测试的方法及系统 | |
US20110093744A1 (en) | Distributed Batch Runner | |
CN111400011B (zh) | 一种实时任务调度方法、系统、设备及可读存储介质 | |
CN101174237B (zh) | 一种自动化测试方法、系统及一种测试设备 | |
CN105653401A (zh) | 应用系统灾备、运维、监控和应急启停调度方法及装置 | |
CN115017056A (zh) | 自动化测试项目执行方法 | |
WO2023231704A1 (zh) | 算法运行方法、装置、设备、存储介质 | |
CN109800081A (zh) | 一种大数据任务的管理方法及相关设备 | |
CN104899134A (zh) | 域名注册服务器自动化测试系统和方法 | |
CN113849399B (zh) | 多国产化平台下的多机协同软件的自动化测试系统和方法 | |
CN110188118A (zh) | 一种数据同步方法、装置 | |
CN113448988A (zh) | 算法模型的训练方法、装置、电子设备及存储介质 | |
CN111427695A (zh) | 一种分布式数据库中存储过程的并发调度装置 | |
CN110333909B (zh) | 一种自动化二次设备模型自动配置的建模方法 | |
CN115114147A (zh) | 一种基于结构化描述语言的测试系统 | |
CN115905151A (zh) | 基于备份日志的流转信息查询方法、系统和装置 | |
CN113535560A (zh) | 测试执行方法、装置、存储介质和计算设备 | |
CN115878448A (zh) | 数据库测试方法、分布式数据库、存储介质 | |
CN112346979A (zh) | 软件性能测试方法、系统和可读存储介质 | |
CN112114868B (zh) | 一种作业车辆任务实时控制装置及其协议适配方法 | |
CN111159004A (zh) | 一种Hadoop集群仿真测试方法、装置及存储介质 | |
CN112346994B (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 |
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 |