CN115145826A - 一种全流程自动化测试方法和系统 - Google Patents

一种全流程自动化测试方法和系统 Download PDF

Info

Publication number
CN115145826A
CN115145826A CN202210871241.8A CN202210871241A CN115145826A CN 115145826 A CN115145826 A CN 115145826A CN 202210871241 A CN202210871241 A CN 202210871241A CN 115145826 A CN115145826 A CN 115145826A
Authority
CN
China
Prior art keywords
test
information
configuration
data
service
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
Application number
CN202210871241.8A
Other languages
English (en)
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.)
Xiamen Meiya Pico Information Co Ltd
Original Assignee
Xiamen Meiya Pico Information 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 Xiamen Meiya Pico Information Co Ltd filed Critical Xiamen Meiya Pico Information Co Ltd
Priority to CN202210871241.8A priority Critical patent/CN115145826A/zh
Publication of CN115145826A publication Critical patent/CN115145826A/zh
Pending legal-status Critical Current

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/3684Test management for test design, e.g. generating new test cases
    • 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

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

本发明给出了一种全流程自动化测试方法和系统,包括构建界面布局,并实时更新构建界面数据;读取相关业务数据形成测试用例配置、业务功能配置;远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机,根据已更新的配置信息分解到各业务测试框架流程体系,按测试用例配置、业务功能配置并发执行;通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析,以及复杂数据快速匹配解析和内容比对并记录比对结果;业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析,平台将差异文件内的信息进行解析展示并进行排查。本发明可以加速整个研发代码质量以及提高测试效率。

Description

一种全流程自动化测试方法和系统
技术领域
本发明涉及计算机软件工程自动化测试领域,尤其是一种全流程自动化测试方法和系统。
背景技术
随着软件开发迭代频率越来越快,根据传统的软件工程思维的研发测试流程,如瀑布模式的研发流程:研发、需求、计划、测试、运维等各个环节的配合及执行效率远远无法满足市场迭代版本升级的需求。为了提升研发效能,国内各大软件研发公司正致力于Devops理念实践,加速整个研发过程的生命周期,不同的软件公司都是基于自身业务的情况,选择或开发形成自己独特一套研发运营一体化系统。
现有技术中存在以下不足:在CI端流程设计和实施不够完善,没有真正做到可持续集成自动化测试。
(1)没有专属人员来维护,表面有自动化,但是自动化测试质量不高,产出低,执行失败率高。
(2)在整个自动化测试流程建设方面,健全机制不够,通常只有Jenkins搭配开源自动化工具来调用,针对复杂的业务就不支持。而且依靠外部工具支撑,维护非常困难,甚至自动化测试呈现结果没有可视化关联展示和自定义,排查不够精确精准。
(3)基于UI自动化测试开发在整个自动化测试流程建设是少之又少,因为UI变动大维护困难,很多厂商都是放弃。
(4)绝大部分厂商的自动化测试基本都是跑稳定的功能,导致产出的缺陷很少。
发明内容
为了解决现有技术中存在的在CI端流程设计和实施不够完善,没有真正做到可持续集成自动化测试;在整个自动化测试流程建设方面,健全机制不够,通常只有Jenkins搭配开源自动化工具来调用,针对复杂的业务就不支持,而且依靠外部工具支撑,维护非常困难,甚至自动化测试呈现结果没有可视化关联展示和自定义,排查不够精确精准等技术问题,本发明提出了一种全流程自动化测试方法和系统,以解决上述技术问题。
根据本发明的第一方面,提出了一种全流程自动化测试方法,包括:
S1:构建界面布局,界面通过groovy代码实现复合型的文本选择框进行数据关联;
S2:使用redis开启定时任务,并在定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据;
S3:通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取;
S4:远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机,不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照测试用例配置、业务功能配置并发执行;
S5:根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析,业务工具框通过传参的文件路径进行接受数据,通过文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下;
S6:业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析,自动化测试一体化运营平台通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查。
在一些具体的实施例中,S3中的测试用例配置包括将手工用例自动转为自动化测试用例的配置文件,业务测试框架自动读取用例配置形成测试脚本来执行当前用例;业务功能配置包括测试工程名称、功能模块选择、流水线信息和安装包信息。
在一些具体的实施例中,S5中的执行过程具体包括:通用对象库包括产品对象UI识别库,通用dll可引用外部dll快速调用或相关业务的dll进行引用,通用代码库将通用对象库和通用dll进行结合调用实现业务的测试例执行。
在一些具体的实施例中,S5中在执行用例过程中产生的数据传参给业务工具框架进行解析具体包括:根据数据形成的不同数据库类型的解析和内容比对,数据库类型包括SQLite和Postgresql;根据配置数据类型的解析和内容比对,数据类型包括xml、sql、ini、db、CSV、xlsx、word和pdf。
在一些具体的实施例中,S6中通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查的内容具体包括缺陷信息、数据差异信息、问题视频流和相关日志信息。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上述任一项的方法。
根据本发明的第三方面,提出了一种全流程自动化测试系统,系统包括:
流水线构建平台:配置用于构建界面布局,界面通过groovy代码实现复合型的文本选择框进行数据关联,使用redis开启定时任务,并在定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据,通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取,远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机;
业务测试框架:配置用于通过不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照测试用例配置、业务功能配置并发执行,根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析;
业务工具框架:配置用于通过传参的文件路径进行接受数据,通过文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下,业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析;
自动化测试一体化运营平台:配置用于通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查,排查的内容具体包括缺陷信息、数据差异信息、问题视频流和相关日志信息。
在一些具体的实施例中,流水线构建平台中的测试用例配置包括将手工用例自动转为自动化测试用例的配置文件,业务测试框架自动读取用例配置形成测试脚本来执行当前用例;业务功能配置包括测试工程名称、功能模块选择、流水线信息和安装包信息。
在一些具体的实施例中,通用对象库包括产品对象UI识别库,通用dll可引用外部dll快速调用或相关业务的dll进行引用,通用代码库将通用对象库和通用dll进行结合调用实现业务的测试例执行。
在一些具体的实施例中,业务工具框架为python采用pandas、CRC32、json和numpy实现的N合1业务可执行工具。
在一些具体的实施例中,自动化测试一体化运营平台为Python采用Bootstrap+redis+uWSGI+Nginx+celery实现业务测试框架和业务工具框架上传相关信息的对接。
本发明提出了一种全流程自动化测试方法和系统,流水线可持续构建平台解决了单一业务渗透实现编译打包到执行自动化测试完整体系;业务测试框架中基于开发一整套业务对象封装,进行自定义编码开发,形成对象库、接口库、用例库、执行过程视频库、加入缺陷智能判断机制等;业务工具框架中开发一整套基于业务工具框架,来减轻测试框架执行负担;自动化测试一体化运营平台可通过执行结果数据实现对质量全方位分析把控。本发明提出了一整套专属无人值守从打包编译到完整产品链的自动化测试一体化运营平台,形成一个端到端指挥系统,使研发人员和测试人员娴熟在整个产品提测前、提测后通过自动化测试一体化运营平台实现对质量全方位分析把控,从而提高测试效率、减少项目提测轮次、节省相关人力测试和研发资源的研发效能执行方案。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例的一种全流程自动化测试方法的流程图;
图2是本申请的一个实施例的一种全流程自动化测试系统的框架图;
图3是本申请的一个具体的实施例的一种全流程自动化测试运作流程图;
图4是本申请的一个具体的实施例的编译打包自动化测试图;
图5是本申请的一个具体的实施例的取证结果模块用例的测试框架执行流程图;
图6是本申请的一个具体的实施例的自动化测试报告图;
图7是本申请的一个具体的实施例的数据差异信息图;
图8是本申请的一个具体的实施例的执行情况示意图;
图9是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请的一个实施例的一种全流程自动化测试方法,图1示出了根据本申请的实施例的一种全流程自动化测试方法的流程图。如图1所示,该方法包括:
S1:构建界面布局,界面通过groovy代码实现复合型的文本选择框进行数据关联。
S2:使用redis开启定时任务,并在定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据。
S3:通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取。测试用例配置包括将手工用例自动转为自动化测试用例的配置文件,业务测试框架自动读取用例配置形成测试脚本来执行当前用例;业务功能配置包括测试工程名称、功能模块选择、流水线信息和安装包信息。
S4:远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机,不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照测试用例配置、业务功能配置并发执行。
S5:根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析,业务工具框通过传参的文件路径进行接受数据,通过文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下。
在具体的实施例中,执行过程具体包括:通用对象库包括产品对象UI识别库,通用dll可引用外部dll快速调用或相关业务的dll进行引用,通用代码库将通用对象库和通用dll进行结合调用实现业务的测试例执行。
在具体的实施例中,执行用例过程中产生的数据传参给业务工具框架进行解析具体包括:根据数据形成的不同数据库类型的解析和内容比对,数据库类型包括SQLite和Postgresql;根据配置数据类型的解析和内容比对,数据类型包括xml、sql、ini、db、CSV、xlsx、word和pdf。
S6:业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析,自动化测试一体化运营平台通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查。排查的内容具体包括缺陷信息、数据差异信息、问题视频流和相关日志信息。
图2示出了根据本申请的实施例的一种全流程自动化测试系统的框架图。该系统具体包括流水线构建平台201、业务测试框架202、业务工具框架203和自动化测试一体化运营平台204。
在具体的实施例中,流水线构建平台201配置用于构建界面布局,界面通过groovy代码实现复合型的文本选择框进行数据关联,使用redis开启定时任务,并在定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据,通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取,远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机。
在具体的实施例中,业务测试框架202配置用于通过不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照测试用例配置、业务功能配置并发执行,根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析。
在具体的实施例中,业务工具框架203配置用于通过传参的文件路径进行接受数据,通过文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下,业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析。
在具体的实施例中,自动化测试一体化运营平台204配置用于通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查,排查的内容具体包括缺陷信息、数据差异信息、问题视频流和相关日志信息。
继续参考图3,图3示出了根据本申请的一个具体的实施例的一种全流程自动化测试运作流程图,如图3所示,该运作流程包括:
步骤一:使用Active Choice、Extended Choice插件构建界面布局,该界面具备通过groovy代码实现复合型的文本选择框进行数据关联,使构建者更了解业务构建信息。
步骤二:使用redis开启定时任务,并在定时任务里面执行Python脚本,实时读取跨域文件信息传参给groovy,由于groovy无法实现跨不同网段的目录文件的获取,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据,并且结合步骤一进行信息展示。
步骤三:通过流水线语句/代码根据步骤一读取相关业务数据形成测试用例配置、业务功能配置等文件,构建自动更新到本地供业务测试框架读取。
其中,测试用例配置指测试人员通过手工用例自动转为自动化测试用例的配置文件,然后业务测试框架自动读取用例配置形成测试脚本来执行当前用例。正常格式如下:
[Safari浏览器]
Id_1=218174([iPhone数据包名与需求一致]Safari浏览器-com.apple.mobilesafari)0.1S
用例配置内容说明:[Safari浏览器]指应用类别、218174指用例ID、[iPhone数据包名与需求一致]Safari浏览器-com.apple.mobilesafari指用例内容、0.1s指执行用例时间。
业务功能配置指包含测试工程名称、功能模块选择、流水线信息、安装包信息等。测试工程名称指业务测试框架可以快速进入是哪项业务,从而快速执行。功能模块选择指根据产品功能形成配置进行选择。流水线信息指通用配置载体信息。
步骤四:远程集群节点通过java-jar agent.jar-jnlpUrl进行自动连接部署,来执行步骤三相关脚本并且更新配置到指定不同硬件装备机。下发到各个连接机器执行相关指派的内容。
步骤五:不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照测试用例配置、业务功能配置并发执行。
步骤六:根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行。执行过程必须使用测试框架的三驾马车(spobj、spdll、spcode)来执行相关用例:其中,通用对象库(spobj)指产品对象UI识别库,相比市面上的QTP、UFT、roboframework等工具,在识别产品对象UI能力更强大更稳定,例如其他工具无法识别对象时,可以快速封装。如下样式:
Figure BDA0003760708560000071
Figure BDA0003760708560000072
Figure BDA0003760708560000081
3、自动形成这样语句供调用:spobj.合并案件.Click
通用dll(spdll)指可以引用外部dll快速调用以及自主开发相关业务的dll进行引用。通用代码库(spcode)将通用对象库(spobj)、通用dll(spdll)进行结合调用,来实现业务的测试例执行。
步骤七:在执行用例过程中所产生的数据会传参给业务工具框架进行解析。例如:产品根据数据形成各种SQLite、Postgresql等不同数据库类型的解析和内容比对。产品根据目录下xml、sql、ini、db等配置数据类型的解析和内容比对。除以上类型还支持各式各样后缀的数据,如CSV、xlsx、word、pdf等。
步骤八:业务工具框架通过传参的文件路径进行接收数据,通过文件路径来判断文件类型和数据类型进行相似度以及差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并且记录相关差异信息到指定报告路径下。业务工具框架指python采用pandas、CRC32、json、numpy等实现的N合1业务可执行工具。
步骤九:业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析。
步骤十:自动化测试一体化运营平台通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示。自动化测试一体化运营平台指Python(Django)采用Bootstrap+redis+uWSGI+Nginx+celery等实现业务测试框架和业务工具框架上传相关信息的对接,增强数据可视化看板展示。
步骤十一:通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查。排查内容包括缺陷信息、数据差异信息、问题视频流、相关日志信息等。
以下分别结合三个实施例进行说明,图4示出了根据本申请的一个具体的实施例的编译打包自动化测试图,如图4所示,其整个编译打包到触发自动化测试流程如下:1、选择选择打包的产品以及版本号。2、选择打包代码路径和SVN版本。3、选择对应自动化测试板块。4、点击开始构建进行编译打包结束进入自动化测试流程。5、自动化流程结束之后相关信息自动上传到自动化测试一体化平台展示相关报告载体。6、自动通知相关人员到自动化测试一体化平台排查相关问题。7、结束。
图5示出了根据本申请的一个具体的实施例的取证结果模块用例的测试框架执行流程图,如图5所示,取证结果模块用例的测试框架执行流程图为例,用例执行流程轮廓包括:1、选择选择打包的产品以及版本号。2、选择打包代码路径和SVN版本。3、选择对应自动化测试板块取证结果模块用例。4、点击开始构建进行编译打包结束进入自动化测试流程。5、根据流程图来执行相关用例步骤。6、结束。
执行测试结果可视化展示为例,包括:1、选择打包的产品以及版本号。2、选择打包代码路径和SVN版本。3、选择对应自动化测试板块取证结果模块用例。4、点击开始构建进行编译打包结束进入自动化测试流程。5、自动化流程结束之后相关信息自动上传到自动化测试一体化平台展示相关报告载体。6、根据自动化测试结果进行排查。7、结束。图6示出了根据本申请的一个具体的实施例的自动化测试报告图。图7示出了根据本申请的一个具体的实施例的数据差异信息图。从图6和图7可以看到自动化测试结果的整体可视化信息,包括测试工程、执行人、花费时间、测试用例、数据验证结果,可以直观的看出内容比对结果是否存在差异,在差异信息图中通过高亮显示差异位置,还可以通过不同的背景颜色表示匹配类型。图8示出了根据本申请的一个具体的实施例的执行情况示意图,从中可以看到自动化测试执行的情况,包括构建次数、执行时长、数据量、测试用例执行次数、自动化缺陷数、工具执行总次数等数据。
采用本申请的全流程自动化测试方法和系统,研发人员上传代码勾选相关自动化测试配置进行打包编译触发流水线,打包编译完成调用业务测试框架针对集群下真实设备机子进行产品自动化测试用例执行,执行过程中除了测试脚本还触发业务工具框架相关数据比对(数据库内容比对、配置层校验、界面内容比对等),自动化测试结束之后相关信息自动上传到自动化测试一体化运营平台展示相关报告载体(测试结果、缺陷、产品日志、关联数据内容、视频流等)并发送给项目组通知排查,针对失败用例会再一次推送给研发人员修复之后单独失败用例构建验证。可以加速整个研发代码质量以及测试效率的提高。区别市面上的整个自动化测试体系,本申请根据业务的独特性和研发测试流程,进行测试开发设计执行,整套系统是根据window产品端进行设计,适用于所有基于Windows操作系统的软件产品。目前已应用在内部手机取证业务线,供研发人员和测试人员日常自动化测试流程。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备的计算机系统900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:构建界面布局,界面通过groovy代码实现复合型的文本选择框进行数据关联;使用redis开启定时任务,并在定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据;通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取;远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机,不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照测试用例配置、业务功能配置并发执行;根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析,业务工具框通过传参的文件路径进行接受数据,通过文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下;业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析,自动化测试一体化运营平台通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (11)

1.一种全流程自动化测试方法,其特征在于,包括:
S1:构建界面布局,所述界面通过groovy代码实现复合型的文本选择框进行数据关联;
S2:使用redis开启定时任务,并在所述定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据;
S3:通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取;
S4:远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机,所述不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照所述测试用例配置、所述业务功能配置并发执行;
S5:根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析,所述业务工具框通过传参的文件路径进行接受数据,通过所述文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下;
S6:所述业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析,所述自动化测试一体化运营平台通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查。
2.根据权利要求1所述的一种全流程自动化测试方法,其特征在于,所述S3中的所述测试用例配置包括将手工用例自动转为自动化测试用例的配置文件,所述业务测试框架自动读取用例配置形成测试脚本来执行当前用例;所述业务功能配置包括测试工程名称、功能模块选择、流水线信息和安装包信息。
3.根据权利要求1所述的一种全流程自动化测试方法,其特征在于,所述S5中的执行过程具体包括:所述通用对象库包括产品对象UI识别库,所述通用dll可引用外部dll快速调用或相关业务的dll进行引用,所述通用代码库将所述通用对象库和所述通用dll进行结合调用实现业务的测试例执行。
4.根据权利要求1所述的一种全流程自动化测试方法,其特征在于,所述S5中在执行用例过程中产生的数据传参给业务工具框架进行解析具体包括:根据数据形成的不同数据库类型的解析和内容比对,所述数据库类型包括SQLite和Postgresql;根据配置数据类型的解析和内容比对,所述数据类型包括xml、sql、ini、db、CSV、xlsx、word和pdf。
5.根据权利要求1所述的一种全流程自动化测试方法,其特征在于,所述S6中通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查的内容具体包括缺陷信息、数据差异信息、问题视频流和相关日志信息。
6.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至5中任一项所述的方法。
7.一种全流程自动化测试系统,其特征在于,所述系统包括:
流水线构建平台:配置用于构建界面布局,所述界面通过groovy代码实现复合型的文本选择框进行数据关联,使用redis开启定时任务,并在所述定时任务中执行python脚本,实时读取跨域文件信息传参给groovy,通过python进行目录的文件遍历,再通过groovy读取回传的信息实时更新构建界面数据,通过流水线语句读取相关业务数据形成测试用例配置、业务功能配置,构建结果自动更新到本地供业务测试框架读取,远程集群节点自动连接部署,执行脚本并更新配置到指定不同硬件装备机;
业务测试框架:配置用于通过所述不同硬件装备机根据已更新的配置信息进行分解到各个业务测试框架流程体系,按照所述测试用例配置、所述业务功能配置并发执行,根据读取用例配置展开一系列的通用对象库、通用dll、通用代码库展开执行,在执行用例过程中产生的数据传参给业务工具框架进行解析;
业务工具框架:配置用于通过传参的文件路径进行接受数据,通过所述文件路径判断文件类型和数据类型进行相似度和差异矩阵的比对原理进行复杂数据快速匹配解析和内容比对,并记录相关差异信息到指定的报告路径下,所述业务工具框架将记录比对文件信息上传自动化测试一体化运营平台显示和解析;
自动化测试一体化运营平台:配置用于通过读取报告内配合文件进行解析,根据比对类型采用不同样式,将差异文件内的信息进行解析展示,通知用户根据执行完成的自动化测试报告所展示的差异信息进行排查,排查的内容具体包括缺陷信息、数据差异信息、问题视频流和相关日志信息。
8.根据权利要求7所述的一种全流程自动化测试系统,其特征在于,所述流水线构建平台中的所述测试用例配置包括将手工用例自动转为自动化测试用例的配置文件,所述业务测试框架自动读取用例配置形成测试脚本来执行当前用例;所述业务功能配置包括测试工程名称、功能模块选择、流水线信息和安装包信息。
9.根据权利要求7所述的一种全流程自动化测试系统,其特征在于,所述通用对象库包括产品对象UI识别库,所述通用dll可引用外部dll快速调用或相关业务的dll进行引用,所述通用代码库将所述通用对象库和所述通用dll进行结合调用实现业务的测试例执行。
10.根据权利要求7所述的一种全流程自动化测试系统,其特征在于,所述业务工具框架为python采用pandas、CRC32、json和numpy实现的N合1业务可执行工具。
11.根据权利要求7所述的一种全流程自动化测试系统,其特征在于,所述自动化测试一体化运营平台为Python采用Bootstrap+redis+uWSGI+Nginx+celery实现所述业务测试框架和所述业务工具框架上传相关信息的对接。
CN202210871241.8A 2022-07-22 2022-07-22 一种全流程自动化测试方法和系统 Pending CN115145826A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210871241.8A CN115145826A (zh) 2022-07-22 2022-07-22 一种全流程自动化测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210871241.8A CN115145826A (zh) 2022-07-22 2022-07-22 一种全流程自动化测试方法和系统

Publications (1)

Publication Number Publication Date
CN115145826A true CN115145826A (zh) 2022-10-04

Family

ID=83414466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210871241.8A Pending CN115145826A (zh) 2022-07-22 2022-07-22 一种全流程自动化测试方法和系统

Country Status (1)

Country Link
CN (1) CN115145826A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076329A (zh) * 2023-10-12 2023-11-17 浙江云融创新科技有限公司 一种业务互斥状态下用例并发执行的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076329A (zh) * 2023-10-12 2023-11-17 浙江云融创新科技有限公司 一种业务互斥状态下用例并发执行的方法及系统
CN117076329B (zh) * 2023-10-12 2024-01-30 浙江云融创新科技有限公司 一种业务互斥状态下用例并发执行的方法及系统

Similar Documents

Publication Publication Date Title
CN107704392B (zh) 一种测试用例的处理方法及服务器
CN109683899B (zh) 一种软件集成方法及装置
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
CN103150249B (zh) 一种自动化测试的方法和系统
US10127141B2 (en) Electronic technology resource evaluation system
US10664382B2 (en) System and method for tool chain data capture through parser for empirical data analysis
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN115454869A (zh) 界面自动化测试方法、装置、设备及存储介质
CN115145826A (zh) 一种全流程自动化测试方法和系统
CN112817853A (zh) 一种自动测试方法、系统和电子设备
CN115344300A (zh) 分支流水线构建方法、装置、设备及存储介质
US11341030B2 (en) Scriptless software test automation
CN114138633A (zh) 基于数据驱动的软件测试的方法、装置、设备及可读介质
CN112527312B (zh) 一种嵌入式系统的测试方法和测试装置
CN113934640A (zh) 一种软件自动化测试的方法和系统
CN113934642B (zh) 一种基于动静态结合的软件兼容性测试方法
CN114490337A (zh) 调测方法、调测平台、设备及存储介质
CN115269375A (zh) 多端交互的自动化测试方法和装置、电子设备
CN114048134A (zh) 基于pom和数据驱动的自动化测试方法和装置
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN113672509A (zh) 自动化测试方法、装置、测试平台及存储介质
CN113434405A (zh) 测试文件的确定方法及装置、存储介质及电子装置
CN112925698A (zh) 一种测试脚本生成方法和集成开发环境
CN109669868A (zh) 软件测试的方法及系统
CN111221719B (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