CN115454815B - 一种支持定制化测试任务的自动化测试系统 - Google Patents
一种支持定制化测试任务的自动化测试系统 Download PDFInfo
- Publication number
- CN115454815B CN115454815B CN202210966006.9A CN202210966006A CN115454815B CN 115454815 B CN115454815 B CN 115454815B CN 202210966006 A CN202210966006 A CN 202210966006A CN 115454815 B CN115454815 B CN 115454815B
- Authority
- CN
- China
- Prior art keywords
- test
- task
- use case
- plan
- management interface
- 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
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种支持定制化测试任务的自动化测试系统,包括测试工具;测试工具通过以下步骤完成测试:获取输入的分类信息和测试时长阈值;根据分类信息从用例数据库中筛选符合输入分类信息的用例,作为目标用例提取;将目标用例添加至当前测试任务中,判断当前测试任务的测试时长;当测试时长大于测试时长阈值时,将目标用例自当前测试任务中移除,创建新的测试任务,将新的测试任务分配至测试机器执行,完成目标用例的测试。本发明注重测试执行过程,适用以测试执行为主导的UI自动化测试场景,支持定制化的测试任务执行,支持无限长度的并发测试任务的执行,支持测试任务顺序自由调控。
Description
技术领域
本发明涉及软件自动化测试技术领域,尤其是一种支持定制化测试任务的自动化测试系统。
背景技术
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
虽然Jenkins是一种成熟的CI/CD(Continuous integration,持续集成;Continuous Delivery,持续交付)工具,但是能发挥其强大功能的主要应用场景还是基于B/S(浏览器/服务器)结构开发的软件中,而对于使用C/S(客户机/服务器)结构的开发的软件,其易用性就大打折扣。并且,Jenkins更侧重的是持续集成,更多是为了考虑开发与运维的协同合作,而对质量保证来说是比较看轻的,所以Jenkins在实现一些定制化的测试计划时,会显得有心无力,具体来说,存在以下局限性:1、不适用于UI自动化测试场景;2、无法实现定制化的测试任务;3、测试进度不可控。
发明内容
有鉴于此,本发明实施例提供一种支持定制化测试任务的自动化测试系统。
本发明提供了一种支持定制化测试任务的自动化测试系统,包括测试工具,所述测试工具用于完成定制化测试任务的自动化测试;
所述测试工具通过以下步骤完成测试:
获取输入的分类信息和测试时长阈值;
根据分类信息从用例数据库中筛选符合所述输入分类信息的用例,作为目标用例提取;
将目标用例添加至当前测试任务中,判断当前测试任务的测试时长;
当测试时长不大于测试时长阈值时,将当前测试任务分配至测试机器执行,完成目标用例的测试;
当测试时长大于测试时长阈值时,将目标用例自当前测试任务中移除,创建新的测试任务,将新的测试任务分配至测试机器执行,完成目标用例的测试。
进一步地,还包括测试用例管理界面,所述测试用例管理界面用于接收新增用例指令、删除用例指令和编辑用例指令,并根据指令向用例数据库传输相应信息,完成对用例的管理:
当新增用例指令被触发时,获取新增用例的用例名称,一级菜单、二级菜单、用例类型和测试时长,并为新增用例自动编号;所述一级菜单中记录新增用例所属功能的一级分类名称,所述二级菜单中记录新增用例所属功能的二级分类名称,所述一级分类名称、二级分类名称和用例类型用于组合生成分类信息;
当删除用例指令被触发时,将被选中的用例从用例数据库中删除;
当编辑用例指令被触发时,根据输入的编辑内容,对用例状态、用例名称、AutoTest包加载状态进行调整。
进一步地,还包括测试计划管理界面,所述测试计划管理界面用于接收新增计划指令、查看计划指令和计划用例复测指令,并根据指令向测试工具传输相应信息,完成对测试计划的管理:
当新增计划指令被触发时,获取新增测试计划的配置信息,分类信息和测试时长阈值;记录提交新增计划的用户;向测试工具发送配置信息、分类信息和测试时长阈值;所述配置信息包括前端包、代码分支和项目信息,所述项目信息分别对应不同的后台地址;所述分类信息包括定制化测试任务所要覆盖的一级分类、二级分类和用例类型,测试计划的配置信息和分类信息对应的后台地址会写入测试计划使用的目标用例中;
当查看计划指令被触发时,展示被选中测试计划的分类信息、测试时长阈值、测试计划完成度,测试结果以及被分配的测试机器;
当计划用例复测指令被触发时,将挑选出被选中测试计划在上轮执行中执行失败的目标用例,创建一条新的测试任务分配至测试机器执行。
进一步地,所述测试机器执行以下步骤完成测试任务;
加载测试任务中各个目标用例所对应的配置信息至目标用例对应的后台地址;
针对所有目标用例执行全量测试,得到第一测试结果;
筛选出第一测试结果中的失败用例,对所述失败用例进行重新测试,并记录重新测试的测试过程,得到第二测试结果;
根据第一测试结果和第二测试结果生成任务测试报告,反馈至测试计划管理界面;
测试计划管理界面根据任务测试报告,将各个目标用例的测试报告写入目标用例对应测试计划的测试结果中。
进一步地,还包括项目信息管理界面,所述项目信息管理界面用于设定项目信息和项目信息所对应的后台地址;
当项目信息管理界面接收到项目编辑指令时,根据输入的编辑内容,对项目信息的名称、后台地址、测试负责人和联系方式进行调整;
当项目信息管理界面接收到项目删除指令时,删除被选中的项目信息。
进一步地,还包括测试机器管理界面,所述测试机器管理界面用于建立测试机器与测试工具的连接;所述测试机器与测试工具的数据连接通过关联测试机器与测试工具的IP地址实现;所述测试机器管理界面还用于展示测试机器所执行测试任务的编号和测试机器的忙闲状态;
当测试机器完成测试任务后,所述测试机器管理界面还用于在接收到查看日志指令时展示所完成测试任务的测试过程日志;
当测试机器损坏时,所述测试机器管理界面还用于在接收到数据修复指令时对测试机器的数据进行重新部署。
进一步地,还包括测试任务管理界面,所述测试任务管理界面用于展示测试任务的任务状态,所述任务状态包括等待执行和正在执行;其中,处于等待执行状态的测试任务位于系统的一级缓存区,处于正在执行状态的测试任务位于系统的二级缓存区;当处于正在执行状态的测试任务执行完毕时,系统根据测试任务的优先级自一级缓存区中调取测试任务移动至二级缓存区,开始执行所调取的测试任务;
在测试任务管理界面接收到中止指令时,所述测试工具通过任务中止流程停止测试任务的执行;
针对任务状态处于等待执行的测试任务,在测试任务管理界面接收到优先级调整指令时,所述测试工具通过任务优先级调整流程调整测试任务的优先级。
进一步地,所述任务中止流程具体包括以下步骤:
测试工具在测试任务中添加中止标志位;
执行所述测试任务的测试机器定期检测测试任务中的中止标志位是否为真;
当测试机器检测到中止标志位为真时,中止测试任务的执行。
进一步地,所述任务优先级调整流程具体包括以下步骤:
在测试任务管理界面选择测试任务的目标优先级;
系统将目标优先级赋予一级缓存区中对应的测试任务。
进一步地,所述测试工具和测试机器的通信通过socket指令方式完成。
本发明的实施例具有如下有益效果:本发明重点关注测试的执行过程,适用于以测试执行为主导的UI自动化测试场景;同时通过建立两级内存区,可以将一个测试计划中的多个测试用例分配至多个测试任务,由多台测试机器完成,可以实现对测试任务的定制化操作;此外,本发明还通过测试任务进行优先级调整,实现了对测试进度的控制。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本方案一种支持定制化测试任务的自动化测试系统的结构示意图;
图2是本方案一种支持定制化测试任务的自动化测试系统实施例的测试任务选择分配流程图;
图3是本方案一种支持定制化测试任务的自动化测试系统实施例的测试机器的用例测试流程图;
图4是本方案一种支持定制化测试任务的自动化测试系统实施例的测试中止流程图;
图5是本方案一种支持定制化测试任务的自动化测试系统实施例的优先级调整示意图;
图6是本方案一种支持定制化测试任务的自动化测试系统实施例的测试用例管理界面;
图7是本方案一种支持定制化测试任务的自动化测试系统实施例的测试计划管理界面;
图8是本方案一种支持定制化测试任务的自动化测试系统实施例的项目信息管理界面;
图9是本方案一种支持定制化测试任务的自动化测试系统实施例的测试机器管理界面;
图10是本方案一种支持定制化测试任务的自动化测试系统实施例的测试任务管理界面.
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明的出发点是:解决基于C/S结构开发的软件实行UI自动化测试任务执行难的问题。本发明利用socket通信技术实现服务端与测试端之间多指令的交互,利用生产者/消费者模型解决多任务并发时无法定制测试任务的问题,利用多线程二级缓存技术解决任务启动后进度不可控的问题。
本发明使用Python语言开发(Python是一种解释型、面向对象、动态数据类型的高级程序设计语言)。应用本发明提供的技术,使用者可以根据测试需要,搭建一套能够支持各种自动化技术(包括UI自动化测试等)开发的自动化脚本的执行,并且能够支持自定义测试任务,能够随时监测测试执行进度、调整测试任务的优先级。
本发明使用流程上比较简单清晰:测试任务登记后,任务的整个分发、调度过程全部由服务端完成,最终以输出测试报告为结束。本发明中的叙述测试机器功能主要是以执行基于C/S结构开发的软件实行UI自动化测试脚本为例,实际上本发明中的测试机器可以运行任意自动化测试脚本,本发明并不限制仅能运行UI自动化测试脚本。
下面以一个DIYHome软件的800条UI自动化测试用例执行为实施例描述本发明的功能及步骤流程。
本实施例一种支持定制化测试任务的自动化测试系统的结构组成可参考图1。为了完成UI自动化测试任务的分发和执行,本发明应用生产者-消费者模式进行数据处理,采用Socket通信方式实现服务端和测试机器的指令传递,在结构上主要分三层:多线程处理层采用多线程技术实现各底层功能函数的表达,数据处理层按照生产者-消费者模式分测试计划处理模块、资源池处理模块、测试执行处理模块,表示层由网页端负责不同信息的展示以及操作。
本实施例中,一个测试计划包含多条测试用例,一个测试任务可以搭载多个测试用例,服务端将各任务分配给测试机器,每个任务必须有一台空闲的测试机器来执行。指令可以根据测试需要进行增删,默认按照:定制测试、执行测试、发送测试结果这个顺序执行。多线程处理层中的通信线程就是负责服务端与测试机器之间指令的传递。
以图2中的测试流程为例,测试工具(图1中的生产者部分)根据设定的分类信息(数值为5)和测试时长阈值(数值为2)制定测试流程。服务端从数据库中读取用例信息,依次判断每个用例是否为用户选择的5个分类之中,否则直接舍弃该用例,是则进入后续判断,是否当前测试任务时长已经超过2小时(超过时间阈值),否则继续添加到当前测试任务,是则新建一个新的测试任务。算法最终得到8个测试任务,服务器则在资源队列中挑选8台空闲的测试机器来执行此8个任务。
本实施例中,使用者的输入信息最终被转化为一条定制化的测试计划,服务端将此计划划分为多个测试任务,单个测试任务被测试机器执行时,任务执行流程图参考图3。首先,加载测试任务中各个目标用例所对应的配置信息(Test001.zip)至目标用例对应的后台地址;加载后系统会自动修改DIYHome的配置文件完成针对测试用例的升级,同时测试脚本的代码分支也会切换成配置信息中设定的代码分支(V3.31.0);其次,针对所有目标用例执行全量测试,得到第一测试的结果;再次,筛选出第一测试结果中的失败用例,对所述失败用例进行重新测试,并记录复测时的测试过程,得到第二测试的结果;最后根据第一测试结果和第二测试结果生成任务测试报告,反馈至测试计划管理界面;测试计划管理界面根据任务测试报告,将各个目标用例的测试报告写入目标用例对应测试计划的测试结果中。在软件测试领域,实行UI自动化测试的一个难点就是测试结果容易误报问题,所以在本实施例中,会额外添加第二复测失败用例的环节。当测试计划所包含的所有测试任务全部执行完毕后,服务端将合并所有的测试报告和日志文件等,通过社交软件订阅通知的形式发送测试报告给项目A的测试负责人,测试报告里的日志文件数据全部储存在系统服务器的共享盘,共享盘的地址展示在测试计划管理界面的测试结果栏。
本实施例在数据处理层采用的是生产者-消费者模式(在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的资料,消费者把资料做成产品),值得注意的是,本实施例相比于传统的生产者-消费者模式,其创新点在于加多了一级内存缓存区,即内存缓存区分为一级缓存区(等待队列)和二级缓存区(执行队列)。
参考图1,这样在本实施例中,各个测试计划就不需要关心测试机器的状态,可以随时创建自己的测试任务。服务端对所有任务会来者不拒,全部放入等待队列,多线程处理层里的测试过程处理线程会按照测试机器的数量自动创建一个二级缓存区也就是执行队列,测试机器空闲时会从执行队列中获取一个测试任务,此时,多线程处理层里的心跳线程会通知测试过程处理线程从等待队列中获取一个新的测试任务放入执行队列中。从而保证了等待队列和执行队列的协同工作。
为了保证执行队列中的任务一定会测试机器有效地执行,服务端需要始终清楚地知道可调配的测试机器数量,多线程处理层里的注册线程便是负责这项工作,它会以每分钟一次的频率向服务端注册一次自己的信息。使用者可以通过测试机器管理界面掌控所有测试机器的实时状态,从而及时处理异常测试机器,充分利用资源。
本实施例中,等待队列中的测试任务实际上是存储在服务端的内存中,执行队列中的测试任务是被客户端正在执行的。
实际测试过程中,经常会出现如发现一个严重问题需要紧急更新了一个新版本后再测试的场景,这样项目会需要在测试中途停止自己创建的上一个测试计划再提交新的测试计划。那么此时项目可以在测试任务管理界面中选择中止任务。
中止任务的具体流程可以参考图4,当接收到中止命令时,测试机器将测试任务中的中止标志位置为真;在任务执行过程中通过心跳线程定期(本实施例为10s)检测测试任务中中止标志位是否为真;当测试机器检测到中止标志位为真时,中止测试任务的执行。
如果接收到中止命令时测试任务还没有被执行(即位于等待队列中),则直接删除测试任务。
另外,多项目多任务都在等待执行的时候,使用者可以在测试任务管理界面对任务进行上调优先级的操作,从而实现紧急任务紧急执行的目标。任务优先级调整流程参考图5,具体包括以下步骤:在测试任务管理界面选择测试任务的目标优先级;系统将目标优先级赋予一级缓存区中对应的测试任务;由于系统在等待队列里选择任务时是通过优先级顺序选择的,这样就可以实现针对测试任务顺序进行自由调控,满足用户定制化任务的需求。
本实施例网页端主要包括以下操作界面:
测试用例管理界面:测试用例管理界面如图6所示,用于接收新增用例指令、删除用例指令和编辑用例指令,并根据指令向用例数据库传输相应信息,完成对用例的管理。
测试用例管理界面包含对测试用例的增、删、改、查操作,测试用例是测试任务执行的最小单元,本实施例的目的是更好地执行任何类型的自动化测试用例。
在测试用例管理界面中,当新增用例指令被触发时,获取新增用例的用例名称,一级菜单、二级菜单、用例类型和测试时长,并为新增用例自动编号;所述一级菜单中记录新增用例所属功能的一级分类名称,所述二级菜单中记录新增用例所属功能的二级分类名称,所述一级分类名称、二级分类名称和用例类型用于组合生成分类信息。
本实施例中一级分类可以指对用例所属类型的分类,具体地,一级分类可以包括【方案、空间、DIY、订单】4个分类。二级分类名称可以是根据用例的样式所进行的分类;具体地,二级分类可以包括【柜体、柜门、组件、成品柜、橱柜、窗帘、地板】7个分类。在新增用例指令被触发时,可以接收用户输入的新增用例所属一级分类和二级分类。
在测试用例管理界面中,当删除用例指令被触发时,将被选中的用例从用例数据库中删除。
在测试用例管理界面中,当编辑用例指令被触发时,根据输入的编辑内容,对用例状态、用例名称、用例类型进行调整。
测试计划管理界面,所述测试计划管理界面如图7所示,用于接收新增计划指令、查看计划指令和计划用例复测指令,并根据指令向测试工具传输相应信息,完成对测试计划的管理:测试计划管理界面所对应的系统结构是数据处理层中的测试计划管理模块。
在测试计划管理界面中,当新增计划指令被触发时,获取新增测试计划的配置信息,分类信息和测试时长阈值;记录提交新增计划的用户;向测试工具发送配置信息、分类信息和测试时长阈值;所述配置信息包括前端包、代码分支和项目信息,所述项目信息分别对应不同的后台地址;所述分类信息包括定制化测试任务所要覆盖的一级分类、二级分类和用例类型,测试计划的配置信息和分类信息对应的后台地址会写入测试计划使用的目标用例中。
在测试计划管理界面中,当查看计划指令被触发时,展示被选中测试计划的分类信息、测试时长阈值、测试计划完成度,测试结果以及被分配的测试机器。
在测试计划管理界面中,当计划用例复测指令被触发时,将挑选出被选中测试计划在上轮执行中执行失败的目标用例,创建一条新的测试任务分配至测试机器执行,以此来达到快速回归失败用例的目的。
项目信息管理界面:所述项目信息管理界面如图8所示,用于设定项目信息和项目信息所对应的后台地址;包含对项目信息的增、删、改、查操作,设定的测试负责人将作为测试报告的通知对象。该界面对应结构示意图中数据处理层的测试执行处理模块、测试结果处理模块。
在项目信息管理界面中,当项目信息管理界面接收到项目编辑指令时,根据输入的编辑内容,对项目信息的名称、后台地址、测试负责人和联系方式进行调整;
在项目信息管理界面中,当项目信息管理界面接收到项目删除指令时,删除被选中的项目信息。
测试机器管理界面,测试机器管理界面如图9所示,用于建立测试机器与测试工具的连接;所述测试机器与测试工具的数据连接通过关联测试机器与测试工具的IP地址实现;所述测试机器管理界面还用于展示测试机器所执行测试任务的编号和测试机器的忙闲状态。测试机器管理界面展示测试系统中所有的测试机器状态,包括测试机器的基本信息,以及是否空闲、是否在线状态信息,可以通过数据修复对测试机器进行测试环节部署,也能查看测试过程日志。对应结构示意图中数据处理层的环境部署处理模块、测试执行处理模块。
当测试机器完成测试任务后,所述测试机器管理界面还用于在接收到查看日志指令时展示所完成测试任务的测试过程日志;
当测试机器损坏时,所述测试机器管理界面还用于在接收到数据修复指令时对测试机器的数据进行重新部署。
测试任务管理界面,测试任务管理界面如图10所示,用于展示测试任务的任务状态,所述任务状态包括等待执行和正在执行;其中,处于等待执行状态的测试任务位于系统的一级缓存区(等待队列),处于正在执行状态的测试任务位于系统的二级缓存区(执行队列);当处于正在执行状态的测试任务执行完毕时,系统根据测试任务的优先级自一级缓存区中调取测试任务移动至二级缓存区,开始执行所调取的测试任务;测试任务管理界面对应结构示意图中数据处理层的测试任务管理模块、任务调度模块。
在测试任务管理界面接收到中止指令时,所述测试工具通过任务中止流程停止测试任务的执行;
针对任务状态处于等待执行的测试任务,在测试任务管理界面接收到优先级调整指令时,所述测试工具通过任务优先级调整流程调整测试任务的优先级。
本实施例中,客户端执行的测试任务包括:执行测试和发送测试报告。DIYHome执行测试还包括:接口自动化测试、功能自动化测试等,本实施例不再具体描述。这里需要注明的是,使用者只要搭建了使用本发明描述的支持定制化测试任务的自动化测试系统,可以轻松地去执行使用者自己的自动化测试脚本,优化使用者的用户体验。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种支持定制化测试任务的自动化测试系统,其特征在于,包括测试工具,所述测试工具用于完成定制化测试任务的自动化测试;
所述测试工具通过以下步骤完成测试:
获取输入的分类信息和测试时长阈值;
根据分类信息从用例数据库中筛选符合所述输入的分类信息的用例,作为目标用例提取;
将目标用例添加至当前测试任务中,判断当前测试任务的测试时长;
当测试时长不大于测试时长阈值时,将当前测试任务分配至测试机器执行,完成目标用例的测试;
当测试时长大于测试时长阈值时,将目标用例自当前测试任务中移除,创建新的测试任务,将新的测试任务分配至测试机器执行,完成目标用例的测试;
所述自动化测试系统中包括多线程处理层、一级缓存区和二级缓存区;多线程处理层中包括通信线程、测试过程处理线程、心跳线程和注册线程;一级缓存区用于缓存等待执行的测试任务,二级缓存区用于缓存正在执行的测试任务;
所述通信线程用于传递服务端与测试机器之间的指令;
所述测试过程处理线程用于按照测试机器的数量创建二级缓存区;当测试机器空闲时会从所述二级缓存区中获取一个测试任务;
所述心跳线程用于在测试机器获取测试任务时通知测试过程处理线程将测试任务放入二级缓存区中;
所述注册线程用于定时向服务端更新测试机器的信息;
所述测试机器执行以下步骤完成测试任务;
加载测试任务中各个目标用例所对应的配置信息至目标用例对应的后台地址;
针对所有目标用例执行全量测试,得到第一测试结果;
筛选出第一测试结果中的失败用例,对所述失败用例进行重新测试,并记录重新测试的测试过程,得到第二测试结果;
根据第一测试结果和第二测试结果生成任务测试报告,反馈至测试计划管理界面;
测试计划管理界面根据任务测试报告,将各个目标用例的测试报告写入目标用例对应测试计划的测试结果中。
2.根据权利要求1所述的一种支持定制化测试任务的自动化测试系统,其特征在于,还包括测试用例管理界面,所述测试用例管理界面用于接收新增用例指令、删除用例指令和编辑用例指令,并根据指令向用例数据库传输相应信息,完成对用例的管理:
当新增用例指令被触发时,获取新增用例的用例名称,一级菜单、二级菜单、用例类型和测试时长,并为新增用例自动编号;所述一级菜单中记录新增用例所属功能的一级分类名称,所述二级菜单中记录新增用例所属功能的二级分类名称,所述一级分类名称、二级分类名称和用例类型用于组合生成分类信息;
当删除用例指令被触发时,将被选中的用例从用例数据库中删除;
当编辑用例指令被触发时,根据输入的编辑内容,对用例状态、用例名称和用例类型进行调整。
3.根据权利要求1所述的一种支持定制化测试任务的自动化测试系统,其特征在于,还包括测试计划管理界面,所述测试计划管理界面用于接收新增计划指令、查看计划指令和计划用例复测指令,并根据指令向测试工具传输相应信息,完成对测试计划的管理:
当新增计划指令被触发时,获取新增测试计划的配置信息,分类信息和测试时长阈值;记录提交新增计划的用户;向测试工具发送配置信息、分类信息和测试时长阈值;所述配置信息包括前端包和代码分支和项目信息,所述项目信息分别对应不同的后台地址;所述分类信息包括定制化测试任务所要覆盖的一级分类、二级分类和用例类型;测试计划的配置信息和分类信息对应的后台地址会写入测试计划使用的目标用例中;
当查看计划指令被触发时,展示被选中测试计划的分类信息、测试时长阈值、测试计划完成度,测试结果以及被分配的测试机器;
当计划用例复测指令被触发时,将挑选出被选中测试计划在上轮执行中执行失败的目标用例,创建一条新的测试任务分配至测试机器执行。
4.根据权利要求1所述的一种支持定制化测试任务的自动化测试系统,其特征在于,还包括项目信息管理界面,所述项目信息管理界面用于设定项目信息和项目信息所对应的后台地址;
当项目信息管理界面接收到项目编辑指令时,根据输入的编辑内容,对项目信息的名称、后台地址、测试负责人和联系方式进行调整;
当项目信息管理界面接收到项目删除指令时,删除被选中的项目信息。
5.根据权利要求1所述的一种支持定制化测试任务的自动化测试系统,其特征在于,还包括测试机器管理界面,所述测试机器管理界面用于建立测试机器与测试工具的连接;所述测试机器与测试工具的数据连接通过关联测试机器与测试工具的IP地址实现;所述测试机器管理界面还用于展示测试机器所执行测试任务的编号和测试机器的忙闲状态;
当测试机器完成测试任务后,所述测试机器管理界面还用于在接收到查看日志指令时展示所完成测试任务的测试过程日志;
当测试机器损坏时,所述测试机器管理界面还用于在接收到数据修复指令时对测试机器的数据进行重新部署。
6.根据权利要求1所述的一种支持定制化测试任务的自动化测试系统,其特征在于,还包括测试任务管理界面,所述测试任务管理界面用于展示测试任务的任务状态,所述任务状态包括等待执行和正在执行;其中,处于等待执行状态的测试任务位于系统的一级缓存区,处于正在执行状态的测试任务位于系统的二级缓存区;当处于正在执行状态的测试任务执行完毕时,系统根据测试任务的优先级自一级缓存区中调取测试任务移动至二级缓存区,开始执行所调取的测试任务;
在测试任务管理界面接收到中止指令时,所述测试工具通过任务中止流程停止测试任务的执行;
针对任务状态处于等待执行的测试任务,在测试任务管理界面接收到优先级调整指令时,所述测试工具通过任务优先级调整流程调整测试任务的优先级。
7.根据权利要求6所述的一种支持定制化测试任务的自动化测试系统,其特征在于,所述任务中止流程具体包括以下步骤:
测试工具在测试任务中添加中止标志位;
执行所述测试任务的测试机器定期检测测试任务中的中止标志位是否为真;
当测试机器检测到中止标志位为真时,中止测试任务的执行。
8.根据权利要求6所述的一种支持定制化测试任务的自动化测试系统,其特征在于,所述任务优先级调整流程具体包括以下步骤:
在测试任务管理界面选择测试任务的目标优先级;
系统将目标优先级赋予一级缓存区中对应的测试任务。
9.根据权利要求1所述的一种支持定制化测试任务的自动化测试系统,其特征在于,所述测试工具和测试机器的通信通过socket指令方式完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210966006.9A CN115454815B (zh) | 2022-08-12 | 2022-08-12 | 一种支持定制化测试任务的自动化测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210966006.9A CN115454815B (zh) | 2022-08-12 | 2022-08-12 | 一种支持定制化测试任务的自动化测试系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115454815A CN115454815A (zh) | 2022-12-09 |
CN115454815B true CN115454815B (zh) | 2023-09-26 |
Family
ID=84298071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210966006.9A Active CN115454815B (zh) | 2022-08-12 | 2022-08-12 | 一种支持定制化测试任务的自动化测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454815B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844198A (zh) * | 2016-12-27 | 2017-06-13 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
CN112506791A (zh) * | 2020-12-17 | 2021-03-16 | 平安消费金融有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
CN113760704A (zh) * | 2020-09-16 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | Web UI的测试方法、装置、设备以及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150370691A1 (en) * | 2014-06-18 | 2015-12-24 | EINFOCHIPS Inc | System testing of software programs executing on modular frameworks |
US9886367B2 (en) * | 2015-04-29 | 2018-02-06 | International Business Machines Corporation | Unified processing test structure |
US10956314B2 (en) * | 2018-11-02 | 2021-03-23 | Infosys Limited | Method and system for regression test selection in a multi-threaded distributed target program execution tested by multi-threaded test suites |
-
2022
- 2022-08-12 CN CN202210966006.9A patent/CN115454815B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844198A (zh) * | 2016-12-27 | 2017-06-13 | 浪潮软件集团有限公司 | 一种分布式调度自动化测试平台及方法 |
CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
CN113760704A (zh) * | 2020-09-16 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | Web UI的测试方法、装置、设备以及存储介质 |
CN112506791A (zh) * | 2020-12-17 | 2021-03-16 | 平安消费金融有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
刘爱东.《用户电话交换机原理与维护》.高等教育出版社,1998,第20-23页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115454815A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429433B2 (en) | Process discovery and automatic robotic scripts generation for distributed computing resources | |
CN108038054B (zh) | 一种自动化测试方法及装置、计算机可读存储介质 | |
US7788631B2 (en) | Process automation system | |
CN107943463A (zh) | 交互式自动化大数据分析应用开发系统 | |
CN107450971A (zh) | 任务处理方法及装置 | |
US20050010892A1 (en) | Method and system for integrating multi-modal data capture device inputs with multi-modal output capabilities | |
CN105868340A (zh) | 日志存储方法及装置 | |
CN106844190A (zh) | 测试脚本自动生成方法及装置 | |
CN107908465A (zh) | 大数据平台的任务调度方法 | |
CN112711411A (zh) | 一种基于Kubernetes及docker的CI/CD流水线系统 | |
US11474931B2 (en) | Debugging a cross-technology and cross-environment execution | |
CN109992509A (zh) | 测试用例的自动化执行方法、装置、电子设备 | |
CN111651365B (zh) | 接口自动化测试方法及装置 | |
CN106354641A (zh) | 流程引擎的测试方法及装置 | |
CN110705891A (zh) | 一种基于高可配可变更的数据处理方法 | |
CN109800081A (zh) | 一种大数据任务的管理方法及相关设备 | |
CN112651130A (zh) | 一种面向决策支持的虚实映射平行仿真系统 | |
CN115454815B (zh) | 一种支持定制化测试任务的自动化测试系统 | |
CN116627609A (zh) | 基于Hive批处理的调度方法及装置 | |
CN111368720A (zh) | 一种自动搬运取货系统及方法 | |
KR20200144296A (ko) | 딥러닝 모델의 병렬 트레이닝 방법 및 장치 | |
CN112860776B (zh) | 一种多种数据抽取调度方法及系统 | |
CN114816981A (zh) | 一种实现软件测试中脚本与数据分离的方法与系统 | |
CN114675948A (zh) | 一种dag数据模型动态调度方法及系统 | |
US20150235151A1 (en) | Workflow Tracking System |
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 |