CN115269384A - 集成测试方法、系统、电子设备及存储介质 - Google Patents
集成测试方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115269384A CN115269384A CN202210772637.7A CN202210772637A CN115269384A CN 115269384 A CN115269384 A CN 115269384A CN 202210772637 A CN202210772637 A CN 202210772637A CN 115269384 A CN115269384 A CN 115269384A
- Authority
- CN
- China
- Prior art keywords
- software
- test
- tested
- functional module
- configuration file
- 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
Links
Images
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
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
技术领域
本发明涉及自动化测试技术领域,尤其涉及一种集成测试方法、系统、电子设备及存储介质。
背景技术
当前处于敏捷开发的时代,软件版本发布频繁,模块化编程成为常用的一种软件设计技术。在模块化编程中,强调将程序的功能分为独立的且可互换的模块,每个模块都包含执行所需功能的一个方面所必需的一切。对于软件模块的测试,不仅要测试其内部的所有功能,还要测试其外部接口,以测试其针对不同软件或场景的适配性。
在城市轨道交通信号系统领域,一个软件模块可能应用于多个不同的软件和不同的运营线路中。现有的测试方式是将软件模块集成在多个不同的软件进行测试,对于软件模块的内部逻辑和实现功能在多个软件中分别进行一一代码编写和测试执行,需要针对每一软件重复编写测试脚本,产生了大量重复性工作,导致测试脚本的复用率不高,降低了软件集成测试的效率。
发明内容
本发明提供一种集成测试方法、系统、电子设备及存储介质,用以解决现有技术中测试脚本的复用率不高,软件集成测试的效率低的缺陷,实现便捷高效地进行软件集成测试。
本发明提供一种集成测试方法,包括:
根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;
根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;
根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;
执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
根据本发明提供的一种集成测试方法,所述根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本,包括:
根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例;
根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数;
根据所述测试函数和所述集成测试用例,生成所述第一测试脚本。
根据本发明提供的一种集成测试方法,所述根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例,包括:
根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,确定所述待测试功能模块的测试需求;
根据所述待测试功能模块的测试需求,采用用例设计方法,生成所述待测试功能模块的集成测试用例;其中,所述用例设计方法包括功能法、等价类划分法、边界值分析法和错误猜测法中的一种或多种组合。
根据本发明提供的一种集成测试方法,所述根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数,包括:
根据所述待测试功能模块的入口函数、程序出口和全局变量,确定所述待测试功能模块的测试位置;
根据所述测试位置,确定所述待测试功能模块的集成测试策略;
根据所述集成测试策略,生成所述测试函数。
根据本发明提供的一种集成测试方法,在所述根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息之前,所述方法包括:
根据所述每一软件的数据配置文件的标识,获取所述每一软件的数据配置文件的第一存储地址,根据所述每一软件对应的运营场景的数据配置文件的标识,获取所述每一软件对应的运营场景的数据配置文件的第二存储地址;
在所述第一存储地址对应的内存空间中查找所述每一软件的数据配置文件,在所述第二存储地址对应的内存空间中查找所述每一软件对应的运营场景的数据配置文件。
根据本发明提供的一种集成测试方法,所述方法还包括:
响应于修改请求,从所述修改请求中解析出数据配置文件标识和修改策略;
根据所述修改策略,对数据配置文件标识对应的数据配置文件进行修改。
本发明还提供一种集成测试系统,包括:
生成模块,用于根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;
提取模块,用于根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;
配置模块,用于根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;
测试模块,用于执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述集成测试方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述集成测试方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述集成测试方法。
本发明提供的集成测试方法、系统、电子设备及存储介质,通过根据待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量,可自动生成待测试功能模块的通用于多个软件和多个运营场景的第一测试脚本,然后,在测试不同软件场景和不同软件对应的运营场景的情况下,只需提取每一软件对应的配置信息,对第一测试脚本进行配置,即可便捷准确地获取每一软件对应的第二测试脚本;然后,同步执行多个软件对应的第二测试脚本,即可有效模拟待测试功能模块在多个软件和多个运营场景下的实际运行情况,避免针对每一软件或每一运营场景重复编写代码和测试,有效提高集成测试的效率、质量和实时性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的集成测试方法的流程示意图之一;
图2是本发明提供的集成测试方法的流程示意图之二;
图3是本发明提供的集成测试系统的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图2描述本申请实施例的集成测试方法,该方法可适用于轨道交通信号系统中各软件内部的嵌入式功能模块。
现有的软件集成测试方法,是将可被多个软件共用的功能模块分别集成在多个软件中,对于软件模块的内部逻辑和实现功能在多个软件中分别进行一一代码编写和测试执行,产生了大量重复性工作,导致测试脚本的复用率不高,降低了软件集成测试的效率。
为了解决上述问题,本申请实施例提供了一种集成测试方法,该方法适用于轨道交通信号系统软件集成测试技术领域。该方法具体包括:根据待测试功能模块对应的软件设计说明书和运营场景的场景文件,以及待测试功能模块的程序接口和全局变量,设计通用测试脚本;根据待测试功能模块接入的软件的数据配置文件以及软件对应的运营场景的数据配置文件生成特定运营场景下的测试数据;通过测试数据驱动动态测试工具进行软件模块的测试执行,根据代码覆盖率、函数调用时序验证功能的正确性和完整性,满足铁路行业的特定需求量身定制的功能安全标准EN50128中对软件集成测试的要求。本申请实施例通过主需要从数据配置文件中提取相应的配置信息对通用测试脚本进行配置,即可有效模拟多种软件的运行场景和多种软件对应的运营场景,需要重复针对每一软件或每一运营场景编写代码,提高了软件集成测试的效率和测试质量,降低了后续对测试脚本集的维护成本。同时,该方法仅在代码层面实现,不需要硬件调试环境,可以在复现运营现场问题的同时,实现缺陷问题的快速定位。
如图1所示,为本实施例中集成测试方法的流程示意图之一,该方法包括如下步骤:
步骤101,根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;
其中,待测试功能模块为城市轨道交通系统中待进行集成测试的功能模块,如测速模块或定位功能模块等其他嵌入式功能模块。
待测试功能模块中包含多个子功能模块,其可接入在多个软件中,以实现多个软件内部的功能逻辑。
需要说明的是,在测试过程中,可对待测试功能模块中的多个子功能模块进行联合测试,以获取待测试功能模块的集成测试结果。
软件设计说明文件用于描述软件的功能设计。
场景文件用于描述每一软件对应的一个或多个运营场景,如单线线路或双线线路等。
入口函数即为程序入口处的函数。
可选地,在需要对待测试功能模块进行软件集成测试时,可以首先获取待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量;
然后,联合待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量,获取待测试功能模块的测试需求和/或测试策略,进而根据测试需求和/或测试策略,设计生成待测试功能模块的第一测试脚本。其中,第一测试脚本,为可适用于多个软件和多个软件对应的多个运营场景的通用测试脚本。
步骤102,根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;
其中,每一软件的数据配置文件和每一软件对应的运营场景的数据配置文件可以是从在软件运行过程中实时提取的,也可以是根据数据配置文件的设置模块,进行预先设置,本实施例对此不做具体地限定。数据配置文件包括阈值信息、控车方式、测量方案选择、零速门限值、速传数据的数量
可选地,根据待测试功能模块的测试需求,可以确定待测试功能模块测试所需的数据;
在获取到待测试功能模块测试所需的数据后,可以从每一软件的数据配置文件和每一软件对应的运营场景的数据配置文件中抽取出待测试功能模块测试所需的数据,将抽取出来的数据作为每一软件对应的配置信息;其中,配置信息包括但不限于阈值信息、控车方式、测量方案选择。
步骤103,根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;
可选地,在获取到每一软件对应的配置信息后,可以根据每一软件对应的配置信息对第一测试脚本进行配置,以获取每一软件对应的待测试功能模块的第二测试脚本,进而使得第二测试脚本中包含每一软件的个性化配置信息和每一软件对应的运营场景的个性化配置信息。
步骤104,执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
可选地,在获取到多个软件对应的第二测试脚本后,可以一键同步执行多个软件对应的第二测试脚本,进而模拟待测试功能模块在多个软件或多个软件对应的运营场景下的运行情况,进而得到待测试功能模块的集成测试结果。
例如,可以通过软件动态测试工具加载站场数据表中的数据,例如,可以设计数据提取函数,提取每一软件对应的配置信息,并将配置信息导入软件动态测试工具中,由软件动态测试工具执行多个软件对应的第二测试脚本,得到实际测试输出数据。
然后,将每一个软件对应的实际测试输出数据与期望测试输出数据进行比较,在每一个软件对应的实际测试输出数据与期望测试输出数据均一致的情况下,确定待测试功能模块通过集成测试;在任一软件对应的实际测试输出数据与期望测试输出数据不一致的情况下,确定待测试功能模块未通过集成测试,并定位和显示该软件对应的第二测试脚本的代码缺陷,以便对其进行修复。进而,可以基于软件动态测试工具模拟实际的运营场景,在代码层面自动实现待测试功能模块在多软件下和多运营场景下的集成测试,无需构建硬件调试环境,同时便于后续用户复现运营现场问题并定位缺陷。
本实施例中,根据待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量,可自动生成待测试功能模块的通用于多个软件和多个运营场景的第一测试脚本,然后,在测试不同软件场景和不同软件对应的运营场景的情况下,只需提取每一软件对应的配置信息,对第一测试脚本进行配置,即可便捷准确地获取每一软件对应的第二测试脚本;然后,同步执行多个软件对应的第二测试脚本,即可有效模拟待测试功能模块在多个软件和多个运营场景下的实际运行情况,避免针对每一软件或每一运营场景重复编写代码和测试,有效提高集成测试的效率、质量和实时性。
在一些实施例中,步骤101中所述根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本,包括:根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例;根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数;根据所述测试函数和所述集成测试用例,生成所述第一测试脚本。
可选地,步骤101中生成第一测试脚本的具体步骤包括:
首先,采用用例设计方法,针对多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,编制生成待测试功能模块的集成测试用例;集成测试用例用于模拟实际的运营场景来测试轨道交通系统软件中待测试功能模块的功能和其外部接口。
其中,集成测试用例中包括测试用例编号、测试用例名称、输入数据和预期结果,本实施例对此不做具体地限定,用于对待测试功能模块的测试任务进行描述。
并且,根据待测试功能模块的入口函数、程序出口和全局变量,生成用于验证待测试功能模块的功能和性能的测试函数;
然后,联合测试函数和集成测试用例,生成第一测试脚本。
本实施例根据多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,自动生成待测试功能模块的集成测试用例,并根据待测试功能模块的入口函数、程序出口和全局变量,自动生成待测试功能模块的测试函数,进而根据待测试功能模块的集成测试用例和测试函数,生成可适用于多种软件场景和多个运营场景的通用测试脚本,以实现发现待测试功能模块在不同场景下共性问题,进而在测试待测试功能模块在不同软件和不同运营场景下的功能和接口时,只需根据不同软件和对应运营场景下的数据配置文件,即可得到不同软件对应的第二测试脚本,有效测试脚本的复用性,且后期维护仅仅对通用测试脚本进行维护即可,提高了软件集成测试的效率和测试质量,降低了后续对测试脚本集的维护成本。
在一些实施例中,步骤101中所述根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例,包括:
根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,确定所述待测试功能模块的测试需求;
根据所述待测试功能模块的测试需求,采用用例设计方法,生成所述待测试功能模块的集成测试用例;其中,所述用例设计方法包括功能法、等价类划分法、边界值分析法和错误猜测法中的一种或多种组合。
其中,用例设计方法包括但不限于黑盒测试相关的用例设计方法和灰盒测试相关的用例设计方法,具体包括功能法、等价类划分法、边界值分析法、错误猜测法等用例设计方法。
可选地,生成待测试功能模块的集成测试用例的具体步骤包括:
首先,对多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件进行联合分析,以根据联合分析结果,确定待测试功能模块的测试需求。
然后,根据待测试功能模块的测试需求,采用功能法、等价类划分法、边界值分析法、错误猜测法等编制软件集成测试用例。
本实施例根据多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,自动确定待测试功能模块的测试需求,并根据待测试功能模块的测试需求,快速准确地设计的待测试功能模块的测试用例,以实现获取的测试用例可完整覆盖待测试功能模块的多种测试场景,提高待测试功能模块的集成测试的效率和测试质量。
在一些实施例中,步骤101中所述根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数,包括:
根据所述待测试功能模块的入口函数、程序出口和全局变量,确定所述待测试功能模块的测试位置;
根据所述测试位置,确定所述待测试功能模块的集成测试策略;
根据所述集成测试策略,生成所述测试函数。
其中,测试位置包括测试验证的位置,以及测试结果的生成位置和输出位置;
不同测试位置具有不同的集成测试策略。
可选地,生成待测试功能模块的测试函数的具体步骤包括:
首先,在获取到待测试功能模块的入口函数、程序出口和全局变量之后,可以根据待测试功能模块的入口函数、程序出口和全局变量,获取待测试功能模块的测试位置;
然后,确定待测试功能模块的测试位置对应的集成测试策略,进而根据测试集成测试策略,生成待测试功能模块的测试函数序列。
本实例中根据待测试功能模块的入口函数、程序出口和全局变量,确定待测试功能模块的测试位置,进而根据测试位置得到相应的集成测试策略,以根据集成测试策略自动生成测试函数序列,从而基于测试函数序列执行软件集成测试,提高软件集成测试效率。
在上述实施例的基础上,在步骤102中所述根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息之前,所述方法包括:
根据所述每一软件的数据配置文件的标识,获取所述每一软件的数据配置文件的第一存储地址,根据所述每一软件对应的运营场景的数据配置文件的标识,获取所述每一软件对应的运营场景的数据配置文件的第二存储地址;
在所述第一存储地址对应的内存空间中查找所述每一软件的数据配置文件,在所述第二存储地址对应的内存空间中查找所述每一软件对应的运营场景的数据配置文件。
每一数据配置文件具有唯一的标识。
每一存储地址对应唯一的内存空间。
每一标识与每一存储地址一一对应。
其中,每一软件的数据配置文件和每一软件对应的运营场景的数据配置文件预先存储在相应的内存空间中。
可选地,在提取每一软件对应的配置信息之前,需要先查找到每一软件对应的数据配置文件和每一软件对应的运营场景的数据配置文件,进而从每一软件对应的数据配置文件和每一软件对应的运营场景的数据配置文件中加载获取每一软件对应的配置信息。查找每一软件对应的数据配置文件和每一软件对应的运营场景的数据配置文件的具体步骤包括:
首先,根据每一软件的数据配置文件的标识,在标识与数据配置文件存储地址的映射关系中,查找每一软件的数据配置文件的标识对应的第一存储地址,根据每一软件对应的运营场景的数据配置文件的标识,在映射关系中,查找每一软件对应的运营场景的数据配置文件的第二存储地址。
在查找到第一存储地址和第二存储地址的情况下,在第一存储地址对应的内存空间中查找每一软件的数据配置文件,以基于数据提取函数,从每一软件的数据配置文件提取出待测试功能模块的测试所需的配置信息;在第二存储地址对应的内存空间中查找每一软件对应的运营场景的数据配置文件,以基于数据提取函数,从每一软件对应的运营场景的数据配置文件提取出待测试功能模块的测试所需的配置信息。
本实施例中,根据配置文件标识,即可便捷快速查找每一软件的数据配置文件,以及每一软件对应的运营场景的数据配置文件,进而快速加载获取每一软件对应的配置信息,以根据配置信息配置生成每一软件对应的第二测试脚本,进而提高集成测试的效率。
在一些实施例中,所述方法还包括:
响应于修改请求,从所述修改请求中解析出数据配置文件标识和修改策略;
根据所述修改策略,对数据配置文件标识对应的数据配置文件进行修改。
其中,修改请求为对数据配置文件进行修改的请求;修改请求中包括数据配置文件标识和修改策略。修改策略包括新增、删除或替换,本实施例对此不做具体地限定。
每一数据配置文件具有唯一的数据配置文件标识。
可选地,在接收到对数据配置文件进行修改的修改请求时,先从修改请求中解析出数据配置文件标识和修改策略;
根据数据配置文件标识,确定待修改数据配置文件;其中,待修改数据配置文件可以是软件的数据配置文件,也可以是运营场景的数据配置文件,本实施例对此不做具体地限定。
然后,根据修改策略,对待修改数据配置文件进行新增、删除或替换等配置修改,后续可根据修改后的数据配置文件,获取相应的配置信息,根据配置信息对第一测试脚本进行重新配置,即可实现针对不同测试场景对待测试功能模块进行测试,增加了第一测试脚本的可复用性,并且能够有效模拟待测试功能模块的真实测试场景,并验证了不同软件下和不同运营场景下的待测试功能模块的适配性,有效验证功能实现的正确性和充分性,提高了测试效率以及降低了测试脚本集的维护成本。
以下以城市轨道交通测试中测速模块,测试速传断线检测功能为例,对本实施例中的集成测试方法进行具体描述。
其中,单路速度传感器断线功能的简述为:当使用算法进行测速时,两通道的测量速度差值大于断线故障检测门限,且持续断线故障检测时间门限时,判断本路速度传感器断线。
如图2所示,为集成测试方法的流程示意图之二,具体步骤包括:
步骤201,集成测试用例生成,具体包括:根据多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,采用功能法、等价类划分法、边界值分析法、错误猜测法等编制软件集成测试用例。
其中,测速模块对应的软件集成测试用例可以如下所示:
测试用例编号:IT_SDU_OutLineCheck_0001。
测试用例名称:速度传感器的两通道FPM(Finite Point Method,有限点)算法测量速度差值大于断线故障检测门限,且持续时间达到设定的断线故障检测时间门限,则认为本路的速度传感器发生断线故障。
输入:速度传感器的两通道FPM算法测量速度、速度传感器的两通道的QD(Quotienten-Differenzen–Algorithmus,商差算法)速度、融合速度,以及断线故障检测门限、断线故障检测时间门限。
预期结果:本路速度传感器发生断线故障,本路速度传感器测速单元输出无效速度,且本路速度传感器工作状态置为故障,故障状态重启前不能恢复。
步骤202,第一测试脚本建立,具体包括:根据待测试功能模块的入口函数、程序出口和全局变量,确定软件集成测试策略,根据软件集成测试策略,生成测试函数序列;并根据测试函数序列和集成测试用例,生成第一测试脚本。
步骤203,配置信息提取,具体包括:设计数据提取函数,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息。
具体提取方式包括根据数据配置文件的存储地址提取待测试功能模块测试所需的配置信息。
配置信息的内容包括但人工配置数据,如断线故障检测门限、断线故障检测时间门限;以及软件运行过程中的配置数据,如速度传感器的两通道FPM算法测量速度、速度传感器的两通道的QD速度、融合速度、速度差大于断线检测门限时持续时间。
步骤204,配置信息导入,具体包括:通过软件动态测试工具,如VisualUnit(单元测试)工具加载配置信息,然后将配置信息对应的软件集成测试用例的测试输入数据导入软件动态测试工具,
步骤205,测试执行,具体一键执行软件动态测试工具,以基于软件动态测试工具执行多个软件对应的第二测试脚本,进而获取测试结果。
步骤206,测试结果分析,具体包括:查看软件动态测试工具的真实测试输出,根据真实测试输出与预期测试输出进行比较,得到测试结论,即确定待测试功能模块是否通过测试,并在待测试功能模块未通过测试的情况下,定位测试脚本的代码问题。
综上,本实施例提供的集成测试方法,根据软件设计说明文件以及运营场景的场景文件、待测试功能模块的入口函数、程序出口和全局变量建立测试脚本集,通过提取不同软件对应的配置信息进行导入测试脚本集的方式,测试不同软件和不同运营场景下的待测试功能模块的功能和接口,增加了测试脚本可复用性,有效地模拟了待测试功能模块在实际运营场景下的测试过程,在发现待测试功能模块在不同运营场景下共性问题的同时,也可观察到在不同运营场景下的特性问题,提高了软件集成测试的效率和测试质量,且测试不同运营场景下的待测试功能模块的功能和接口,只需获取相应的配置文件即可,降低了后续对测试脚本集的维护成本。
下面对本发明提供的集成测试装置进行描述,下文描述的集成测试装置与上文描述的集成测试方法可相互对应参照。
如图3所示,本实施例提供一种集成测试系统,该系统包括生成模块301、提取模块302、配置模块303和测试模块304,其中:
生成模块301用于根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;
可选地,在需要对待测试功能模块进行软件集成测试时,可以首先获取待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量;
然后,联合待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量,获取待测试功能模块的测试需求和/或测试策略,进而根据测试需求和/或测试策略,设计生成待测试功能模块的第一测试脚本。其中,第一测试脚本,为可适用于多个软件和多个软件对应的多个运营场景的通用测试脚本。
提取模块302用于根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;
可选地,根据待测试功能模块的测试需求,可以确定待测试功能模块测试所需的数据;
在获取到待测试功能模块测试所需的数据后,可以从每一软件的数据配置文件和每一软件对应的运营场景的数据配置文件中抽取出待测试功能模块测试所需的数据,将抽取出来的数据作为每一软件对应的配置信息。
配置模块303用于根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;
可选地,在获取到每一软件对应的配置信息后,可以根据每一软件对应的配置信息对第一测试脚本进行配置,以获取每一软件对应的待测试功能模块的第二测试脚本,进而使得第二测试脚本中包含每一软件的个性化配置信息和每一软件对应的运营场景的个性化配置信息。
测试模块304用于执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
可选地,在获取到多个软件对应的第二测试脚本后,可以一键同步执行多个软件对应的第二测试脚本,进而模拟待测试功能模块在多个软件或多个软件对应的运营场景下的运行情况,进而得到待测试功能模块的集成测试结果。
本实施例中,根据待测试功能模块接入的多个软件的软件设计说明文件和多个软件对应的运营场景的场景文件,以及待测试功能模块的入口函数、程序出口和全局变量,可自动生成待测试功能模块的通用于多个软件和多个运营场景的第一测试脚本,然后,在测试不同软件场景和不同软件对应的运营场景的情况下,只需提取每一软件对应的配置信息,对第一测试脚本进行配置,即可便捷准确地获取每一软件对应的第二测试脚本;然后,同步执行多个软件对应的第二测试脚本,即可有效模拟待测试功能模块在多个软件和多个运营场景下的实际运行情况,避免针对每一软件或每一运营场景重复编写代码和测试,有效提高集成测试的效率、质量和实时性。
在一些实施例中,生成模块具体用于:根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例;
根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数;
根据所述测试函数和所述集成测试用例,生成所述第一测试脚本。
在一些实施例中,生成模块还用于:根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,确定所述待测试功能模块的测试需求;
根据所述待测试功能模块的测试需求,采用用例设计方法,生成所述待测试功能模块的集成测试用例;其中,所述用例设计方法包括功能法、等价类划分法、边界值分析法和错误猜测法中的一种或多种组合。
在一些实施例中,生成模块还用于:根据所述待测试功能模块的入口函数、程序出口和全局变量,确定所述待测试功能模块的测试位置;
根据所述测试位置,确定所述待测试功能模块的集成测试策略;
根据所述集成测试策略,生成所述测试函数。
在一些实施例中,还包括查找模块,用于:根据所述每一软件的数据配置文件的标识,获取所述每一软件的数据配置文件的第一存储地址,根据所述每一软件对应的运营场景的数据配置文件的标识,获取所述每一软件对应的运营场景的数据配置文件的第二存储地址;
在所述第一存储地址对应的内存空间中查找所述每一软件的数据配置文件,在所述第二存储地址对应的内存空间中查找所述每一软件对应的运营场景的数据配置文件。
在一些实施例中,还包括配置模块,用于:响应于修改请求,从所述修改请求中解析出数据配置文件标识和修改策略;
根据所述修改策略,对数据配置文件标识对应的数据配置文件进行修改。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行集成测试方法,该方法包括:根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的集成测试方法,该方法包括:根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的集成测试方法,该方法包括:根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种集成测试方法,其特征在于,包括:
根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;
根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;
根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;
执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
2.根据权利要求1所述的集成测试方法,其特征在于,所述根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本,包括:
根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例;
根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数;
根据所述测试函数和所述集成测试用例,生成所述第一测试脚本。
3.根据权利要求2所述的集成测试方法,其特征在于,所述根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,生成所述待测试功能模块的集成测试用例,包括:
根据所述多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,确定所述待测试功能模块的测试需求;
根据所述待测试功能模块的测试需求,采用用例设计方法,生成所述待测试功能模块的集成测试用例;其中,所述用例设计方法包括功能法、等价类划分法、边界值分析法和错误猜测法中的一种或多种组合。
4.根据权利要求2所述的集成测试方法,其特征在于,所述根据所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的测试函数,包括:
根据所述待测试功能模块的入口函数、程序出口和全局变量,确定所述待测试功能模块的测试位置;
根据所述测试位置,确定所述待测试功能模块的集成测试策略;
根据所述集成测试策略,生成所述测试函数。
5.根据权利要求1-4任一所述的集成测试方法,其特征在于,在所述根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息之前,所述方法包括:
根据所述每一软件的数据配置文件的标识,获取所述每一软件的数据配置文件的第一存储地址,根据所述每一软件对应的运营场景的数据配置文件的标识,获取所述每一软件对应的运营场景的数据配置文件的第二存储地址;
在所述第一存储地址对应的内存空间中查找所述每一软件的数据配置文件,在所述第二存储地址对应的内存空间中查找所述每一软件对应的运营场景的数据配置文件。
6.根据权利要求1-4任一所述的集成测试方法,其特征在于,所述方法还包括:
响应于修改请求,从所述修改请求中解析出数据配置文件标识和修改策略;
根据所述修改策略,对数据配置文件标识对应的数据配置文件进行修改。
7.一种集成测试系统,其特征在于,包括:
生成模块,用于根据待测试功能模块接入的多个软件的软件设计说明文件和所述多个软件对应的运营场景的场景文件,以及所述待测试功能模块的入口函数、程序出口和全局变量,生成所述待测试功能模块的第一测试脚本;
提取模块,用于根据所述待测试功能模块的测试需求,从每一软件的数据配置文件和所述每一软件对应的运营场景的数据配置文件中,提取所述每一软件对应的配置信息;
配置模块,用于根据所述每一软件对应的配置信息对所述第一测试脚本进行配置,得到所述每一软件对应的所述待测试功能模块的第二测试脚本;
测试模块,用于执行所述多个软件对应的第二测试脚本,根据执行结果,获取所述待测试功能模块的集成测试结果。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述集成测试方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述集成测试方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述集成测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210772637.7A CN115269384A (zh) | 2022-06-30 | 2022-06-30 | 集成测试方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210772637.7A CN115269384A (zh) | 2022-06-30 | 2022-06-30 | 集成测试方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269384A true CN115269384A (zh) | 2022-11-01 |
Family
ID=83764270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210772637.7A Pending CN115269384A (zh) | 2022-06-30 | 2022-06-30 | 集成测试方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269384A (zh) |
-
2022
- 2022-06-30 CN CN202210772637.7A patent/CN115269384A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951364B (zh) | 测试方法及装置 | |
CN110688313B (zh) | 一种VxWorks操作系统下软件测试的故障注入方法 | |
KR20200007133A (ko) | 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치 | |
CN110704323A (zh) | 基于轨道交通线路数据的数据自动化测试方法及装置 | |
CN111124870A (zh) | 一种接口测试方法及装置 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN108132876A (zh) | 一种基于注入方式的嵌入式软件目标码单元测试方法 | |
CN117421217A (zh) | 一种软件功能自动测试方法、系统、终端及介质 | |
CN105975373A (zh) | 软件程序的运行监测方法及装置 | |
CN115391230A (zh) | 一种测试脚本生成、渗透测试方法、装置、设备及介质 | |
CN109815124B (zh) | 基于mbse的联锁功能缺陷分析的方法及装置、联锁系统 | |
CN110008074B (zh) | 自动化测试查询硬件信息上层接口的方法、装置及设备 | |
CN115269384A (zh) | 集成测试方法、系统、电子设备及存储介质 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN115987821A (zh) | 网关路由测试方法及装置 | |
CN115373929A (zh) | 测试方法、装置、设备、可读存储介质及程序产品 | |
CN110633204B (zh) | 一种程序缺陷检测方法及装置 | |
CN111752823A (zh) | 一种车载电源应用软件的测试方法、装置及设备 | |
CN112632702A (zh) | 一种车辆协议诊断工具检测方法和装置 | |
CN113515452A (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
CN106446400B (zh) | 一种机电系统性能的测试方法及装置 | |
CN114048131B (zh) | 一种基于fuzzing测试需校验流量的方法、装置及设备 | |
CN113094281B (zh) | 一种混合式App的测试方法及装置 | |
CN117176561A (zh) | 一种车载通信dtc自动化测试方法及测试系统 | |
CN115878454A (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 |