CN113918465A - 兼容性测试方法、装置、电子设备及可读存储介质 - Google Patents

兼容性测试方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113918465A
CN113918465A CN202111262956.5A CN202111262956A CN113918465A CN 113918465 A CN113918465 A CN 113918465A CN 202111262956 A CN202111262956 A CN 202111262956A CN 113918465 A CN113918465 A CN 113918465A
Authority
CN
China
Prior art keywords
test
compatibility
module
tested
case
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.)
Withdrawn
Application number
CN202111262956.5A
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.)
Inspur Shandong Computer Technology Co Ltd
Original Assignee
Inspur Shandong Computer Technology 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 Inspur Shandong Computer Technology Co Ltd filed Critical Inspur Shandong Computer Technology Co Ltd
Priority to CN202111262956.5A priority Critical patent/CN113918465A/zh
Publication of CN113918465A publication Critical patent/CN113918465A/zh
Withdrawn 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
    • 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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种兼容性测试方法、装置、电子设备及可读存储介质。其中,方法包括从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例;获取基于待测试任务对目标测试用例进行命令编辑后所生成的多个操作指令,各操作指令在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备中生成;通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。本申请可降低兼容性测试的人力成本,有效提高兼容性测试效率。

Description

兼容性测试方法、装置、电子设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种兼容性测试方法、装置、电子设备及可读存储介质。
背景技术
随着计算机技术的快速发展,软件技术也得到相应的发展,实现各种功能的计算机应用软件层出不穷,应用软件的正常运行需要和搭建的硬件平台兼容。在应用软件上市之前,兼容性测试不可避免。兼容性测试是指硬件之间、软件之间或是软硬件组合系统之间的相互协调工作的程度,具体的是指测试应用软件在特定的硬件产台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能很好地运行。
目前测试部门使用的系统兼容性测试用例包括两方面内容:一种为在系统界面下模拟操作,例如更改分辨率、打开软件或者进行文档编写等操作。另一种是在命令行界面下进行基本指令的操作和老化进程的运行,例如简单指令的执行、Unixbench等测试脚本的执行、LTP(Linux Test Project)测试等。这些内容需要不同的测试人员直接面对一台或者多台整机设备进行测试,测试方法和进度无法完全统一,不同测试人员会输出不同的测试结果,最终导致整个兼容性测试不仅需要耗费大量人力,而且效率低下。
发明内容
本申请提供了一种兼容性测试方法、装置、电子设备及可读存储介质,降低兼容性测试的人力成本,提高兼容性测试效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种兼容性测试方法,包括:
从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例;
获取基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令,各操作指令在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备中生成;
通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。可选的,所述通过调用各测试模块执行兼容性测试之后,还包括:
获取所述自动化测试工具输出的富文本形式的测试报告,同时将所述测试报告中的测试结果输出为测试报告表,日志信息输出为文件附件;
所述待测试任务为功能测试,所述测试报告包含测试结果和测试用例脚本输出内容;所述待测试任务为压力测试,所述测试报告包含测试结果以及压力测试程序运行过程中的日志信息;所述待测试任务为性能测试,所述测试报告包含测试结果以及性能测试程序运行过程中的日志信息。
可选的,所述通过自动化测试工具将各操作指令封装为相应的测试模块之后,还包括:
当接收到测试参数更新请求,确定所述测试参数更新请求对应待更新的目标测试模块;
基于所述测试参数更新请求,通过所述自动化测试工具更新所述目标测试模块的测试参数,并利用更新后的目标测试模块覆盖所述目标测试模块。
可选的,所述通过调用各测试模块执行兼容性测试之前,还包括:
当接收到测试用例新增请求,若新增测试用例不为外设测试用例,将所述新增测试用例输入至所述自动化测试工具中;
通过所述自动化测试工具对所述新增测试用例对应的操作指令进行封装,生成新测试模块。
可选的,所述基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令,包括:
所述待测试任务为功能测试,根据所述目标测试用例所涉及到的不同功能进行分类;
基于当前功能,对所述目标测试用例进行命令编辑生成所述当前功能的操作指令。
可选的,所述基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令之前,还包括:
所述待测试任务为性能测试或压力测试,判断执行所述性能测试或所述压力测试所依赖环境是否安装完毕;
若所述性能测试或所述压力测试所依赖环境没有安装,则调用相应的测试安装包执行环境安装操作;
所述测试安装包为压力测试安装包或性能测试安装包;所述压力测试安装包为预先将压力测试软件及不同测试平台下相匹配的安装环境包进行封装所得;所述性能测试安装包为预先将性能测试软件及不同测试平台下相匹配的安装环境包进行封装所得。
可选的,所述通过自动化测试工具将各操作指令封装为相应的测试模块之前,还包括:
通过所述自动化测试工具将兼容性测试过程中需要执行的shell指令或python指令进行合并,并插入至自动化测试框架。
本发明实施例另一方面提供了一种兼容性测试装置,包括:
测试用例生成模块,用于从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例;
操作指令生成模块,用于获取基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令,各操作指令在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备中生成;
测试模块,用于通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。
本发明实施例还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述兼容性测试方法的步骤。
本发明实施例最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述兼容性测试方法的步骤。
本申请提供的技术方案的优点在于,将兼容性测试用例中的相关操作基于服务器操作系统的基础上进行命令编辑,通过自动化测试工具将指令封装成不同的测试模块,从而可将系统兼容性测试的测试用例的大部分内容脚本化,这样机械性的测试步骤可以直接通过和搭建操作系统的设备以及互联的设备进行执行,人工操作步骤可以简化为对外设以及无法通过命令行执行的操作,从而将需要耗费大量时间以及人工容易出错的测试步骤通过调用测试模块进行执行,且可以并发执行多次进行比较,便于操作系统测试组对偶发问题进行定位和概率确定。降低兼容性测试的人力成本,提高兼容性测试效率。而对于诸如LTP测试或者Glxgears测试未正常通过的问题,还可以利用系统中模块化的特点,单独执行专有模块,最终结果是有利于进行多次重复实验定位问题并可以完成结果的输出,从而可进一步提高兼容性测试效率。
此外,本发明实施例还针对兼容性测试方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种兼容性测试方法的流程示意图;
图2为本发明实施例提供的兼容性测试装置的一种具体实施方式结构图;
图3为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种兼容性测试方法的流程示意图,本发明实施例可包括以下内容:
S101:从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例。
本实施例的执行主语可为搭建服务器操作系统的设备如服务器,该服务器同时安装自动化测试工具,自动化测试工具例如可为Robot Framework工具。执行主语要与待测试设备以及与各自互联的设备均要处于相同的内外网环境中。执行主语也可为安装自动化测试工具的测试设备,该测试设备与搭建服务器操作系统的命令编辑设备进行交互,命令编辑设备用于对测试用例的相关操作,基于诸如统信UOS或者麒麟系统的基础上进行命令编辑。待测试设备如一台或多台服务器或台式机,待测试设备安装Linux系列系统。待测试设备、测试设备及命令编辑设备以及与各自互联的设备均要处于相同的内外网环境中,以便对待测试设备执行兼容性测试。
可以理解的是,操作用例集包括对待测试设备进行兼容性测试的所有测试用例,这些测试用例中包括可通过命令行实现的操作用例,还涉及到对外置部件如键盘、鼠标、外置摄像头、raid(Redundant Arrays of Independent Disks,磁盘阵列)卡的测试,对于外置部件测试需要进入系统并使用键鼠等人机交互设备打开软件进行测试,而各个操作系统厂家调用的程序是不一样的,所以不能泛用。这些外设测试只能现场人员亲自操作。而本实施例是为了在执行兼容性测试中降低人力成本,尽可能地利用系统自身去执行测试,以减少人工操作。所以本实施例的目标测试用例并不包含对外设的测试,或者是说不包含无法通过命令行实现的操作用例。Linux系列系统的桌面环境测试基本都可以通过命令行调用进程实现,所以测试用例中除涉及鼠标、键盘以及各种外设的测试外,基本都可以通过命令行调用测试。
S102:获取基于待测试任务对目标测试用例进行命令编辑后所生成的多个操作指令。
本实施例的兼容性测试包括功能测试、性能测试和压力测试,相应的,待测试任务是指当前执行的测试任务是功能测试还是性能测试还是压力测试,命令编辑操作是在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备上进行的,用户通过在该设备对要执行的待测试任务对应的测试用例的相关操作进行命令编辑,一个目标测试用例可生成一个操作指令,也可生成多个操作指令,基于待测试任务和测试用例的相关操作类型共同决定。
S103:通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。
自动化测试工具例如可为RF(Robot Framework),在上个步骤生成多个操作指令之后,通过自动化测试工具,可使用Python将操作指令封装成不同的测试模块,通过自动化测试工具如RF可直接访问待测试设备,传输待测试脚本并完成安装,进行具体的兼容性测试。
在本发明实施例提供的技术方案中,将兼容性测试用例中的相关操作基于服务器操作系统的基础上进行命令编辑,通过自动化测试工具将指令封装成不同的测试模块,从而可将系统兼容性测试的测试用例的大部分内容脚本化,这样机械性的测试步骤可以直接通过和搭建操作系统的设备以及互联的设备进行执行,人工操作步骤可以简化为对外设以及无法通过命令行执行的操作,从而将需要耗费大量时间以及人工容易出错的测试步骤通过调用测试模块进行执行,且可以并发执行多次进行比较,便于操作系统测试组对偶发问题进行定位和概率确定。降低兼容性测试的人力成本,提高兼容性测试效率。而对于诸如LTP测试或者Glxgears测试未正常通过的问题,还可以利用系统中模块化的特点,单独执行专有模块,最终结果是有利于进行多次重复实验定位问题并可以完成结果的输出,从而可进一步提高兼容性测试效率。
需要说明的是,本申请中各步骤间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
可以理解的是,在对待测试设备执行完兼容性测试之后,还会输出测试报告,基于上述实施例,在通过调用各测试模块执行兼容性测试之后,还可包括:
获取自动化测试工具输出的富文本形式的测试报告,同时将测试报告中的测试结果输出为测试报告表,日志信息输出为文件附件。
在本实施例中,若待测试任务为功能测试,测试报告包含测试结果和测试用例脚本输出内容;待测试任务为压力测试,测试报告包含测试结果以及压力测试程序运行过程中的日志信息;待测试任务为性能测试,测试报告包含测试结果以及性能测试程序运行过程中的日志信息。
举例来说,兼容性测试完成后,相关日志和测试是否通过的说明可以在RF中直接输出并整理,成为富文本形式(Rich Text Format,RTF)的测试报告,输出结果在RF中可以直观地以表格形式进行呈现。压力测试使用的程序运行过程中的日志信息需要被采集并同测试结果一起输出,以便于分析程序运行情况和故障排查中用于参考。对于功能测试来说,测试用例简单脚本输出内容也可以通过测试结果或者日志进行输出。对于各进程或者各脚本即每个测试模块执行完任务之后输出的结果,可通过内置程序进行筛选和遍历,以将其中运行成功案例输出为正常,无法正常安装或者执行结果不符合标准的项目输出为不正常,将最终测试的结果输出成为表格,同时将相关日志作为附件可以进行下载和分析。基于该测试报告,可以清楚、直观地判断其中哪些输出内容代表执行结果符合测试用例需求,哪些不符合要求需要进行重新测试或者判断为系统、部件问题,更有利于用户使用。
可以理解的是,随着待测试设备的更新,待测试设备的环境的变化,上述步骤的目标测试用例中的测试参数可能会修改,当然,也可会增加新的测试项目,为了提高本实施例的实用性,基于此,本申请还提供了一个后期维护的实施例,后续维护可以通过不断更新自动化测试工具中的测试用例及参数,实现对不同系统、不同平台下设备的测试工作,可包括下述内容:
当接收到测试参数更新请求,确定测试参数更新请求对应待更新的目标测试模块;基于测试参数更新请求,通过自动化测试工具更新目标测试模块的测试参数,并利用更新后的目标测试模块覆盖目标测试模块。
当接收到测试用例新增请求,若新增测试用例不为外设测试用例,将新增测试用例输入至自动化测试工具中;通过自动化测试工具对新增测试用例对应的操作指令进行封装,生成新测试模块。
在上述实施例中,对于如何执行S102并不做限定,本实施例中给出基于待测试任务对目标测试用例进行命令编辑后所生成的多个操作指令的一种可选的实施方式,可包括如下步骤:
待测试任务为功能测试,根据目标测试用例所涉及到的不同功能进行分类;基于当前功能,对目标测试用例进行命令编辑生成当前功能的操作指令。
待测试任务为性能测试或压力测试,判断执行性能测试或压力测试所依赖环境是否安装完毕。
若性能测试或压力测试所依赖环境没有安装,则调用相应的测试安装包执行环境安装操作。
测试安装包为压力测试安装包或性能测试安装包;压力测试安装包为预先将压力测试软件及不同测试平台下相匹配的安装环境包进行封装所得;性能测试安装包为预先将性能测试软件及不同测试平台下相匹配的安装环境包进行封装所得。
在本实施例中,可使用Shell将目标测试用例编写脚本,根据测试用例中涉及的功能的不同进行分类,每种功能可使用单独的指令或者脚本进行实现。对于诸如Unixbench、LTP压力测试等项目,由于执行时间较长且需要单独配置安装环境,需要划分平台,将UOS或者麒麟系统下需要安装的环境包进行单独测试,确保性能测试软件可以单独安装。不同压力测试软件以mips、arm和x86分为三个版本进行测试后,可将必要环境和软件本身封装到一个tar包中备用。在具体实现过程中,需要使用shell或者python应用对tar包调用:首先是对当前系统的环境进行界定,包括当前连接的设备系统版本,系统架构和是否安装有必要环境进行确认;然后进行必要环境的安装和安装结果的确认,通过安装后屏幕输出内容是否包括完成的字样以及检测已安装软件的版本进行监控。也就是说,shell脚本或者python脚本需要先确认执行测试任务所需的tar包,其依赖的gcc(GNU CompilerCollection,GNU编译器套件)或者其他编译环境是否已经安装,通过脚本执行指令确认系统版本、系统架构等,以便后续调用相应平台的程序。如果执行测试任务所依赖的环境没有安装完毕,则调用程序安装环境(如ggc),并反馈相关环境安装完毕或设备信息采集完毕的文字提示信息。
为了更加便于执行兼容性测试,在通过自动化测试工具将各操作指令封装为相应的测试模块之前,还可包括:通过自动化测试工具将兼容性测试过程中需要执行的shell指令或python指令进行合并,并插入至自动化测试框架,本实施例以RF自动化测试工具为了阐述该过程,可包括:
A1:RF开始测试是从cmd输入命令,初始运行程序接收命令字符,即用txt或html编辑的测试用例集。
A2:接收测试用例集之后,RF生成初始化全局变量配置,主要是定义一系列的字段名称和文件名称,例如:日志文件名称等,由settings.py中的类完成。
A3:解析用例文件,生成数据对象,数据对象中包含了测试集的各种数据,例如:测试用例集名称、各个测试用例名称、各个关键字名称等。
A4:将测试数据对象传送给测试集合类处理,生成测试集suite对象。
A5:运行suite中的用例测试,然后调用关键字,找到关键字对应的库文件,进行操作。
A6:将每一个操作和结果都写在输出的xml文件中,有专门调用对输出xml进行操作的类。
A7:待测试完成后,调用转换类将xml文件转换成相应的HTML日志报告,测试完成。
简单来说,就是把需要使用的shell脚本、测试命令、python脚本等都通过RF进行一个整体的合入,整个RF可包括如下几个内容:登录及信息获取组件、环境检测组件、环境运行组件、测试执行组件、信息采集组件、信息分析组件和结果呈现组件。
登录及信息获取组件用于登录设备获取设备信息,获取环境信息。环境检测组件用于检查运行环境是否符合要求。环境运行组件用于安装运行环境。测试执行组件用于执行测试用例。信息采集组件用于采集测试用例执行过程中的屏幕输出内容和运行日志。信息分析组件用于分析测试用例执行结果输出的内容以及运行日志信息,判断运行结果会否正常。结果呈现组件用于输出信息分析组件的分析结果并呈现到html。
本实施例通过RF实现系统兼容性测试用例的大部分内容脚本化,在一台windowsserver服务器上面部署了整套系统后,机械性的测试步骤可以直接通过和该服务器以及互联的设备进行执行,人工操作步骤可以简化为对外设以及无法通过命令行执行的操作。需要耗费大量时间以及人工容易出错的步骤通过系统进行执行,且可以并发执行多次进行比较,便于OS测试组对偶发问题进行定位和概率确定。其中如果存在诸如单独LTP(LinuxTestProject,用来验证Linux系统可靠性、健壮性和稳定性)测试或者Glxgears(测试Linux是否可以顺利运行2D、3D的测试软件)测试未正常通过的问题,可以利用系统中模块化的特点,单独执行专有模块。最终结果是有利于进行多次重复实验定位问题并可以完成结果的输出。有效提高兼容性测试效率,降低整个兼容性测试成本。
此外,还需要说明的是,当前整套系统的设计实现起来相对比较容易,由于部分测试,诸如测试鼠标移动、视频播放帧率、显示分辨率切换等工作,依然需要测试人员手动执行,无法完全解放测试人员的精力。为了解决这个技术问题,进一步的,还可在搭建操作系统的服务器中安装录屏工具来录制这些操作。另外可以使用鼠标操作记录的软件,将一系列鼠标单击操作记录下来并复制到其他设备上面进行执行。即使可以实现操作的记录,仍然需要人工去判断这部分操作是否符合标准,如果操作过程中遇到问题,会弹出报错或者引起宕机的现象,程序无法判断出现的情况就会引发程序循环或者程序本身无法正常执行下去的情况。进一步的,还可通过人工智能等方式,不断记录工程师对设备的操作,保证可以记录下来的信息完整度和程序的可持续使用能力,进一步提高兼容性测试的效率,降低人力成本。
本发明实施例还针对兼容性测试方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的兼容性测试装置进行介绍,下文描述的兼容性测试装置与上文描述的兼容性测试方法可相互对应参照。
基于功能模块的角度,参见图2,图2为本发明实施例提供的兼容性测试装置在一种具体实施方式下的结构图,该装置可包括:
测试用例生成模块201,用于从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例。
操作指令生成模块202,用于获取基于待测试任务对目标测试用例进行命令编辑后所生成的多个操作指令,各操作指令在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备中生成。
测试模块203,用于通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。
可选的,在本实施例的一些实施方式中,上述装置还可以包括测试报告生成模块,用于获取自动化测试工具输出的富文本形式的测试报告,同时将测试报告中的测试结果输出为测试报告表,日志信息输出为文件附件;待测试任务为功能测试,测试报告包含测试结果和测试用例脚本输出内容;待测试任务为压力测试,测试报告包含测试结果以及压力测试程序运行过程中的日志信息;待测试任务为性能测试,测试报告包含测试结果以及性能测试程序运行过程中的日志信息。
作为本实施例的一种可选的实施方式,上述操作指令生成模块202可进一步用于:待测试任务为功能测试,根据目标测试用例所涉及到的不同功能进行分类;基于当前功能,对目标测试用例进行命令编辑生成当前功能的操作指令。
作为本实施例的另一种可选的实施方式,上述操作指令生成模块202还可进一步用于:待测试任务为性能测试或压力测试,判断执行性能测试或压力测试所依赖环境是否安装完毕;若性能测试或压力测试所依赖环境没有安装,则调用相应的测试安装包执行环境安装操作;测试安装包为压力测试安装包或性能测试安装包;压力测试安装包为预先将压力测试软件及不同测试平台下相匹配的安装环境包进行封装所得;性能测试安装包为预先将性能测试软件及不同测试平台下相匹配的安装环境包进行封装所得。
可选的,在本实施例的另一些实施方式中,上述装置还可以包括测试用例更新模块,该测试用例更新模块包括用例新增单元和参数更新单元;
用例新增单元可用于当接收到测试参数更新请求,确定测试参数更新请求对应待更新的目标测试模块;基于测试参数更新请求,通过自动化测试工具更新目标测试模块的测试参数,并利用更新后的目标测试模块覆盖目标测试模块。
参数更新单元可用于当接收到测试用例新增请求,若新增测试用例不为外设测试用例,将新增测试用例输入至自动化测试工具中;通过自动化测试工具对新增测试用例对应的操作指令进行封装,生成新测试模块。
可选的,在本实施例的其他一些实施方式中,上述装置例如还可以包括自动化测试框架构建模块,用于通过自动化测试工具将兼容性测试过程中需要执行的shell指令或python指令进行合并,并插入至自动化测试框架。
本发明实施例所述兼容性测试装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可降低兼容性测试的人力成本,提高兼容性测试效率。
上文中提到的兼容性测试装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图3为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图3所示,该电子设备包括存储器30,用于存储计算机程序;处理器31,用于执行计算机程序时实现如上述任一实施例提到的兼容性测试方法的步骤。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器31还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器30在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器30在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器30还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器30不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行漏洞处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的兼容性测试方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于兼容性测试结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏32、输入输出接口33、通信接口34或者称为网络接口、电源35以及通信总线36。其中,显示屏32、输入输出接口33比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口34可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线36可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图3中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器37。
本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可降低兼容性测试的人力成本,提高兼容性测试效率。
可以理解的是,如果上述实施例中的兼容性测试方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述兼容性测试方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种兼容性测试方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种兼容性测试方法,其特征在于,包括:
从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例;
获取基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令,各操作指令在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备中生成;
通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。
2.根据权利要求1所述的兼容性测试方法,其特征在于,所述通过调用各测试模块执行兼容性测试之后,还包括:
获取所述自动化测试工具输出的富文本形式的测试报告,同时将所述测试报告中的测试结果输出为测试报告表,日志信息输出为文件附件;
所述待测试任务为功能测试,所述测试报告包含测试结果和测试用例脚本输出内容;所述待测试任务为压力测试,所述测试报告包含测试结果以及压力测试程序运行过程中的日志信息;所述待测试任务为性能测试,所述测试报告包含测试结果以及性能测试程序运行过程中的日志信息。
3.根据权利要求1所述的兼容性测试方法,其特征在于,所述通过自动化测试工具将各操作指令封装为相应的测试模块之后,还包括:
当接收到测试参数更新请求,确定所述测试参数更新请求对应待更新的目标测试模块;
基于所述测试参数更新请求,通过所述自动化测试工具更新所述目标测试模块的测试参数,并利用更新后的目标测试模块覆盖所述目标测试模块。
4.根据权利要求1所述的兼容性测试方法,其特征在于,所述通过调用各测试模块执行兼容性测试之前,还包括:
当接收到测试用例新增请求,若新增测试用例不为外设测试用例,将所述新增测试用例输入至所述自动化测试工具中;
通过所述自动化测试工具对所述新增测试用例对应的操作指令进行封装,生成新测试模块。
5.根据权利要求1所述的兼容性测试方法,其特征在于,所述基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令,包括:
所述待测试任务为功能测试,根据所述目标测试用例所涉及到的不同功能进行分类;
基于当前功能,对所述目标测试用例进行命令编辑生成所述当前功能的操作指令。
6.根据权利要求1所述的兼容性测试方法,其特征在于,所述基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令之前,还包括:
所述待测试任务为性能测试或压力测试,判断执行所述性能测试或所述压力测试所依赖环境是否安装完毕;
若所述性能测试或所述压力测试所依赖环境没有安装,则调用相应的测试安装包执行环境安装操作;
其中,所述测试安装包为压力测试安装包或性能测试安装包;所述压力测试安装包为预先将压力测试软件及不同测试平台下相匹配的安装环境包进行封装所得;所述性能测试安装包为预先将性能测试软件及不同测试平台下相匹配的安装环境包进行封装所得。
7.根据权利要求1至6任意一项所述的兼容性测试方法,其特征在于,所述通过自动化测试工具将各操作指令封装为相应的测试模块之前,还包括:
通过所述自动化测试工具将兼容性测试过程中需要执行的shell指令或python指令进行合并,并插入至自动化测试框架。
8.一种兼容性测试装置,其特征在于,包括:
测试用例生成模块,用于从待执行兼容性测试的操作用例集中,提取使用命令行实现的操作用例,以生成目标测试用例;
操作指令生成模块,用于获取基于待测试任务对所述目标测试用例进行命令编辑后所生成的多个操作指令,各操作指令在搭载服务器操作系统且与待测试设备处于同一内外网环境的设备中生成;
测试模块,用于通过自动化测试工具将各操作指令封装为相应的测试模块,以通过调用各测试模块执行兼容性测试。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7任一项所述兼容性测试方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述兼容性测试方法的步骤。
CN202111262956.5A 2021-10-28 2021-10-28 兼容性测试方法、装置、电子设备及可读存储介质 Withdrawn CN113918465A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111262956.5A CN113918465A (zh) 2021-10-28 2021-10-28 兼容性测试方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111262956.5A CN113918465A (zh) 2021-10-28 2021-10-28 兼容性测试方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113918465A true CN113918465A (zh) 2022-01-11

Family

ID=79243362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111262956.5A Withdrawn CN113918465A (zh) 2021-10-28 2021-10-28 兼容性测试方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113918465A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454827A (zh) * 2022-08-23 2022-12-09 中科方德软件有限公司 兼容性检测方法、系统、设备和介质
CN116136825A (zh) * 2023-04-14 2023-05-19 阿里云计算有限公司 数据检测方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3333712A2 (en) * 2016-11-15 2018-06-13 Accenture Global Solutions Limited Simultaneous multi-platform testing
CN109828905A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 自动化测试方法、装置、计算机装置及存储介质
CN110471831A (zh) * 2019-06-21 2019-11-19 南京壹进制信息科技有限公司 一种兼容测试的自动化方法及装置
CN111124373A (zh) * 2019-12-26 2020-05-08 武汉精鸿电子技术有限公司 一种测试软件开发方法、装置及测试设备
CN111444111A (zh) * 2020-04-15 2020-07-24 深圳市万睿智能科技有限公司 基于python的性能测试方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3333712A2 (en) * 2016-11-15 2018-06-13 Accenture Global Solutions Limited Simultaneous multi-platform testing
CN109828905A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 自动化测试方法、装置、计算机装置及存储介质
CN110471831A (zh) * 2019-06-21 2019-11-19 南京壹进制信息科技有限公司 一种兼容测试的自动化方法及装置
CN111124373A (zh) * 2019-12-26 2020-05-08 武汉精鸿电子技术有限公司 一种测试软件开发方法、装置及测试设备
CN111444111A (zh) * 2020-04-15 2020-07-24 深圳市万睿智能科技有限公司 基于python的性能测试方法、装置、计算机设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454827A (zh) * 2022-08-23 2022-12-09 中科方德软件有限公司 兼容性检测方法、系统、设备和介质
CN115454827B (zh) * 2022-08-23 2023-08-11 中科方德软件有限公司 兼容性检测方法、系统、设备和介质
CN116136825A (zh) * 2023-04-14 2023-05-19 阿里云计算有限公司 数据检测方法及系统
CN116136825B (zh) * 2023-04-14 2023-09-19 阿里云计算有限公司 数据检测方法及系统

Similar Documents

Publication Publication Date Title
US6058493A (en) Logging and reproduction of automated test operations for computing systems
US9898387B2 (en) Development tools for logging and analyzing software bugs
JP5295269B2 (ja) コンポーネント・モデル基盤の仮想ソフトウェア・プラットホームを生成する方法、これを利用してソフトウェア・プラットホーム・アーキテクチャを検証する方法及びその装置
US20130263090A1 (en) System and method for automated testing
US9952837B1 (en) Reusable component in a modeling environment
US20080148235A1 (en) Runtime inspection of user interfaces
US7895575B2 (en) Apparatus and method for generating test driver
CN113918465A (zh) 兼容性测试方法、装置、电子设备及可读存储介质
CN113778898B (zh) 用户界面自动化测试方法、装置、电子设备及存储介质
CN112765043A (zh) 一种基于docker的自动化测试方法和装置
US20190205239A1 (en) Code update based on detection of change in runtime code during debugging
CN114116455A (zh) 一种面向开源基础组件库的集群化模糊测试方法及装置
US9176846B1 (en) Validating correctness of expression evaluation within a debugger
CN113742215A (zh) 一种自动配置和调用测试工具进行测试分析的方法及系统
KR20140088963A (ko) 애플리케이션 개발을 위한 런타임 에러 테스팅 시스템 및 방법
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
US20150121051A1 (en) Kernel functionality checker
CN108132799B (zh) 过程间静态程序分析信息提取方法、装置及设备
CN112463188B (zh) 网卡固件自动化升级方法、装置及计算机可读存储介质
US9710360B2 (en) Optimizing error parsing in an integrated development environment
CN112162921B (zh) 一种工业自动化测试与控制系统
CN115658069A (zh) 一种发布平台的项目打包和在线编译方法
CN113742252B (zh) 一种检测内存乱序的方法及装置
CN113590446A (zh) 数值文件的检测方法、装置、电子设备及存储介质
CN112765021A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220111