一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种测试软件框架搭建方法、装置、设备及存储介质与流程

2022-04-16 15:24:37 来源:中国专利 TAG:


1.本发明涉及计算机系统技术领域,特别涉及一种测试软件框架搭建方法、装置、设备及存储介质。


背景技术:

2.各种项目在评估阶段中,各个领域的工程师都有对产品进行简单的功能测试的需求,例如在光学工程师在对光学部件进行优化之后,通常需要对该产品的功能进行测试,如若此时没有客户指定的测试软件或需要同时使用多个测试软件进行协同测试时,对每个领域的工程师都是一种极大的挑战。产品的功能测试过程可以抽象为发送命令和接收结果,两个部分,但不同芯片或不同产品的具体测试方法不同。例如,客户指定软件、串口模式、adb模式等,有时同一个产品由于搭载了不同厂商的芯片或软件是由不同公司协同开发,那么就会出现在一个项目中,不同的功能需要不同的测试软件,这对每一位工程师来说,仅仅是统一软件版本就是一项工作量巨大的任务。因此,如何实现高效便捷的软件测试是目前亟需解决的问题。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种测试软件框架搭建方法、装置、设备及介质,能够实现高效便捷的软件测试。其具体方案如下:
4.第一方面,本技术公开了一种测试软件框架搭建方法,包括:
5.创建测试组件接口;所述测试组件接口用于接收用户发送的软件测试请求,并向用户发送所述软件测试请求对应的测试结果;
6.向目标数据库中添加多种目标类型的测试工具;
7.为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。
8.可选的,所述创建测试组件接口,包括:
9.创建一个通用的测试组件接口,并定义所述测试组件接口的输入格式和输出格式,以便按照所述输出格式向用户发送所述软件测试请求对应的测试结果。
10.可选的,所述创建测试组件接口,包括:
11.利用python的tkinter库进行用户界面设计,以便通过设计的用户界面和所述测试组件接口获取用户发送的软件测试请求,并通过所述用户界面和所述测试组件接口展示所述软件测试请求对应的测试结果。
12.可选的,所述测试软件框架搭建方法,还包括:
13.分别对所述用户界面、所述测试组件和所述测试工具进行相应的日志上报配置,以便在所述测试软件框架运行过程中获取所述用户界面、所述测试组件和所述测试工具的运行日志。
14.可选的,所述向目标数据库中添加多种目标类型的测试工具,包括:
15.获取用户所有待测试项目的参数信息,并根据所述参数信息确定出每个所述待测试项目对应的目标类型的测试工具;
16.将所述测试工具添加到所述测试软件框架对应的目标数据库中。
17.可选的,所述为每种类型的所述测试工具创建对应的测试组件,包括:
18.根据所述测试工具的逻辑特征,为每个所述测试工具定义调用该测试工具的命令发送方式;
19.基于所述命令发送方式生成对应的所述测试组件,并根据所述待测试项目的名称和所述待测试项目对应的测试工具,创建待测试项名称与对应的测试组件的第一映射关系,以及所述测试组件与对应的所述测试工具的第二映射关系。
20.可选的,所述利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,包括:
21.提取所述软件测试请求中包含的待测试项名称;
22.根据所述待测试项名称通过查询所述第一映射关系和所述第二映射关系,确定出所述软件测试请求对应的目标测试组件和目标测试工具;
23.利用所述目标测试组件生成对应的调用命令发送给所述目标测试工具。
24.第二方面,本技术公开了一种测试软件框架搭建装置,包括:
25.接口创建模块,用于创建测试组件接口;所述测试组件接口用于接收用户发送的软件测试请求,并向用户发送所述软件测试请求对应的测试结果;
26.测试工具添加模块,用于向目标数据库中添加多种目标类型的测试工具;
27.测试组件创建模块,用于为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。
28.第三方面,本技术公开了一种电子设备,包括:
29.存储器,用于保存计算机程序;
30.处理器,用于执行所述计算机程序,以实现前述的测试软件框架搭建方法。
31.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的测试软件框架搭建方法。
32.本技术中,创建测试组件接口;所述测试组件接口用于接收用户发送的软件测试请求,并向用户发送所述软件测试请求对应的测试结果;向目标数据库中添加多种目标类型的测试工具;为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。由上可见,通过创建测试组件接口统一接收用户发送的软件测试请求,然后利用测试组件生成该软件测试请求对应的调用命令,以便利用该调用命令调用需要进行测试的项目对应的测试工具,实现对测试项目的测试;通过测试组件接口统一接收用户发送的软件测试请求,可以屏蔽各类型测试软件之间的差异,向用户提供一个统一的测试软件,在使用者眼中测试软件天然是一体的,提高了用户进行软件测试的便捷性。并且,通过创建测试工具对应的测试组件即可实现对各类测试工具的调用,为软件工程师提供一个易于管理和扩展的设计框架,简化了不同领域间的沟通成本和时间成本,
实现了高效便捷的软件测试。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
34.图1为本技术提供的一种测试软件框架搭建方法流程图;
35.图2为本技术提供的一种具体的tkinter库界面示意图;
36.图3为本技术提供的一种具体的测试软件运行时序图;
37.图4为本技术提供的一种具体的测试软件框架结构图;
38.图5为本技术提供的一种测试软件框架搭建装置结构示意图;
39.图6为本技术提供的一种电子设备结构图。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.现有技术中,测试工程师进行项目测试时对不同的功能需要寻找不同的测试软件进行测试,降低了测试的效率。为克服上述技术问题,本技术提出一种测试软件框架搭建方法,能够实现高效便捷的软件测试。
42.本技术实施例公开了一种测试软件框架搭建方法,参见图1所示,该方法可以包括以下步骤:
43.步骤s11:创建测试组件接口;所述测试组件接口用于接收用户发送的软件测试请求,并向用户发送所述软件测试请求对应的测试结果。
44.本实施例中,测试软件框架搭建具体是基于python进行的测试软件框架搭建,python作为一种弱类型、解释性高级编程语言,对初学者要求低,而且具有很好的跨平台性,且开发周期短;使用面向对象的模块化开发方法,在加上python弱类型的特性,使得python与各种脚本软件(*.exe、*.bat、*.sh等)具有非常好的亲和性。由于python可以直接调用其他软件或脚本,因此基于python设计一个通用的测试组件接口,上述测试组件接口的输入为用户发送的软件测试请求,输出为软件测试请求对应的测试结果。
45.本实施例中,所述创建测试组件接口,可以包括:创建一个通用的测试组件接口,并定义所述测试组件接口的输入格式和输出格式,以便按照所述输出格式向用户发送所述软件测试请求对应的测试结果。具体的,上述测试组件接口的输入格式可以定义为待测试项目的名称,输出返回值为测试的结果。输出格式在不进行配置时默认输出字符串,通过对输出格式的配置可以实现相应返回值形式的输出,例如,定义输出格式为数量值,则可以根据预设阈值获取相应的目标数量值作为测试结果输出,或定义输出格式为状态参数参数,则提取测试结果数据中的状态参数作为测试结果输出。
46.本实施例中,所述创建测试组件接口,可以包括:利用python的tkinter库进行用户界面设计,以便通过设计的用户界面和所述测试组件接口获取用户发送的软件测试请求,并通过所述用户界面和所述测试组件接口展示所述软件测试请求对应的测试结果。即用户界面(ui)主要使用python自带内置库tkinter库进行开发,该软件库具有轻量级和良好的跨平台性的特点,软件库界面如图2所示,通过设计该用户界面结合上述测试组件接口,实现用户发送的软件测试请求的获取以及测试结果的展示。即测试组件通过返回值的方式,通过接口定义的返回值形式向测试框架发送测试结果信息,测试框架通过ui来展示测试结果,形成一个测试闭环,具体的返回值格式可以通过重构该组件接口以及ui界面,实现丰富的多种类型的信息展示。
47.步骤s12:向目标数据库中添加多种目标类型的测试工具。
48.本实施例中,向测试软件框架对应的目标数据库中添加多种目标类型的测试工具,即将现有的针对不同功能测试的测试工具添加到测试软件框架的目标数据库中。具体的,可以是将测试工具整个添加到数据库中,也可以是仅仅将测试工具的网址添加到数据库中,即测试工具后续可以是本地调用也可以是线上调用。
49.本实施例中,所述向目标数据库中添加多种目标类型的测试工具,可以包括:获取用户所有待测试项目的参数信息,并根据所述参数信息确定出每个所述待测试项目对应的目标类型的测试工具;将所述测试工具添加到所述测试软件框架对应的目标数据库中。即具体可以首先通过获取用户待测试项目的参数信息,根据上述参数信息确定出每个待测试项目对应的目标类型的测试工具,其中一个待测试项目可以对应一个测试工具也可以对应多个测试工具,确定出测试工具后将将这些测试工具添加到测试软件框架对应的目标数据库中。
50.步骤s13:为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。
51.本实施例中,可以理解的是,测试过程的本质就是发送命令、接收结果、分析结果,测试软件框架要做的是知道发送的命令以及最后的结果,但由于命令的发送方式具有个性化的特点,调用不同测试工具所需的调用命令不同,因此为每种类型的测试工具创建对应的测试组件,各个测试组件根据对应的测试工具的自身需求,个性化的设计自身内部的业务逻辑。将版本管理、测试脚本的开发与维护以及环境配置等具体维护工作交由专业的软件工程师,软件的具体维护与使用者相互隔离,并且,利用python作为解释性编程语言和弱类型编程语言的特点,将测试软件模块化,以适应不同项目中对测试软件的需求。
52.本实施例中,所述为每种类型的所述测试工具创建对应的测试组件,可以包括:根据所述测试工具的逻辑特征,为每个所述测试工具定义调用该测试工具的命令发送方式;基于所述命令发送方式生成对应的所述测试组件,并根据所述待测试项目的名称和所述待测试项目对应的测试工具,创建待测试项名称与对应的测试组件的第一映射关系,以及所述测试组件与对应的所述测试工具的第二映射关系。即为了实现在接收到用户的软件测试请求后,能够调用该软件测试请求对应的测试组件,进而实现相应的测试工具的调用,需要建立待测试项名称与对应的测试组件的第一映射关系,以及测试组件与对应的测试工具的第二映射关系。通过配置测试组件的方式来实现对不同测试工具的动态扩展,可以在不需
要重新编译的情况下直接完成对测试工具的扩展。
53.本实施例中,所述利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,可以包括:提取所述软件测试请求中包含的待测试项名称;根据所述待测试项名称通过查询所述第一映射关系和所述第二映射关系,确定出所述软件测试请求对应的目标测试组件和目标测试工具;利用所述目标测试组件生成对应的调用命令发送给所述目标测试工具。如图3所示的测试软件运行时序图所示,用户通过用户界面和测试组件接口向测试组件库发送软件测试请求,测试组件库根据测试软件请求查询映射关系以调用对应的目标测试组件生成调用命令,然后将调用命令发送给相应的个性化测试工具,测试工具生成测试结果后反馈给测试组件库,由测试组件库通过用户界面和软件测试接口向用户展示测试结果。
54.本实施例中,所述测试软件框架搭建方法,还可以包括:分别对所述用户界面、所述测试组件和所述测试工具进行相应的日志上报配置,以便在所述测试软件框架运行过程中获取所述用户界面、所述测试组件和所述测试工具的运行日志。即如图3所示,日志记录用户界面、测试组件和测试工具的运行情况,并通过用户界面将记录的日志展示给用户。
55.进一步,图4所示为本实施例中测试软件框架的结构,包括前端ui、展示层、业务层、数据层、数据库和运行环境6个部分,前端ui为基于tkinter设计的用户界面,展示层用户进行界面交互,业务层进行测试组件管理、系统设置等业务,数据层执行数据读写,数据库中用于存储包括测试工具在在内的数据,运行环境包括但不限于windows和linux环境。
56.由上可见,本实施例中创建测试组件接口;所述测试组件接口用于接收用户发送的软件测试请求,并向用户发送所述软件测试请求对应的测试结果;向目标数据库中添加多种目标类型的测试工具;为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。由上可见,通过创建测试组件接口统一接收用户发送的软件测试请求,然后利用测试组件生成该软件测试请求对应的调用命令,以便利用该调用命令调用需要进行测试的项目对应的测试工具,实现对测试项目的测试;通过测试组件接口统一接收用户发送的软件测试请求,可以屏蔽各类型测试软件之间的差异,向用户提供一个统一的测试软件,在使用者眼中测试软件天然是一体的,提高了用户进行软件测试的便捷性。并且,通过创建测试工具对应的测试组件即可实现对各类测试工具的调用,为软件工程师提供一个易于管理和扩展的设计框架,简化了不同领域间的沟通成本和时间成本。
57.相应的,本技术实施例还公开了一种测试软件框架搭建装置,参见图5所示,该装置包括:
58.接口创建模块11,用于创建测试组件接口;所述测试组件接口用于接收用户发送的软件测试请求,并向用户发送所述软件测试请求对应的测试结果;
59.测试工具添加模块12,用于向目标数据库中添加多种目标类型的测试工具;
60.测试组件创建模块13,用于为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。
61.由上可见,本实施例中创建测试组件接口;所述测试组件接口用于接收用户发送
的软件测试请求,并向用户发送所述软件测试请求对应的测试结果;向目标数据库中添加多种目标类型的测试工具;为每种类型的所述测试工具创建对应的测试组件,以利用所述测试组件根据所述软件测试请求生成对应的所述测试工具的调用命令,以便所述测试工具通过运行软件测试生成对应的所述测试结果。由上可见,通过创建测试组件接口统一接收用户发送的软件测试请求,然后利用测试组件生成该软件测试请求对应的调用命令,以便利用该调用命令调用需要进行测试的项目对应的测试工具,实现对测试项目的测试;通过测试组件接口统一接收用户发送的软件测试请求,可以屏蔽各类型测试软件之间的差异,向用户提供一个统一的测试软件,在使用者眼中测试软件天然是一体的,提高了用户进行软件测试的便捷性。并且,通过创建测试工具对应的测试组件即可实现对各类测试工具的调用,为软件工程师提供一个易于管理和扩展的设计框架,简化了不同领域间的沟通成本和时间成本。
62.在一些具体实施例中,所述接口创建模块11具体可以用于创建一个通用的测试组件接口,并定义所述测试组件接口的输入格式和输出格式,以便按照所述输出格式向用户发送所述软件测试请求对应的测试结果。
63.在一些具体实施例中,所述测试软件框架搭建装置具体可以包括:
64.用户界面设计单元,用于利用python的tkinter库进行用户界面设计,以便通过设计的用户界面和所述测试组件接口获取用户发送的软件测试请求,并通过所述用户界面和所述测试组件接口展示所述软件测试请求对应的测试结果。
65.在一些具体实施例中,所述测试软件框架搭建装置具体可以包括:
66.日志上报配置单元,用于分别对所述用户界面、所述测试组件和所述测试工具进行相应的日志上报配置,以便在所述测试软件框架运行过程中获取所述用户界面、所述测试组件和所述测试工具的运行日志。
67.在一些具体实施例中,所述测试工具添加模块12具体可以包括:
68.测试工具确定单元,用于获取用户所有待测试项目的参数信息,并根据所述参数信息确定出每个所述待测试项目对应的目标类型的测试工具;
69.测试工具添加单元,用于将所述测试工具添加到所述测试软件框架对应的目标数据库中。
70.在一些具体实施例中,所述测试组件创建模块13具体可以包括:
71.命令发送方式定义单元,用于根据所述测试工具的逻辑特征,为每个所述测试工具定义调用该测试工具的命令发送方式;
72.映射关系创建单元,用于基于所述命令发送方式生成对应的所述测试组件,并根据所述待测试项目的名称和所述待测试项目对应的测试工具,创建待测试项名称与对应的测试组件的第一映射关系,以及所述测试组件与对应的所述测试工具的第二映射关系。
73.在一些具体实施例中,所述测试组件用于提取所述软件测试请求中包含的待测试项名称;根据所述待测试项名称通过查询所述第一映射关系和所述第二映射关系,确定出所述软件测试请求对应的目标测试组件和目标测试工具;利用所述目标测试组件生成对应的调用命令发送给所述目标测试工具。
74.进一步的,本技术实施例还公开了一种电子设备,参见图6所示,图中的内容不能被认为是对本技术的使用范围的任何限制。
75.图6为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的测试软件框架搭建方法中的相关步骤。
76.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
77.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括测试组件在内的数据223等,存储方式可以是短暂存储或者永久存储。
78.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的测试软件框架搭建方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
79.进一步的,本技术实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的测试软件框架搭建方法步骤。
80.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
81.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
82.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
83.以上对本发明所提供的一种测试软件框架搭建方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不
应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献