CN110134593A - 软件测试方法、装置、电子设备及存储介质 - Google Patents

软件测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110134593A
CN110134593A CN201910318315.3A CN201910318315A CN110134593A CN 110134593 A CN110134593 A CN 110134593A CN 201910318315 A CN201910318315 A CN 201910318315A CN 110134593 A CN110134593 A CN 110134593A
Authority
CN
China
Prior art keywords
test
module
test data
end test
head end
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.)
Granted
Application number
CN201910318315.3A
Other languages
English (en)
Other versions
CN110134593B (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.)
Tianhang Changying Jiangsu Technology Co ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201910318315.3A priority Critical patent/CN110134593B/zh
Publication of CN110134593A publication Critical patent/CN110134593A/zh
Application granted granted Critical
Publication of CN110134593B publication Critical patent/CN110134593B/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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是根据一示例性实施例示出的一种软件测试装置的框图;
图5是根据另一示例性实施例示出的一种软件测试装置的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明的实施环境可以是电子设备,例如平板电脑、台式电脑、笔记本电脑等。
图1是根据一示例性实施例示出的一种装置的示意图。装置100可以是上述便携移动设备。如图1所示,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。
处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,用于便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,用于以方便多媒体组件108和处理组件102之间的交互。
存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,用于该一个或多个模块被配置成由该一个或多个处理器118执行,以完成如下所示方法中的全部或者部分步骤。
电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。
多媒体组件108包括在所述装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,简称LCD)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(Organic Light Emitting Display,简称OLED)。
音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(Microphone,简称MIC),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。
传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。
通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如WiFi(Wireless-Fidelity,无线保真)。在一个示例性实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件116还包括近场通信(Near FieldCommunication,简称NFC)模块,用于以促进短程通信。例如,在NFC模块可基于射频识别(Radio Frequency Identification,简称RFID)技术,红外数据协会(Infrared DataAssociation,简称IrDA)技术,超宽带(Ultra Wideband,简称UWB)技术,蓝牙技术和其他技术来实现。
在示例性实施例中,装置100可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
图2是根据一示例性实施例示出的一种软件测试方法的流程图。如图2所示,此方法包括以下步骤。
步骤201,当接收到目标软件的后端系统发送的后端测试请求时,获取后端测试请求中包含的待测试模块,其中,目标软件包含前端系统和后端系统,待测试模块为后端系统中的任意模块。
本发明实施例中,后端测试请求中包含的待测试模块的数量可以为一个或多个,对此,本发明实施例不做限定;由于后端测试请求是针对于后端系统的测试则后端系统中的每个模块都需要被测试,因此一个后端测试请求中包含的待测试模块可以为后端系统中的任意模块。
本发明实施例中,目标软件可以是需要进行软件测试的软件,且目标软件包含的前端系统可以是用于与用户进行交互的界面,前端系统可以通过若干个前端函数实现与用户之间的交互功能;目标软件包含的后端系统可以是用于对数据(包括前端系统输出的数据)进行处理的部分,后端系统也可以通过若干个后端函数实现与数据正确且高效的处理。
步骤202,确定待测试模块对应的前端测试数据信息。
本发明实施例中,前端测试数据可以为后端系统的待测试模块在测试过程中需要使用到的与前端系统关联的数据信息。
在一实施例中,可以获取待测试模块需要的测试数据的字段数量和字段对应的参数类型等信息,综合生成前端测试数据信息。
步骤203,通过预先构建的前端系统模拟模块生成与前端测试数据信息匹配的目标前端测试数据。
本发明实施例中,预先构建的前端系统模拟模块可以输出与前端系统的各个模块输出的数据相同的数据,但是前端系统模拟模块无需实现与前端系统相同的功能,从而简化了前端系统模拟模块的构建方式,此外,由于生成前端测试数据的过程无需执行相应的模块,因此,提高了前端测试数据的生成速度。
作为一种可选的实施方式,通过预先构建的前端系统模拟模块生成与前端测试数据信息匹配的目标前端测试数据的方式可以包含以下步骤:
检测预先构建的前端系统模拟模块中是否存在目标前端模拟函数,其中目标前端模拟函数输出的数据信息可与前端测试数据信息匹配;
如果存在目标前端模拟函数,则通过目标前端模拟函数生成与前端测试数据信息匹配的目标前端测试数据。
其中,实施这种实施方式,可以在通过前端系统模拟模块生成前端测试数据之前,检测前端系统模拟模块中是否存在生成该前端测试数据的目标前端模拟函数,如果存在,则生成目标前端测试数据,保证了前端系统模拟模块能够目标前端测试数据。
步骤204,通过目标前端测试数据对待测试模块进行测试。
作为一种可选的实施方式,在步骤204之后还可以执行以下步骤:
当接收到前端系统发送的前端测试请求时,获取前端测试请求中包含的后端测试数据信息;
检测后端系统中是否存在目标后端模块,目标后端模块输出的后端模块数据信息与后端测试数据信息匹配;
如果存在,将目标后端模块输出的与后端测试数据信息匹配的第一后端测试数据发送至前端系统;
如果不存在,构建与后端测试数据信息匹配的后端模拟函数,并通过后端模拟函数输出与后端测试数据信息匹配的第二后端测试数据,以及将第二后端测试数据发送至前端系统。
其中,实施这种实施方式,前端系统和后端系统可以同时进行测试,前端系统在测试过程中也会出现需要后端系统提供后端测试数据的情况,因此,可以检测后端系统是否能够提供前端系统需要的后端测试数据,如果不能,则可以构建后端模拟函数,以输出前端系统需要的后端测试数据,从而使前端系统可以正常进行测试。
在图2所描述的方法中,可以保证后端系统获取到的目标前端测试数据准确,提高了软件测试的准确性。此外,实施图2所描述的方法,保证了前端测试数据能够正确生成。此外,实施图2所描述的方法,可以使前端系统可以正常进行测试。
图3是根据另一示例性实施例示出的一种软件测试方法的流程图。如图3所示,此方法包括以下步骤:
步骤301,获取前端系统的开发文档。
本发明实施例中,前端系统的开发文档可以在前端系统的研发过程中对研发人员起到指示的作用,开发文档中可以明确说明前端系统中需要开发出来的模块以及每个模块需要实现的功能,由于前端系统在研发过程中是以该开发文档为依据的,且无论前端系统是否完成测试,都不会对开发文档造成影响,因此可以确定根据开发文档构建的前端系统模拟模块是可靠的。
步骤302,从开发文档中读取与前端系统包含的前端模块对应的理论输出数据信息。
本发明实施例中,开发文档中可以存储有前端系统的所有前端函数的开发信息,如每个前端函数需要实现的功能、需要获取的数据、生成的数据参数等信息,因此可以从开发文档中根据前端系统的前端模块的信息读取到对应的输出数据信息。
步骤303,构建与理论输出数据信息匹配的前端模拟函数,前端模拟函数输出的数据与理论输出数据信息匹配。
本发明实施例中,构建得到的前端模拟函数输出的数据信息需要与理论输出数据信息匹配,且前端模块函数无需执行前端系统中对应的模块实现的功能,简化了构建前端模拟函数的过程。
步骤304,根据前端模拟函数构建前端系统模拟模块。
本发明实施例中,实施上述的步骤301~步骤304,可以从前端系统的开发文档中确定前端系统中每个模块的输出数据信息,并且根据各个模块的输出数据信息构建前端模拟函数,进而构建前端系统模拟模块,以使构建得到的前端系统模拟模块输出的数据与正常运行的前端系统输出的数据相同,提高了生成前端测试数据的准确性。
步骤305,当接收到目标软件的后端系统发送的后端测试请求时,识别后端测试请求的重要性等级,其中,目标软件包含前端系统和后端系统,待测试模块为后端系统中的任意模块。
本发明实施例中,由于后端系统中可能存在功能较为重要的后端模块,因此需要对功能较为重要的后端模块进行有限测试,因此每个后端模块发送的后端测试请求中可以预先设置有该请求的重要性等级,以使测试软件可以根据重要性等级进行排序,进而保证较为重要的后端模块优先进行测试。
作为一种可选的实施方式,当接收到目标软件的后端系统发送的后端测试请求时,识别后端测试请求的重要性等级的方式可以包括以下步骤:
当接收到目标软件的后端系统发送的后端测试请求时,识别后端测试请求中包含的当前后端测试模块;
检测当前后端测试模块在软件测试过程中需要调用的前端模块的目标数量;
根据目标数量确定当前后端测试模块对应的后端测试请求的重要性等级,其中,重要性等级与目标数量成正比。
其中,实施这种实施方式,可以根据备选测试模块需要调用的前端模块的数量确定备选测试模块对应的后端测试请求的重要性等级,且需要调用的前端模块的数量越多,重要性等级也就越高,从而提高了重要性等级确定的准确性。
步骤306,根据重要性等级确定后端测试请求的优先级,其中,重要性等级越高对应的后端测试请求的优先级越高。
步骤307,确定优先级最高的目标后端测试请求,并获取目标后端测试请求中包含的待测试模块。
本发明实施例中,实施上述的步骤305~步骤307,在接收到不止一个后端测试请求时,可以对每个后端测试请求的重要性进行优先级排序,并根据优先级的顺序依次识别各个后端测试请求中包含的待测试模块,以避免由于处理的后端测试请求过多而导致的软件测试装置崩溃的情况。
步骤308,获取与待测试模块对应的测试文档。
步骤309,从测试文档中确定测试字段信息,其中,测试字段信息包含模拟前端系统生成的测试字段的数量以及各个测试字段的参数信息,参数信息至少包含测试字段的字段类型和字段边界值。
本发明实施例中,测试字段信息可以为模拟待测试模块需要从前端系统获得的数据的信息,因此,测试字段信息可以包括模拟前端系统可以生成的数据中的字段数量、每个字段的数据类型、每个字段的数据范围等内容,对此,本发明不做限定。
步骤310,将任意一个标记为未测试的测试字段设置为异常字段,并将除异常字段之外的测试字段设置为正常字段。
本发明实施例中,测试字段的标记可以为已测试和未测试,只有测试软件进行过异常测试的字段才可以将未测试标记更新为已测试标记,以使测试软件在选择异常字段的过程中不会重复选择测试过的测试字段,提高了测试的效率。
步骤311,根据异常字段以及正常字段生成前端测试数据信息。
作为一种可选的实施方式,根据异常字段以及正常字段生成前端测试数据信息的方式可以包含以下步骤:
生成与异常字段对应的参数信息不匹配的第一前端测试数据;
分别生成与各个正常字段对应的参数信息匹配的第二前端测试数据,其中,一个正常字段对应一个第二前端测试数据;
结合第一前端测试数据和第二前端测试数据生成前端测试数据信息,前端测试数据信息中包含第一前端测试数据和第二前端测试数据。
其中,实施这种实施方式,可以根据异常数据的参数信息生成与该参数信息不匹配的第一前端测试数据,以使第一前端测试数据相对于标准的参数信息来说是异常数据,还可以根据正常数据的参数信息生成与参数信息匹配的正常的第二前端测试数据,并生成包含第一前端测试数据和第二前端测试数据的确定测试数据信息,以使前端测试数据信息包含的数据更加全面。
步骤312,通过预先构建的前端系统模拟模块生成与前端测试数据信息匹配的目标前端测试数据。
步骤313,通过目标前端测试数据对待测试模块进行测试。
步骤314,在测试文档中将异常字段的标记从未测试变更为已测试。
本发明实施例中,实施上述的步骤308~步骤311以及步骤314,可以从与测试模块对应的测试文档中确定测试字段信息,并确定测试字段信息中包含的参数信息,以及根据确定的目标待测试字段的标记信息生成前端测试数据信息,以使根据前端测试数据信息生成的前端测试数据更加准确。
在图3所描述的方法中,可以保证后端系统获取到的目标前端测试数据准确,提高了软件测试的准确性。此外,实施图3所描述的方法,提高了生成前端测试数据的准确性。此外,实施图3所描述的方法,提高了重要性等级确定的准确性。此外,实施图3所描述的方法,可以避免由于处理的后端测试请求过多而导致的软件测试装置崩溃的情况。此外,实施图3所描述的方法,可以使前端测试数据信息包含的数据更加全面。此外,实施图3所描述的方法,可以使根据前端测试数据信息生成的前端测试数据更加准确。
以下是本发明的装置实施例。
图4是根据一示例性实施例示出的一种软件测试装置的框图。如图4所示,该装置包括:
获取单元401,用于当接收到目标软件的后端系统发送的后端测试请求时,获取后端测试请求中包含的待测试模块,其中,目标软件包含前端系统和后端系统,待测试模块为后端系统中的任意模块。
确定单元402,用于确定获取单元401获取的待测试模块对应的前端测试数据信息,前端测试数据信息是模拟前端系统生成的数据得到的。
生成单元403,用于通过预先构建的前端系统模拟模块生成与确定单元402确定的前端测试数据信息匹配的目标前端测试数据。
作为一种可选的实施方式,生成单元403通过预先构建的前端系统模拟模块生成与前端测试数据信息匹配的目标前端测试数据的方式具体可以为:
检测预先构建的前端系统模拟模块中是否存在目标前端模拟函数,其中目标前端模拟函数输出的数据信息可与前端测试数据信息匹配;
如果存在目标前端模拟函数,则通过目标前端模拟函数生成与前端测试数据信息匹配的目标前端测试数据。
其中,实施这种实施方式,可以在通过前端系统模拟模块生成前端测试数据之前,检测前端系统模拟模块中是否存在生成该前端测试数据的目标前端模拟函数,如果存在,则生成目标前端测试数据,保证了前端系统模拟模块能够目标前端测试数据。
测试单元404,用于通过生成单元403生成的目标前端测试数据对获取单元401获取的待测试模块进行测试。
作为一种可选的实施方式,测试单元404还可以用于:
当接收到前端系统发送的前端测试请求时,获取前端测试请求中包含的后端测试数据信息;
检测后端系统中是否存在目标后端模块,目标后端模块输出的后端模块数据信息与后端测试数据信息匹配;
如果存在,将目标后端模块输出的与后端测试数据信息匹配的第一后端测试数据发送至前端系统;
如果不存在,构建与后端测试数据信息匹配的后端模拟函数,并通过后端模拟函数输出与后端测试数据信息匹配的第二后端测试数据,以及将第二后端测试数据发送至前端系统。
其中,实施这种实施方式,前端系统和后端系统可以同时进行测试,前端系统在测试过程中也会出现需要后端系统提供后端测试数据的情况,因此,可以检测后端系统是否能够提供前端系统需要的后端测试数据,如果不能,则可以构建后端模拟函数,以输出前端系统需要的后端测试数据,从而使前端系统可以正常进行测试。
在图4所示的软件测试装置中,可以保证后端系统获取到的目标前端测试数据准确,提高了软件测试的准确性。此外,在图4所示的装置中,保证了前端测试数据能够正确生成。此外,在图4所示的装置中,可以使前端系统可以正常进行测试。
图5是根据另一示例性实施例示出的一种软件测试装置的框图。其中,图5所示的软件测试装置是由图4所示的软件测试装置进行优化得到的。与图4所示的软件测试装置相比,图5所示的软件测试装置的确定单元402可以包括:
获取子单元4021,用于获取与待测试模块对应的测试文档。
第一确定子单元4022,用于从获取子单元4021获取的测试文档中确定测试字段信息,其中,测试字段信息包含模拟前端系统生成的测试字段的数量和各个测试字段的参数信息,参数信息至少包含测试字段的字段类型和字段边界值。
设置子单元4023,用于将第一确定子单元4022确定的任意一个标记为未测试的测试字段设置为异常字段,并将除异常字段之外的测试字段设置为正常字段。
生成子单元4024,用于根据设置子单元4023设置的异常字段以及正常字段生成前端测试数据信息。
作为一种可选的实施方式,图5所示的软件测试装置还可以包括:
变更单元405,用于在测试单元404通过目标前端测试数据对待测试模块进行测试之后,在测试文档中将异常字段的标记从未测试变更为已测试。
其中,实施这种实施方式,可以从与测试模块对应的测试文档中确定测试字段信息,并确定测试字段信息中包含的参数信息,以及根据确定的目标待测试字段的标记信息生成前端测试数据信息,以使根据前端测试数据信息生成的前端测试数据更加准确。
作为一种可选的实施方式,生成子单元4024根据异常字段以及正常字段生成前端测试数据信息的方式具体可以为:
生成与异常字段对应的参数信息不匹配的第一前端测试数据;
分别生成与各个正常字段对应的参数信息匹配的第二前端测试数据,其中,一个正常字段对应一个第二前端测试数据;
结合第一前端测试数据和第二前端测试数据生成前端测试数据信息,前端测试数据信息中包含第一前端测试数据和第二前端测试数据。
其中,实施这种实施方式,可以根据异常数据的参数信息生成与该参数信息不匹配的第一前端测试数据,以使第一前端测试数据相对于标准的参数信息来说是异常数据,还可以根据正常数据的参数信息生成与参数信息匹配的正常的第二前端测试数据,并生成包含第一前端测试数据和第二前端测试数据的确定测试数据信息,以使前端测试数据信息包含的数据更加全面。
作为一种可选的实施方式,图5所示的软件测试装置还可以包括:
文档获取单元406,用于在生成单元403通过预先构建的前端系统模拟模块生成与前端测试数据信息匹配的目标前端测试数据之前,获取前端系统的开发文档。
读取单元407,用于从文档获取单元406获取的开发文档中读取与前端系统包含的前端模块对应的理论输出数据信息。
第一构建单元408,用于构建与读取单元407得到的理论输出数据信息匹配的前端模拟函数,前端模拟函数输出的数据与理论输出数据信息匹配。
第二构建单元409,用于根据第一构建单元408构建的前端模拟函数构建前端系统模拟模块。
本发明实施例中,可以从前端系统的开发文档中确定前端系统中每个模块的输出数据信息,并且根据各个模块的输出数据信息构建前端模拟函数,进而构建前端系统模拟模块,以使构建得到的前端系统模拟模块输出的数据与正常运行的前端系统输出的数据相同,提高了生成前端测试数据的准确性。
作为一种可选的实施方式,图5所示的软件测试装置的获取单元401可以包括:
检测子单元4011,用于当接收到目标软件的后端系统发送的后端测试请求时,识别后端测试请求的重要性等级;
第二确定子单元4012,用于根据检测子单元4011检测的重要性等级确定后端测试请求的优先级,其中,重要性等级越高对应的后端测试请求的优先级越高;
第三确定子单元4013,用于确定第二确定子单元4012确定的优先级最高的目标后端测试请求,并获取目标后端测试请求中包含的待测试模块。
其中,实施这种实施方式,在接收到不止一个后端测试请求时,可以对每个后端测试请求的重要性进行优先级排序,并根据优先级的顺序依次识别各个后端测试请求中包含的待测试模块,以避免由于处理的后端测试请求过多而导致的软件测试装置崩溃的情况。
作为一种可选的实施方式,检测子单元4011当接收到目标软件的后端系统发送的后端测试请求时,识别后端测试请求的重要性等级的方式具体可以为:
当接收到目标软件的后端系统发送的后端测试请求时,识别后端测试请求中包含的当前后端测试模块;
检测当前后端测试模块在软件测试过程中需要调用的前端模块的目标数量;
根据目标数量确定当前后端测试模块对应的后端测试请求的重要性等级,其中,重要性等级与目标数量成正比。
其中,实施这种实施方式,可以根据备选测试模块需要调用的前端模块的数量确定备选测试模块对应的后端测试请求的重要性等级,且需要调用的前端模块的数量越多,重要性等级也就越高,从而提高了重要性等级确定的准确性。
在图5所示的软件测试装置中,可以保证后端系统获取到的目标前端测试数据准确,提高了软件测试的准确性。此外,在图5所示的装置中,提高了生成前端测试数据的准确性。此外,在图5所示的装置中,提高了重要性等级确定的准确性。此外,在图5所示的装置中,可以避免由于处理的后端测试请求过多而导致的软件测试装置崩溃的情况。此外,在图5所示的装置中,可以使前端测试数据信息包含的数据更加全面。此外,在图5所示的装置中,可以使根据前端测试数据信息生成的前端测试数据更加准确。
本发明还提供一种电子设备,该电子设备包括:
处理器;
存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所示的软件测试方法。
该电子设备可以是图1所示装置100。
在一示例性实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所示的软件测试方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种软件测试方法,其特征在于,所述方法包括:
当接收到目标软件的后端系统发送的后端测试请求时,获取所述后端测试请求中包含的待测试模块,其中,所述目标软件包含前端系统和所述后端系统,所述待测试模块为所述后端系统中的任意模块;
确定所述待测试模块对应的前端测试数据信息,所述前端测试数据信息是对所述待测试模块测试过程中需要使用到的与所述前端系统关联的数据信息;
通过预先构建的前端系统模拟模块生成与所述前端测试数据信息匹配的目标前端测试数据;
通过所述目标前端测试数据对所述待测试模块进行测试。
2.根据权利要求1所述的方法,其特征在于,所述确定所述待测试模块对应的前端测试数据信息,包括:
获取与所述待测试模块对应的测试文档;
从所述测试文档中确定测试字段信息,其中,所述测试字段信息包含测试字段的数量以及各个所述测试字段的参数信息,所述参数信息至少包含所述测试字段的字段类型和字段边界值;
将任意一个标记为未测试的测试字段设置为异常字段,并将除所述异常字段之外的测试字段设置为正常字段;
根据所述异常字段以及所述正常字段生成前端测试数据信息;
所述通过所述目标前端测试数据对所述待测试模块进行测试之后,所述方法还包括:
在所述测试文档中将所述异常字段的标记从未测试变更为已测试。
3.根据权利要求2所述的方法,其特征在于,所述根据所述异常字段以及所述正常字段生成前端测试数据信息,包括:
生成与所述异常字段对应的参数信息不匹配的第一前端测试数据;
分别生成与各个所述正常字段对应的参数信息匹配的第二前端测试数据,其中,一个所述正常字段对应一个所述第二前端测试数据;
结合所述第一前端测试数据和所述第二前端测试数据生成前端测试数据信息,所述前端测试数据信息中包含所述第一前端测试数据和所述第二前端测试数据。
4.根据权利要求3所述的方法,其特征在于,所述通过预先构建的前端系统模拟模块生成与所述前端测试数据信息匹配的目标前端测试数据之前,所述方法还包括:
获取所述前端系统的开发文档;
从所述开发文档中读取与所述前端系统包含的前端模块对应的理论输出数据信息;
构建与所述理论输出数据信息匹配的前端模拟函数,所述前端模拟函数输出的数据与所述理论输出数据信息匹配;
根据所述前端模拟函数构建前端系统模拟模块。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述当接收到目标软件的后端系统发送的后端测试请求时,获取所述后端测试请求中包含的待测试模块,包括:
当接收到目标软件的后端系统发送的后端测试请求时,识别所述后端测试请求的重要性等级;
根据所述重要性等级确定所述后端测试请求的优先级,其中,所述重要性等级越高对应的所述后端测试请求的优先级越高;
确定所述优先级最高的目标后端测试请求,并获取所述目标后端测试请求中包含的待测试模块。
6.根据权利要求5所述的方法,其特征在于,所述当接收到目标软件的后端系统发送的后端测试请求时,识别所述后端测试请求的重要性等级,包括:
当接收到目标软件的后端系统发送的后端测试请求时,识别所述后端测试请求中包含的当前后端测试模块;
检测所述当前后端测试模块在软件测试过程中需要调用的前端模块的目标数量;
根据所述目标数量确定所述当前后端测试模块对应的所述后端测试请求的重要性等级,其中,所述重要性等级与所述目标数量成正比。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述前端系统发送的前端测试请求时,获取所述前端测试请求中包含的后端测试数据信息;
检测所述后端系统中是否存在目标后端模块,所述目标后端模块输出的后端模块数据信息与所述后端测试数据信息匹配;
如果存在,将所述目标后端模块输出的与所述后端测试数据信息匹配的第一后端测试数据发送至所述前端系统;
如果不存在,构建与所述后端测试数据信息匹配的后端模拟函数,并通过所述后端模拟函数输出与所述后端测试数据信息匹配的第二后端测试数据,以及将所述第二后端测试数据发送至所述前端系统。
8.一种软件测试装置,其特征在于,所述装置包括:
获取单元,用于当接收到目标软件的后端系统发送的后端测试请求时,获取所述后端测试请求中包含的待测试模块,其中,所述目标软件包含前端系统和所述后端系统,所述待测试模块为所述后端系统中的任意模块;
确定单元,用于确定所述待测试模块对应的前端测试数据信息,所述前端测试数据信息是对所述待测试模块测试过程中需要使用到的与所述前端系统关联的数据信息;
生成单元,用于通过预先构建的前端系统模拟模块生成与所述前端测试数据信息匹配的目标前端测试数据;
测试单元,用于通过所述目标前端测试数据对所述待测试模块进行测试。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其存储计算机程序,所述计算机程序使得计算机执行权利要求1~7任一项所述的方法。
CN201910318315.3A 2019-04-19 2019-04-19 软件测试方法、装置、电子设备及存储介质 Active CN110134593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910318315.3A CN110134593B (zh) 2019-04-19 2019-04-19 软件测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910318315.3A CN110134593B (zh) 2019-04-19 2019-04-19 软件测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110134593A true CN110134593A (zh) 2019-08-16
CN110134593B CN110134593B (zh) 2023-12-29

Family

ID=67570589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910318315.3A Active CN110134593B (zh) 2019-04-19 2019-04-19 软件测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110134593B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209184A (zh) * 2019-12-20 2020-05-29 北京你财富计算机科技有限公司 自动化测试方法、装置及电子设备
CN111340976A (zh) * 2020-02-24 2020-06-26 北京百度网讯科技有限公司 调试车辆模块的方法、装置、电子设备以及计算机可读存储介质
CN111578794A (zh) * 2020-05-09 2020-08-25 北京深蓝航天科技有限公司 一种基于Qt的液体火箭测发控系统图形界面控制方法
CN112463615A (zh) * 2020-12-03 2021-03-09 中国工商银行股份有限公司 应用的测试方法、装置、计算设备和介质
CN113138933A (zh) * 2021-05-13 2021-07-20 网易(杭州)网络有限公司 数据表的测试方法、电子设备及存储介质
CN113328913A (zh) * 2021-05-31 2021-08-31 长沙市到家悠享家政服务有限公司 一种提高项目测试效率的方法、装置和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068873A (zh) * 2015-08-10 2015-11-18 北京思特奇信息技术股份有限公司 一种异构虚拟资源任务调度方法及系统
US20170300402A1 (en) * 2016-04-19 2017-10-19 Sap Se Mock server and extensions for application testing
CN107517139A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 数据处理方法及系统、设备测试系统及节点测试系统
CN108241580A (zh) * 2016-12-30 2018-07-03 深圳壹账通智能科技有限公司 客户端程序的测试方法及终端
CN109491905A (zh) * 2018-11-02 2019-03-19 北京金山云网络技术有限公司 前端测试方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068873A (zh) * 2015-08-10 2015-11-18 北京思特奇信息技术股份有限公司 一种异构虚拟资源任务调度方法及系统
US20170300402A1 (en) * 2016-04-19 2017-10-19 Sap Se Mock server and extensions for application testing
CN107517139A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 数据处理方法及系统、设备测试系统及节点测试系统
CN108241580A (zh) * 2016-12-30 2018-07-03 深圳壹账通智能科技有限公司 客户端程序的测试方法及终端
CN109491905A (zh) * 2018-11-02 2019-03-19 北京金山云网络技术有限公司 前端测试方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
顾玉良等: "B/S软件测试技术及工具实现", 计算机工程与应用, no. 06 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209184A (zh) * 2019-12-20 2020-05-29 北京你财富计算机科技有限公司 自动化测试方法、装置及电子设备
CN111340976A (zh) * 2020-02-24 2020-06-26 北京百度网讯科技有限公司 调试车辆模块的方法、装置、电子设备以及计算机可读存储介质
CN111340976B (zh) * 2020-02-24 2022-11-15 北京百度网讯科技有限公司 调试自动驾驶车辆模块的方法、装置、电子设备
CN111578794A (zh) * 2020-05-09 2020-08-25 北京深蓝航天科技有限公司 一种基于Qt的液体火箭测发控系统图形界面控制方法
CN111578794B (zh) * 2020-05-09 2022-10-21 江苏深蓝航天有限公司 一种基于Qt的液体火箭测发控系统图形界面控制方法
CN112463615A (zh) * 2020-12-03 2021-03-09 中国工商银行股份有限公司 应用的测试方法、装置、计算设备和介质
CN113138933A (zh) * 2021-05-13 2021-07-20 网易(杭州)网络有限公司 数据表的测试方法、电子设备及存储介质
CN113328913A (zh) * 2021-05-31 2021-08-31 长沙市到家悠享家政服务有限公司 一种提高项目测试效率的方法、装置和系统

Also Published As

Publication number Publication date
CN110134593B (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN110134593A (zh) 软件测试方法、装置、电子设备及存储介质
CN104461894B (zh) 安卓软件的操作录制装置和方法
CN107861870A (zh) 接口测试及测试数据生成方法、装置、终端和存储介质
CN107678951A (zh) 测试用例自动化管理方法、装置、设备及存储介质
CN104461899B (zh) 测试过程中分析资源消耗量的方法、测试终端及系统
CN110119354A (zh) 基于测试用例生成的软件测试方法、装置及电子设备
CN106354628A (zh) 支付应用的测试方法及装置
CN108259512A (zh) 通信协议识别方法、电子装置及计算机存储介质
CN110069401A (zh) 基于数据建模的系统测试异常定位方法及系统
CN106771972A (zh) 一种pos机主板的自动测试装置、系统及方法
CN110083527A (zh) 一种测试用例的生成方法及装置、电子设备
CN110134574A (zh) 一种软件性能测试方法、系统、介质及电子设备
CN108234034A (zh) 蓝牙信号调整方法、装置、测试终端、系统及可读介质
CN103197945B (zh) 电视电脑一体机的个性化内容加载方法及装置
CN107122295A (zh) 测试用例脚本的生成方法和装置
CN110347672A (zh) 数据表关联更新的验证方法及装置、电子设备及存储介质
CN108199789A (zh) 蓝牙信号调整方法、装置、测试终端、系统及可读介质
CN110069571A (zh) 一种自动化数据对比方法及装置、电子设备
CN106201864A (zh) 一种应用程序编程接口api测试方法、装置及移动设备
CN110334008B (zh) 一种数据自动化处理方法、装置、电子设备及存储介质
CN108628730A (zh) 软件测试方法、装置和系统以及电子设备
CN110162463A (zh) 基于自动化测试工具的软件测试方法、装置及电子设备
CN110716914A (zh) 数据库配置方法、系统、计算机可读存储介质及终端设备
CN116261091A (zh) 一种可定制测试流程的蓝牙测试系统及方法
US8011021B2 (en) Correlation of data of a control and/or data transmission system and of a system model representing it

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 201, room 518000, building A, No. 1, front Bay Road, Qianhai Shenzhen Guangdong Shenzhen Hong Kong cooperation zone (Qianhai business secretary)

Applicant after: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Address before: 518000 Guangdong city of Shenzhen province Qianhai Shenzhen Hong Kong cooperation zone before Bay Road No. 1 building 201 room A

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20231204

Address after: No. 301, Building 11, Phase II, Taicang University Science Park, No. 27 Zigang Road, Science and Education New City, Taicang City, Suzhou City, Jiangsu Province, 215000

Applicant after: Tianhang Changying (Jiangsu) Technology Co.,Ltd.

Address before: Room 201, building a, No. 1, Qianwan 1st Road, Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong Province

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant