CN117271359B - 一种用于多种客户端应用场景的自动化测试系统及方法 - Google Patents

一种用于多种客户端应用场景的自动化测试系统及方法 Download PDF

Info

Publication number
CN117271359B
CN117271359B CN202311324357.0A CN202311324357A CN117271359B CN 117271359 B CN117271359 B CN 117271359B CN 202311324357 A CN202311324357 A CN 202311324357A CN 117271359 B CN117271359 B CN 117271359B
Authority
CN
China
Prior art keywords
test
client
unit
testing
determining
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
CN202311324357.0A
Other languages
English (en)
Other versions
CN117271359A (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.)
Runxin Microsoft Nanjing Co ltd
Original Assignee
Runxin Microsoft Nanjing 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 Runxin Microsoft Nanjing Co ltd filed Critical Runxin Microsoft Nanjing Co ltd
Priority to CN202311324357.0A priority Critical patent/CN117271359B/zh
Publication of CN117271359A publication Critical patent/CN117271359A/zh
Application granted granted Critical
Publication of CN117271359B publication Critical patent/CN117271359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/3692Test management for test results analysis
    • 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/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种用于多种客户端应用场景的自动化测试系统及方法,其中系统包括:测试构建模块,用于获取客户端信息,并基于客户端信息,建立客户端与云平台之间的第一映射关系并构建测试工具;测试执行模块,用于基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具对任意一个客户端进行第一次测试,确定测试执行报告;结果分析模块,用于判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理。本发明通过高度分布式的云平台上,实现云计算的弹性和可伸缩性,对若干个客户端测试进行合理安排,提高了客户端的测试效率。

Description

一种用于多种客户端应用场景的自动化测试系统及方法
技术领域
本发明涉及软件开发技术领域,特别涉及一种用于多种客户端应用场景的自动化测试系统及方法。
背景技术
软件测试是软件开发中的一个环节,需要对软件的各种性能进行测试。而传统的软件测试是通过人工测试,即测试员通过手动操作软件程序进行测试。而且对多个不同类型客户端逐一进行软件测试,测试时间长,所以测试模式固定、灵活性差和测试效率低等缺点,因此,亟需一种用于多种客户端应用场景的自动化测试系统。
现有技术CN113485909A提供了一种测试方法,通过界面对象的对象信息对应的身份标志实现跨应用程序的多种客户端准确查找UI对象,提高UI测试的稳定性。但现有技术CN113485909A没有使用云平台,测试程序比较固定,缺乏测试程序的伸缩性和变化性,灵活度差。
发明内容
本发明提供的一种用于多种客户端应用场景的自动化测试系统,包括:
测试构建模块,用于获取多种客户端的客户端信息,并基于客户端信息,建立每一客户端与云平台之间的第一映射关系并构建测试工具;其中,测试工具包括微服务架构和与任意一个客户端对应的第一测试容器;
测试执行模块,用于基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具中的第一测试容器对对应的客户端分别进行第一次测试,确定测试执行报告;
结果分析模块,用于判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪技术,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理。
优选地,测试构建模块包括:
信息获取单元,用于获取客户端信息并基于客户端与云平台之间的连接关系,确定客户端与云平台之间的第一映射关系;
测试脚本关系库构建单元,用于基于历史数据,构建客户端-测试脚本数据库;
脚本检索单元,用于获取任意一个客户端的应用场景并基于任意一个客户端的应用场景,在客户端-测试脚本关系库检索出与任意一个客户端对应的测试脚本;
微服务架构单元,用于基于第一映射关系,确定微服务架构;
测试工具单元,用于对若干个测试脚本进行容器化,得到第一测试容器并基于第一测试容器和微服务架构,构建测试工具。
优选地,测试工具单元包括:
脚本创建子单元,用于创建若干个测试脚本一一对应的第二测试容器;
脚本放置子单元,用于将任意一个测试脚本放置对应的第二测试容器内;
容器确定子单元,用于基于Kubernetes,对若干个第二测试容器进行编排和伸缩,确定第一测试容器;
工具构建子单元,用于基于第一测试容器和微服务架构,构建测试工具。
优选地, 测试执行模块包括:
测试方案确定单元,用于基于任意一个客户端的应用场景,确定测试方案;
测试结果确认单元,用于基于测试方案和测试数据,利用测试工具中的第一测试容器对对应客户端分别进行第一次测试,确定任意一个客户端的测试结果;
测试执行报告输出单元,用于基于任意一个客户端的测试结果进行汇总,确定测试执行报告,
其中,测试执行报告包括测试结果、性能数据和错误信息。
优选地,测试方案确定单元包括:
测试第一指标子单元,用于基于任意一个客户端,确定任意一个客户端的测试第一指标;
测试第二指标子单元,用于基于任意一个客户端的应用场景,对测试第一指标进行删减,确定任意一个客户端的测试第二指标;
测试数据子单元,用于通过云平台获取任意一个客户端的测试数据;
方案生成子单元,用于基于任意一个客户端的测试第二指标和测试数据,确定测试方案。
优选地, 测试结果确认单元包括:
测试发送子单元,用于基于微服务架构,利用测试工具将测试方案和测试数据分别发送给对应的第一测试容器;
信息反馈子单元,用于当任意一个客户端接收到测试方案和测试数据后,向云平台发送反馈信息;
测试启动子单元,用于基于测试方案和测试数据,启动第一测试容器对对应的客户端进行第一次测试;
测试信息发送子单元,用于当对应的客户端完成第一次测试后,任意一个客户端向云平台发送完成测试信息;
结果确认子单元,用于当云平台接受到完成测试信息,并基于完成测试信息,确认任意一个客户端的测试结果。
优选地,结果分析模块包括:
错误信息单元,用于基于测试执行报告,确定错误信息;
故障指标单元,用于基于错误信息,对性能数据分析,确定故障指标;
故障追踪单元,用于对故障指标进行链路追踪,确定故障客户端;
缺陷缘由数据库单元,用于基于历史故障数据,构建故障指标-缺陷缘由关系库;
缺陷缘由单元,用于基于故障指标,在故障指标-缺陷缘由关系库检索出缺陷缘由;
修复单元,用于基于历史修复记录,构建修复方案数据库并基于缺陷缘由,检索出修复方案并发送给用户;
第二次测试单元,用于修复完成后对缺陷客户端进行第二次测试。
优选地,用于多种客户端应用场景的自动化测试系统,还包括:
客户端检测模块,用于实时检测客户端与云平台的连通关系,判断是否出现新连通客户端,若出现新连通客户端,对新连通客户端进行第三次测试,否则无处理;
其中,客户端检测模块包括:
实时监测单元,用于实时检测客户端与云平台的连通关系并建立客户端与云平台之间的第二映射关系;
新连通客户端确定单元,基于客户端与云平台之间的第一映射关系和第二映射关系,判断是否出现新连通客户端;
类型比较单元,用于若出现新连通客户端,获取新连通客户端的类型并与第一映射关系中的所有客户端的类型进行比较;
测试工具变更单元,用于若新连通客户端的类型与第一映射关系中的某个客户端的类型相同,则基于第二映射关系,对测试工具中的微服务架构进行更改,若新连通客户端的类型与第一映射关系中的所有客户端的类型不同,则获取新连通客户端的应用场景,并基于新连通客户端的应用场景,对测试工具添加新连通客户端对应的第一测试容器以及对测试工具中的微服务架构进行更改;
新连通客户端测试单元,用于当测试工具更改完成后,基于新连通客户端的应用场景,确定新连通客户端测试方案,并基于新连通客户端测试方案对新连通客户端进行第三次测试。
优选地,用于多种客户端应用场景的自动化测试系统,还包括:
可视化显示模块,用于基于任意一个客户端的测试进度和测试结果,对测试执行报告进行可视化显示;
其中,可视化显示模块包括:
完成判断单元,用于获取任意一个客户端的测试进度,判断任意一个客户端是否完成第一次测试;
进度显示单元,用于当任意一个客户端未完成第一次测试时,基于任意一个客户端的测试进度,确定任意一个客户端的完成率;
第一顺序显示单元,用于基于完成率对未完成第一次测试的客户端进行排序,确定客户端第一顺序并进行显示;
性能评分单元,用于当任意一个客户端完成测试时,对已完成第一次测试的客户端的性能数据进行归一化处理,确定已完成第一次测试的任意一个客户端的性能评分;
第二顺序显示单元,用于基于已完成第一次测试的任意一个客户端的性能评分,确定客户端第二顺序并进行显示;
综合评分单元,用于当所有客户端完成测试后,基于测试执行报告确定任意一个客户端的综合评分;
第三顺序显示单元,用于基于任意一个客户端的综合评分,确定客户端第三顺序并进行显示。
本发明还提供了一种用于多种客户端应用场景的自动化测试方法,包括:
获取多种客户端的客户端信息,并基于客户端信息,建立每一客户端与云平台之间的第一映射关系并构建测试工具;其中,测试工具包括微服务架构和与任意一个客户端对应的第一测试容器;
基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具中的第一测试容器对对应的客户端分别进行第一次测试,确定测试执行报告;
判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪技术,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理。
本发明有益效果:
本发明通过高度分布式的云平台上,实现云计算的弹性和可伸缩性,对若干个客户端测试进行合理安排,提高了客户端的测试效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在本申请文件中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种用于多种客户端应用场景的自动化测试系统的示意图;
图2为本发明实施例中一种用于多种客户端应用场景的自动化测试方法的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种用于多种客户端应用场景的自动化测试系统,如图1所示,包括:
测试构建模块1,用于获取多种客户端的客户端信息,并基于客户端信息,建立每一客户端与云平台之间的第一映射关系并构建测试工具;其中,测试工具包括微服务架构和与任意一个客户端对应的第一测试容器;
测试执行模块2,用于基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具中的第一测试容器对对应的客户端分别进行第一次测试,确定测试执行报告;
结果分析模块3,用于判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪技术,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理。
上述技术方案的工作原理及有益效果为:
测试构建模块1对客户端进行搜索,获取客户端信息,客户端信息包括客户端IP地址、客户端类型、客户端的硬件信息以及客户端的软件信息。根据客户端信息,建立客户端与云平台之间的第一映射关系并基于第一映射关系构建测试工具。测试工具包括微服务架构和与任意一个客户端对应的测试组件。根据客户端信息,从云平台调用对任意一个客户端的测试程序,将测试程序容器化,确定测试组件。测试执行模块2确定测试方案,测试方案根据客户端信息,对若干个客户端进行依次测试,并根据每个客户端的测试结果进行汇总,生成测试执行报告。结果分析模块3判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行重新测试,否则无处理。
本发明实施例通过高度分布式的云平台上,实现云计算的弹性和可伸缩性,对若干个客户端测试进行合理安排,提高了客户端的测试效率。
在一个实施例中,测试构建模块1包括:
信息获取单元,用于获取客户端信息并基于客户端与云平台之间的连接关系,确定客户端与云平台之间的第一映射关系;
测试脚本关系库构建单元,用于基于历史数据,构建客户端-测试脚本数据库;
脚本检索单元,用于获取任意一个客户端的应用场景并基于任意一个客户端的应用场景,在客户端-测试脚本关系库检索出与任意一个客户端对应的测试脚本;
微服务架构单元,用于基于第一映射关系,确定微服务架构;
测试工具单元,用于对若干个测试脚本进行容器化,得到第一测试容器并基于第一测试容器和微服务架构,构建测试工具。
上述技术方案的工作原理及有益效果为:
信息获取单元获取客户端信息并基于客户端与云平台之间的连接关系。本实施例中客户端与云平台采用并联连接关系。根据并联连接关系确定客户端与云平台之间的第一映射关系。测试脚本关系库构建单元基于历史数据,构建客户端-测试脚本数据库。脚本检索单元获取任意一个客户端的应用场景并基于任意一个客户端的应用场景,在客户端-测试脚本关系库检索出与任意一个客户端对应的测试脚本。微服务架构单元基于第一映射关系,确定微服务架构。微服务架构采用的是Spring Cloud技术,将测试工具划分为一系列小型、独立部署的服务。这种架构提供了灵活性,允许针对不同组件进行独立的升级和扩展,同时降低了工具的维护成本。测试工具单元对若干个测试脚本进行容器化,得到第一测试容器并基于第一测试容器和微服务架构,构建测试工具。
本发明实施例通过Spring Cloud技术,测试构建模块构建测试工具并划分为一系列小型、独立部署的测试组件,方便不同组件进行独立的升级和扩展,同时降低了工具的维护成本。
在一个实施例中,测试工具单元包括:
脚本创建子单元,用于创建若干个测试脚本一一对应的第二测试容器;
脚本放置子单元,用于将任意一个测试脚本放置对应的第二测试容器内;
容器确定子单元,用于基于Kubernetes,对若干个第二测试容器进行编排和伸缩,确定第一测试容器;
工具构建子单元,用于基于第一测试容器和微服务架构,构建测试工具。
上述技术方案的工作原理及有益效果为:
脚本创建子单元创建若干个测试脚本一一对应的第二测试容器。例如n个测试脚本,则创建与n个测试脚本对应的n个第二测试容器。脚本放置子单元将任意一个测试脚本放放置对应的第二测试容器内。容器确定子单元基于Kubernetes,对若干个第二测试容器进行编排和伸缩,确定第一测试容器。本实施例中利用Kubernetes技术,能够自动管理容器的部署、伸缩和监控。这使得工具能够快速适应不断变化的测试需求,确保稳定性和可靠性。工具构建子单元,用于基于第一测试容器和微服务架构,将容器和微服务架构进行融合,构建测试工具。
本发明实施例通过利用Kubernetes技术构建测试容器,实现容器管理的部署、伸缩和监控,能够快速适应不断变化的测试需求,确保客户端测试的稳定性和可靠性。
在一个实施例中, 测试执行模块2包括:
测试方案确定单元,用于基于任意一个客户端的应用场景,确定测试方案;
测试结果确认单元,用于基于测试方案和测试数据,利用测试工具中的第一测试容器对对应客户端分别进行第一次测试,确定任意一个客户端的测试结果;
测试执行报告输出单元,用于基于任意一个客户端的测试结果进行汇总,确定测试执行报告,
其中,测试执行报告包括测试结果、性能数据和错误信息。
上述技术方案的工作原理及有益效果为:
测试方案确定单元,用于基于任意一个客户端的应用场景,确定测试方案。例如第一客户端的应用场景是微信聊天,则确定测试方案是“对多人上线进行语音和文字输入测试”的测试方案。测试结果确认单元根据“对多人上线进行语音和文字输入测试”测试方案和测试数据。测试数据包括微信聊天使用的语音、输入的文字、视频等,测试结果确认单元利用测试工具分别对任意一个客户端进行测试,当测试工具调用第一测试容器中的测试程序,根据测试方案利用测试数据对任意一个客户端进行第一次测试,确定任意一个客户端的测试结果。在测试的过程中,使用WebSocket技术来维持与客户端的稳定连接。这确保了测试执行过程中的及时通信和数据传输。测试执行报告输出单元,用于基于任意一个客户端的测试结果进行汇总,确定测试执行报告。测试执行报告包括测试结果、性能数据和错误信息。比如将所有客户端的测试结果进行汇总,包括每个客户端的测试结果、性能数据以及训练错误的信息。
本发明确定测试方案并基于测试方案对若干个客户端进行测试,自动生成测试执行报告,与云平台保持通讯联系,对客户端随时进行调整,能够提高测试效率。
在一个实施例中,测试方案确定单元包括:
测试第一指标子单元,用于基于任意一个客户端,确定任意一个客户端的测试第一指标;
测试第二指标子单元,用于基于任意一个客户端的应用场景,对测试第一指标进行删减,确定任意一个客户端的测试第二指标;
测试数据子单元,用于通过云平台获取任意一个客户端的测试数据;
方案生成子单元,用于基于任意一个客户端的测试第二指标和测试数据,确定测试方案。
上述技术方案的工作原理及有益效果为:
测试第一指标子单元基于任意一个客户端,确定任意一个客户端的测试第一指标。例如第一客户端的测试第一指标包括内存、CPU、流量、电量、启动速度、滑动速度、界面切换速度、与服务器交互的网络速度等。测试第二指标子单元根据第一客户端的应用场景,例如微信聊天,对测试第一指标进行删减,确定任意一个客户端的测试第二指标,测试第二指标包括内存、CPU和流量等。测试数据子单元通过云平台获取任意一个客户端的测试数据。例如从云平台获取到微信聊天的第一客户的端测试数据,例如包括聊天文字、图像和视频等。方案生成子单元基于任意一个客户端的测试第二指标和第一客户端的测试数据,确定第一客户端的测试方案。
本发明实施例通过自动化测试工具,允许用户创建、跟踪和管理多个测试项目,可以帮助团队更好地组织测试活动,分配资源,并确保测试工作按照确定的测试方案进行,保证了客户端测试的准确性和应用场景的针对性。
在一个实施例中, 测试结果确认单元包括:
测试发送子单元,用于基于微服务架构,利用测试工具将测试方案和测试数据分别发送给对应的第一测试容器;
信息反馈子单元,用于当任意一个客户端接收到测试方案和测试数据后,向云平台发送反馈信息;
测试启动子单元,用于基于测试方案和测试数据,启动第一测试容器对对应的客户端进行第一次测试;
测试信息发送子单元,用于当对应的客户端完成第一次测试后,任意一个客户端向云平台发送完成测试信息;
结果确认子单元,用于当云平台接受到完成测试信息,并基于完成测试信息,确认任意一个客户端的测试结果。
上述技术方案的工作原理及有益效果为:
测试发送子单元基于微服务架构,利用测试工具通过容器将测试方案和测试数据依次发送到对应的客户端。例如将第一客户端的测试方案和第一客户端的测试数据发送到第一客户端。当任意一个客户端接收到测试方案和测试数据后,信息反馈子单元向云平台发送反馈信息。例如第一客户端接收到第一客户端的测试方案和第一客户端的测试数据,信息反馈子单元向云平台发送反馈信息,提醒云平台已经将测试方案和测试数据送到了第一客户端。测试启动子单元基于测试方案和测试数据,启动任意一个客户端进行测试。例如当测试方案和测试数据送到了第一客户端,启动第一客户端的测试方案,将第一客户端的测试数据输入到第一客户端进行测试。测试信息发送子单元当对应的客户端完成测试后,任意一个客户端向云平台发送完成测试信息。结果确认子单元当云平台接受到完成测试信息,并基于完成测试信息,确认任意一个客户端的测试结果。
本发明实施例通过测试工具对客户端进行测试,实现多个客户端分别针对性测试,提高了不同种类的客户端测试的效率,减少了测试时间。
在一个实施例中,结果分析模块3包括:
错误信息单元,用于基于测试执行报告,确定错误信息;
故障指标单元,用于基于错误信息,对性能数据分析,确定故障指标;
故障追踪单元,用于对故障指标进行链路追踪,确定故障客户端;
缺陷缘由数据库单元,用于基于历史故障数据,构建故障指标-缺陷缘由关系库;
缺陷缘由单元,用于基于故障指标,在故障指标-缺陷缘由关系库检索出缺陷缘由;
修复单元,用于基于历史修复记录,构建修复方案数据库并基于缺陷缘由,检索出修复方案并发送给用户;
第二次测试单元,用于修复完成后对缺陷客户端进行第二次测试。
上述技术方案的工作原理及有益效果为:
错误信息单元根据测试执行报告进行信息提取,获取错误信息。例如在测试执行报告中的微信聊天测试中出现错误信息,对错误信息进行提取。故障指标单元根据错误信息,对性能数据分析,确定故障指标,即客户端的故障指标。例如微信聊天测试中的错误信息确定了“图像传送失真”。故障追踪单元根据图像传送失真进行链路追踪,确定故障客户端,即第一客户端。缺陷缘由数据库单元基于历史故障数据,构建故障指标-缺陷缘关系库。缺陷缘由单元于基于故障指标,在故障指标-缺陷缘由关系库检索出缺陷缘由。例如从第一客户端的图像传送失真寻找出缺陷缘由是“客户端传送的格式未统一对应”。修复单元历史修复记录,构建修复方案数据库并基于缺陷缘由,检索出“图像传送失真”修复方案是“利用jpg格式对聊天软件的图像格式进行统一对应”。修复完成后,第二次测试单元对缺陷客户端进行第二次测试,检测客户端是否克服缺陷。
本发明实施例通过对测试执行报告进行错误分析,检索出客户端的修复方案,方便用户对客户端进行修复。
在一个实施例中,一种用于多种客户端应用场景的自动化测试系统,还包括:
客户端检测模块,用于实时检测客户端与云平台的连通关系,判断是否出现新连通客户端,若出现新连通客户端,对新连通客户端进行第三次测试,否则无处理;
其中,客户端检测模块包括:
实时监测单元,用于实时检测客户端与云平台的连通关系并建立客户端与云平台之间的第二映射关系;
新连通客户端确定单元,基于客户端与云平台之间的第一映射关系和第二映射关系,判断是否出现新连通客户端;
类型比较单元,用于若出现新连通客户端,获取新连通客户端的类型并与第一映射关系中的所有客户端的类型进行比较;
测试工具变更单元,用于若新连通客户端的类型与第一映射关系中的某个客户端的类型相同,则基于第二映射关系,对测试工具中的微服务架构进行更改,若新连通客户端的类型与第一映射关系中的所有客户端的类型不同,则获取新连通客户端的应用场景,并基于新连通客户端的应用场景,对测试工具添加新连通客户端对应的第一测试容器以及对测试工具中的微服务架构进行更改;
新连通客户端测试单元,用于当测试工具更改完成后,基于新连通客户端的应用场景,确定新连通客户端测试方案,并基于新连通客户端测试方案对新连通客户端进行第三次测试。
上述技术方案的工作原理及有益效果为:
实时监测单元实时检测客户端与云平台的连通关系并建立客户端与云平台之间的第二映射关系。新连通客户端确定单元,基于客户端与云平台之间的第一映射关系和第二映射关系,判断是否出现新连通客户端。例如本实施例第一映射关系有第一客户端、第二客户端和第三客户端连接,而第二映射关系有第一客户端、第三客户端和第四客户端连接。因此可以判断出第二客户端已经断开连接,出现新的客户端第四客户端。类型比较单元,用于若出现新连通客户端,获取新连通客户端的类型并与第一映射关系中的所有客户端的类型进行比较。例如将第四客户端的类型与第一映射关系中的所有客户端的类型进行比较。测试工具变更单元,用于若新连通客户端的类型与第一映射关系中的某个客户端的类型相同,则基于第二映射关系,对测试工具中的微服务架构进行更改,若新连通客户端的类型与第一映射关系中的所有客户端的类型不同,则获取新连通客户端的应用场景,并基于新连通客户端的应用场景,对测试工具添加新连通客户端对应的第一测试容器以及对测试工具中的微服务架构进行更改。对新连通客户端的类型进行判断,若与测试工具中测试中的客户端类型相同的,通过调用测试工具中的相同类型客户端的容器进行测试,只需要更新微服务架构,若新出现类型,则需要添加新容器并更新微服务架构。例如第四客户端与第二客户端的类型相同,则直接调用第二客户端的测试容器,将微服务架构中的第二客户端的的测试容器调用到第四客户端,同样也调用第二客户端的测试数据对第四客户端进行测试。若第四客户端是新类型的客户端,则根据第四客户端的应用场景,对测试工具添加第四客户端对应的测试容器以及对测试工具中的微服务架构进行更改。新连通客户端测试单元当测试工具更改完成后,基于新连通客户端的应用场景,确定新连通客户端测试方案,并基于新连通客户端测试方案对新连通客户端进行第三次测试。
本发明实施例通过判断新客户端,并基于新客户端的类型对测试工具进行更新,使得更快的对新客户端进行测试,加快了测试效率,同时由于相同类型的客户端采用相同的测试脚本和测试数据,方便对测试结果统一化比较。
在一个实施例中,一种用于多种客户端应用场景的自动化测试系统,还包括:
可视化显示模块,用于基于任意一个客户端的测试进度和测试结果,对测试执行报告进行可视化显示;
其中,可视化显示模块包括:
完成判断单元,用于获取任意一个客户端的测试进度,判断任意一个客户端是否完成第一次测试;
进度显示单元,用于当任意一个客户端未完成第一次测试时,基于任意一个客户端的测试进度,确定任意一个客户端的完成率;
第一顺序显示单元,用于基于完成率对未完成第一次测试的客户端进行排序,确定客户端第一顺序并进行显示;
性能评分单元,用于当任意一个客户端完成测试时,对已完成第一次测试的客户端的性能数据进行归一化处理,确定已完成第一次测试的任意一个客户端的性能评分;
第二顺序显示单元,用于基于已完成第一次测试的任意一个客户端的性能评分,确定客户端第二顺序并进行显示;
综合评分单元,用于当所有客户端完成测试后,基于测试执行报告确定任意一个客户端的综合评分;
第三顺序显示单元,用于基于任意一个客户端的综合评分,确定客户端第三顺序并进行显示。
上述技术方案的工作原理及有益效果为:
完成判断单元获取任意一个客户端的测试进度,判断任意一个客户端是否完成第一次测试。例如一共有4个客户端,分别是第一客户端、第二客户端、第三客户端和第四客户端。未完成第一次测试当任意一个客户端未完成第一次测试时,进度显示单元根据任意一个客户端的测试进度,确定任意一个客户端的完成率。例如确定了第一客户端完成率90%、第二客户端50%、第三客户端60%和第四客户端70%,根据完成率对未完成第一次测试的客户端进行排序,第一顺序显示单元确定第一顺序是第一客户端、第四客户端、第三客户端和第二客户端。第一顺序显示单元按照第一顺序进行显示。当任意一个客户端完成测试时,性能评分单元对已完成第一次测试的客户端的性能数据进行归一化处理,确定已完成第一次测试的任意一个客户端的性能评分。例如完成测试的第五客户端、第六客户端和第七客户端的性能数据进行归一化处理,并确定评分分别是60分,70分和80分,则第二顺序是第七客户端、第六客户端和第五客户端。第二顺序显示单元按照客户端第二顺序并进行显示。当所有客户端完成测试后,综合评分单元根据测试执行报告确定任意一个客户端的综合评分。第三顺序显示单元基于任意一个客户端的综合评分,确定客户端第三顺序并进行显示。
本发明实施例通过对客户端按照完成情况进行分开,方便用户对客户端进行直接观测。
本发明还提供了一种用于多种客户端应用场景的自动化测试方法,如图2所示,包括:
步骤1:获取多种客户端的客户端信息,并基于客户端信息,建立每一客户端与云平台之间的第一映射关系并构建测试工具;其中,测试工具包括微服务架构和与任意一个客户端对应的第一测试容器;
步骤2:基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具中的第一测试容器对对应的客户端分别进行第一次测试,确定测试执行报告;
步骤3:判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪技术,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理。
上述技术方案的工作原理及有益效果为:
步骤1基于若干个客户端,建立客户端与云平台之间连接关系并构建测试工具。步骤2确定测试方案,并基于测试方案,利用测试工具对任意一个客户端进行测试,确定测试执行报告。步骤3判断测试结果与设定测试目标是否一致,若不一致,则通基于链路,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行重新测试,否则无处理。
本发明实施例通过高度分布式的云平台上,实现云计算的弹性和可伸缩性,对若干个客户端测试进行合理安排,提高了客户端的测试效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种用于多种客户端应用场景的自动化测试系统,其特征在于,包括:
测试构建模块,用于获取多种客户端的客户端信息,并基于客户端信息,建立每一客户端与云平台之间的第一映射关系并构建测试工具;其中,测试工具包括微服务架构和与任意一个客户端对应的第一测试容器;
测试执行模块,用于基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具中的第一测试容器对对应的客户端分别进行第一次测试,确定测试执行报告;
结果分析模块,用于判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪技术,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理;
客户端检测模块,用于实时检测客户端与云平台的连通关系,判断是否出现新连通客户端,若出现新连通客户端,对新连通客户端进行第三次测试,否则无处理;
测试构建模块包括:
信息获取单元,用于获取客户端信息并基于客户端与云平台之间的连接关系,确定客户端与云平台之间的第一映射关系;
测试脚本关系库构建单元,用于基于历史数据,构建客户端-测试脚本数据库;
脚本检索单元,用于获取任意一个客户端的应用场景并基于任意一个客户端的应用场景,在客户端-测试脚本关系库检索出与任意一个客户端对应的测试脚本;
微服务架构单元,用于基于第一映射关系,确定微服务架构;
测试工具单元,用于对若干个测试脚本进行容器化,得到第一测试容器并基于第一测试容器和微服务架构,构建测试工具;
测试工具单元包括:
脚本创建子单元,用于创建若干个测试脚本一一对应的第二测试容器;
脚本放置子单元,用于将任意一个测试脚本放置对应的第二测试容器内;
容器确定子单元,用于基于Kubernetes,对若干个第二测试容器进行编排和伸缩,确定第一测试容器;
工具构建子单元,用于基于第一测试容器和微服务架构,构建测试工具;
测试执行模块包括:
测试方案确定单元,用于基于任意一个客户端的应用场景,确定测试方案;
测试结果确认单元,用于基于测试方案和测试数据,利用测试工具中的第一测试容器对对应客户端分别进行第一次测试,确定任意一个客户端的测试结果;
测试执行报告输出单元,用于基于任意一个客户端的测试结果进行汇总,确定测试执行报告,
其中,测试执行报告包括测试结果、性能数据和错误信息;
结果分析模块包括:
错误信息单元,用于基于测试执行报告,确定错误信息;
故障指标单元,用于基于错误信息,对性能数据分析,确定故障指标;
故障追踪单元,用于对故障指标进行链路追踪,确定故障客户端;
缺陷缘由数据库单元,用于基于历史故障数据,构建故障指标-缺陷缘由关系库;
缺陷缘由单元,用于基于故障指标,在故障指标-缺陷缘由关系库检索出缺陷缘由;
修复单元,用于基于历史修复记录,构建修复方案数据库并基于缺陷缘由,检索出修复方案并发送给用户;
第二次测试单元,用于修复完成后对缺陷客户端进行第二次测试。
2.如权利要求1所述的一种用于多种客户端应用场景的自动化测试系统,其特征在于,测试方案确定单元包括:
测试第一指标子单元,用于基于任意一个客户端,确定任意一个客户端的测试第一指标;
测试第二指标子单元,用于基于任意一个客户端的应用场景,对测试第一指标进行删减,确定任意一个客户端的测试第二指标;
测试数据子单元,用于通过云平台获取任意一个客户端的测试数据;
方案生成子单元,用于基于任意一个客户端的测试第二指标和测试数据,确定测试方案。
3.如权利要求1所述的一种用于多种客户端应用场景的自动化测试系统,其特征在于,测试结果确认单元包括:
测试发送子单元,用于基于微服务架构,利用测试工具将测试方案和测试数据分别发送给对应的第一测试容器;
信息反馈子单元,用于当任意一个客户端接收到测试方案和测试数据后,向云平台发送反馈信息;
测试启动子单元,用于基于测试方案和测试数据,启动第一测试容器对对应的客户端进行第一次测试;
测试信息发送子单元,用于当对应的客户端完成第一次测试后,任意一个客户端向云平台发送完成测试信息;
结果确认子单元,用于当云平台接受到完成测试信息,并基于完成测试信息,确认任意一个客户端的测试结果。
4.如权利要求1所述的一种用于多种客户端应用场景的自动化测试系统,其特征在于,客户端检测模块包括:
实时监测单元,用于实时检测客户端与云平台的连通关系并建立客户端与云平台之间的第二映射关系;
新连通客户端确定单元,基于客户端与云平台之间的第一映射关系和第二映射关系,判断是否出现新连通客户端;
类型比较单元,用于若出现新连通客户端,获取新连通客户端的类型并与第一映射关系中的所有客户端的类型进行比较;
测试工具变更单元,用于若新连通客户端的类型与第一映射关系中的某个客户端的类型相同,则基于第二映射关系,对测试工具中的微服务架构进行更改,若新连通客户端的类型与第一映射关系中的所有客户端的类型不同,则获取新连通客户端的应用场景,并基于新连通客户端的应用场景,对测试工具添加新连通客户端对应的第一测试容器以及对测试工具中的微服务架构进行更改;
新连通客户端测试单元,用于当测试工具更改完成后,基于新连通客户端的应用场景,确定新连通客户端测试方案,并基于新连通客户端测试方案对新连通客户端进行第三次测试。
5.如权利要求1所述的一种用于多种客户端应用场景的自动化测试系统,其特征在于,还包括:
可视化显示模块,用于基于任意一个客户端的测试进度和测试结果,对测试执行报告进行可视化显示;
其中,可视化显示模块包括:
完成判断单元,用于获取任意一个客户端的测试进度,判断任意一个客户端是否完成第一次测试;
进度显示单元,用于当任意一个客户端未完成第一次测试时,基于任意一个客户端的测试进度,确定任意一个客户端的完成率;
第一顺序显示单元,用于基于完成率对未完成第一次测试的客户端进行排序,确定客户端第一顺序并进行显示;
性能评分单元,用于当任意一个客户端完成测试时,对已完成第一次测试的客户端的性能数据进行归一化处理,确定已完成第一次测试的任意一个客户端的性能评分;
第二顺序显示单元,用于基于已完成第一次测试的任意一个客户端的性能评分,确定客户端第二顺序并进行显示;
综合评分单元,用于当所有客户端完成测试后,基于测试执行报告确定任意一个客户端的综合评分;
第三顺序显示单元,用于基于任意一个客户端的综合评分,确定客户端第三顺序并进行显示。
6.一种用于多种客户端应用场景的自动化测试方法,其特征在于,应用于如权利要求1-5任意一项所述的系统,用于多种客户端应用场景的自动化测试方法包括:
获取多种客户端的客户端信息,并基于客户端信息,建立每一客户端与云平台之间的第一映射关系并构建测试工具;其中,测试工具包括微服务架构和与任意一个客户端对应的第一测试容器;
基于客户端的应用场景,确定测试方案,并基于测试方案,利用测试工具中的第一测试容器对对应的客户端分别进行第一次测试,确定测试执行报告;
判断测试执行报告与设定的测试目标是否一致,若不一致,则基于链路追踪技术,追踪至对应的缺陷客户端并进行修复,修复完成后对缺陷客户端进行第二次测试,否则无处理。
CN202311324357.0A 2023-10-12 2023-10-12 一种用于多种客户端应用场景的自动化测试系统及方法 Active CN117271359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311324357.0A CN117271359B (zh) 2023-10-12 2023-10-12 一种用于多种客户端应用场景的自动化测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311324357.0A CN117271359B (zh) 2023-10-12 2023-10-12 一种用于多种客户端应用场景的自动化测试系统及方法

Publications (2)

Publication Number Publication Date
CN117271359A CN117271359A (zh) 2023-12-22
CN117271359B true CN117271359B (zh) 2024-03-19

Family

ID=89219580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311324357.0A Active CN117271359B (zh) 2023-10-12 2023-10-12 一种用于多种客户端应用场景的自动化测试系统及方法

Country Status (1)

Country Link
CN (1) CN117271359B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567203A (zh) * 2011-12-28 2012-07-11 创新科软件技术(深圳)有限公司 一种测试分布式文件系统性能的方法及系统
CN111176989A (zh) * 2019-12-22 2020-05-19 同济大学 一种基于服务编排的故障注入测试场景用例模型和框架
CN114443478A (zh) * 2022-01-20 2022-05-06 阿里巴巴新加坡控股有限公司 场景测试方法、服务降级方法、装置以及存储介质
US11327874B1 (en) * 2019-08-14 2022-05-10 Amdocs Development Limited System, method, and computer program for orchestrating automatic software testing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567203A (zh) * 2011-12-28 2012-07-11 创新科软件技术(深圳)有限公司 一种测试分布式文件系统性能的方法及系统
US11327874B1 (en) * 2019-08-14 2022-05-10 Amdocs Development Limited System, method, and computer program for orchestrating automatic software testing
CN111176989A (zh) * 2019-12-22 2020-05-19 同济大学 一种基于服务编排的故障注入测试场景用例模型和框架
CN114443478A (zh) * 2022-01-20 2022-05-06 阿里巴巴新加坡控股有限公司 场景测试方法、服务降级方法、装置以及存储介质

Also Published As

Publication number Publication date
CN117271359A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US10805466B2 (en) Remote distance assistance system and method
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN110730246A (zh) 一种微服务架构下的分布式链路跟踪方法
CN109885496B (zh) 测试日志管理方法及系统
CN111782635B (zh) 数据处理方法和装置、存储介质和电子装置
CN111522738A (zh) 微服务系统的测试方法、装置、存储介质和电子设备
CN110162441A (zh) 应用系统的集中监控方法及装置、电子设备、存储介质
CN110795332A (zh) 一种自动化测试方法和装置
US10949333B1 (en) Application maturity console
CN114143369A (zh) 一种云平台的服务监控系统
CN117271359B (zh) 一种用于多种客户端应用场景的自动化测试系统及方法
CN112364185A (zh) 多媒体资源的特征确定方法、装置、电子设备和存储介质
CN107679198B (zh) 信息的查询方法及装置
JP2020042771A (ja) データ分析方法及びデータ分析システム
CN109947402A (zh) 一种项目开发系统
CN115185792A (zh) 故障硬件处理方法、装置和系统
CN113868116A (zh) 测试依赖数据的生成方法、装置、服务器及存储介质
CN112650815A (zh) 环境数据的同步方法及装置、存储介质及电子装置
CN116882966B (zh) 一种运维设备巡检结果的故障判断方法和装置
CN113360365A (zh) 一种流程测试方法和流程测试系统
CN110928784A (zh) 一种软件测试环境监测方法及装置
CN111737144B (zh) 一种智能设备ab测试故障排查方法及系统
CN112073824B (zh) 基于直播视频的数据处理方法及装置
CN111291215B (zh) 公式生成方法及服务器
US8924403B2 (en) Method and system for central data querying

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