CN119311593A - 软件测试方法、装置、电子设备及介质 - Google Patents
软件测试方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN119311593A CN119311593A CN202411531550.6A CN202411531550A CN119311593A CN 119311593 A CN119311593 A CN 119311593A CN 202411531550 A CN202411531550 A CN 202411531550A CN 119311593 A CN119311593 A CN 119311593A
- Authority
- CN
- China
- Prior art keywords
- server
- test data
- function
- data
- electronic equipment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000013522 software testing Methods 0.000 title claims abstract description 52
- 238000012360 testing method Methods 0.000 claims abstract description 208
- 230000006870 function Effects 0.000 claims description 120
- 238000012546 transfer Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 5
- 230000001788 irregular Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 39
- 238000005516 engineering process Methods 0.000 abstract description 11
- 230000001934 delay Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000004088 simulation Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011076 safety test Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
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是本申请实施例提供的软件测试装置的结构示意图;
图6是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
软件测试(Software Testing):软件测试是一个系统化的过程,旨在评估软件应用程序的质量、性能和功能。其主要目标是发现软件中的缺陷、错误或不符合预期行为的地方,从而确保软件在发布前达到所需的质量标准。软件测试的主要内容包括:
验证功能:检查软件是否按预期执行各项功能,满足用户需求和系统规格。
性能测试:评估软件在不同负载条件下的响应时间、稳定性和资源使用情况。
安全测试:识别软件中的安全漏洞,确保数据保护和用户隐私。
兼容性测试:验证软件在不同设备、操作系统和浏览器上的表现是否一致。
用户体验测试:评估软件界面的易用性和用户满意度。
测试类型:
手动测试:由测试人员手动执行测试用例,观察软件行为。
自动化测试:使用自动化工具执行测试,以提高测试效率和覆盖率。
软件测试有助于在软件发布前及早发现问题,减少后期维护成本,提高用户满意度,确保软件质量。通过有效的测试,组织能够提供更可靠的产品,增强市场竞争力。
服务器(Server):服务器是指一种计算机系统或设备,专门设计用于提供服务、资源或数据给其他计算机(通常称为客户端)通过网络进行访问。服务器可以在本地网络或互联网中运行,承担不同的功能和任务。服务器的主要特点有:
提供服务:服务器可以提供各种服务,如网页托管、文件存储、数据库管理、邮件处理等。
高性能:通常配置有强大的处理器、大量内存和高容量存储,以满足多个用户的并发访问需求。
持续运行:服务器通常设计为24/7全天候运行,确保服务的可用性和可靠性。
集中管理:服务器可以集中管理资源和数据,便于维护和备份。
常见类型:
数据库服务器:管理数据库并响应客户端的查询请求。
文件服务器:提供文件存储和共享服务。
应用服务器:运行特定的应用程序并向客户端提供服务。
服务器是现代计算环境中的关键组件,通过集中管理和提供资源,使得用户和其他计算机能够高效地进行数据访问和处理。
目前,在服务器的业务软件测试过程中,测试过程需要从其他的服务器获取测试数据,比如支付流程或实名校验流程等,这些服务器系统是否可用、运行是否稳定、数据样本是否充足以及是否能满足当前测试条件均为不可控因素,可能会影响其他服务器向业务服务器(配置了需要测试的软件)反馈测试数据,影响软件测试的测试流程,造成软件测试效率低。
基于此,本申请实施例提供了一种软件测试方法、装置、电子设备及介质,旨在提高业务服务器上的待测试软件的测试效率。
本申请实施例提供的软件测试方法、装置、电子设备及介质,具体通过如下实施例进行说明,首先描述本申请实施例中的软件测试方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的软件测试方法,涉及软件开发技术领域。本申请实施例提供的软件测试方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现软件测试方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
请参见图1,图1是本申请实施例提供的软件测试方法的流程示意图,本申请实施例第一方面提供了一种软件测试方法,包括步骤S110-步骤S130。
步骤S110:接收第一服务器发送的数据获取请求,第一服务器配置有待测试软件,数据获取请求用于获取测试数据,测试数据用于对待测试软件的待测试功能进行测试。
首先,电子设备接收第一服务器发送的数据获取请求,这个请求旨在获取与待测试软件相关的测试数据,特别是用于验证待测试功能的特定数据。这一步是测试流程的起点,确保第一服务器能够接收到所需的测试数据。
示例性地,第一服务器是一个电商平台的支付系统。在测试开始时,第一服务器发送请求:“请提供支付功能的测试数据。”此请求包括可以包括必要的标识信息,确保电子设备能够识别并返回正确的测试数据,如“获取支付成功的模拟响应”。
步骤S120:在电子设备的配置信息满足预设条件的情况下,从电子设备上获取测试数据,测试数据预先配置在电子设备上,配置信息包括预设接口开关的配置,预设接口开关用于控制测试数据是否从电子设备上获取。
电子设备在接收到数据获取请求后,首先检查自身的配置信息,以确定是否满足预设条件。预设条件包括预设接口开关(预设接口开关用于控制测试数据是否从电子设备上获取)的状态(是否开启),还可以包括电子设备的运行状态(如网络连接正常)。当满足预设条件时,电子设备将从其内部存储中提取预先配置的测试数据。
示例性地,电子设备检查其配置信息,发现预设接口开关设置为“开启”。设备随后从本地数据库中检索出一条预设的数据记录,例如“支付成功”的模拟响应。这条记录可能包括字段如“状态:成功”、“交易ID:12345”、“金额:100元”等,以确保能够完整地模拟真实支付的场景。
步骤S130:向第一服务器发送测试数据。
获取到测试数据后,电子设备将该数据通过网络发送回第一服务器。此步骤确保第一服务器能够接收到所需的测试数据,以便继续进行软件功能的验证和测试。这是测试流程中的关键环节,确保了数据的传递和使用。
示例性地,电子设备将包含“支付成功”信息的测试数据封装成一个请求,并通过HTTP或其他网络协议发送回第一服务器。第一服务器接收到数据后,开始继续后续的支付功能测试。测试过程中,第一服务器会检查软件是否能根据返回的“支付成功”状态,正确地更新订单状态、发送确认通知,并显示给用户。
具体地,电子设备中可以配置一个Mock平台,以进行测试数据的确定与返回,起到模拟第三方服务器的作用。Mock平台是一个专门用于软件开发和测试的工具或系统,主要用于模拟外部服务或组件的行为。它允许开发人员和测试人员在缺乏真实系统或接口的情况下,进行功能测试和集成测试。Mock平台通过提供虚拟的响应或数据,帮助团队验证软件的逻辑和功能。
通过上述步骤S110-S130,测试数据被预先配置在电子设备上,当第一服务器发出数据获取请求时,电子设备在其配置信息满足预设条件的情况下,直接从其内部获取测试数据,并发送给第一服务器。具体而言,电子设备的配置信息包括预设接口开关的配置,预设接口开关用于表征测试数据是否从电子设备上获取,使得测试数据的获取过程更加灵活和可控。如此,通过使用本申请提出的电子设备,使得第一服务器的软件测试过程脱离了对外部服务器的依赖,避免了因外部服务器的不可控因素而造成的延误和误差,从而提升了软件测试流程的效率。
请参见图2,图2是本申请实施例提供的获取测试数据过程的流程示意图,在一些实施方式中,数据获取请求包括第二服务器的标识,第二服务器被配置为根据数据获取请求,基于预设计算策略确定测试数据;
在电子设备的配置信息满足预设条件的情况下,从电子设备上获取测试数据,包括:
步骤S210:根据第二服务器标识确定对应于第二服务器的预设接口开关;
步骤S220:在第二服务器对应的预设接口开关被配置为开启的情况下,确定电子设备的配置信息满足预设条件;
步骤S230:从电子设备上获取测试数据。
本实施例中,数据获取请求原本被配置为向第二服务器发送,并获取测试数据,第二服务器则负责根据该请求并基于预设计算策略来确定适当的测试数据,电子设备接收了该原本会被发送至第二服务器的数据获取请求。
在实施过程中,当电子设备的配置信息满足预设条件时,设备将开始从自身获取测试数据。这一过程包括几个关键步骤:首先,根据第二服务器的标识(标识可以为第二服务器的域名),电子设备确定与该服务器对应的预设接口开关。接着,如果发现该接口开关被配置为开启,设备将进一步确认其自身的配置信息是否符合预设条件。只有在这些条件都满足的情况下,电子设备才会从自身获取相应的测试数据。
如此,不同的第三方服务器(第二服务器)对应不同的预设接口开关,技术人员可以将某些第三方服务器的在电子设备中配置为预设接口开关开启,即模拟功能开启,将某些第三方服务器的标识、域名在电子设备中配置为预设接口开关关闭,即模拟功能关闭(模拟功能意为电子设备模拟第三方服务器,向第一服务器发送测试数据的功能),使得测试过程更加灵活。
示例性地,一个在线支付系统的第一服务器需要从一个域名为“www.example.com”的第二服务器获取模拟的支付成功数据。第一服务器发送数据获取请求,其中包括“www.example.com”的标识。第二服务器按照预先配置,会根据接收到的请求,应用其预设计算策略,决定返回“支付成功”的响应。电子设备接收了原本会被发送至第二服务器的数据获取请求,电子设备检查到“www.example.com”的预设接口开关已设置为开启,并且自身的其他的配置信息符合预设条件,因此它从内部获取了这条“支付成功”的测试数据,然后将其发送给第一服务器,确保支付功能的测试能够顺利进行。
在一些实施方式中,配置信息还包括目标用户的标识,数据获取请求还包括第一用户标识;
在第二服务器对应的预设接口开关被配置为开启的情况下,确定电子设备的配置信息满足预设条件,包括:
在第二服务器对应的预设接口开关被配置为开启,且第一用户标识与目标用户的标识相同的情况下,确定电子设备的配置信息满足预设条件。
本实施例中,电子设备的配置信息还包括目标用户的标识。当第一服务器向电子设备发送数据获取请求时,该请求会携带一个第一用户标识,这个第一用户可以为发送数据获取请求的测试人员的标识。在测试过程中,电子设备首先会检查第二服务器的预设接口开关是否被配置为开启,然后进一步检查请求中的第一用户标识是否与配置信息中的目标用户标识相匹配。只有当接口开关已开启且第一用户标识与目标用户标识相同时,电子设备才会确认其配置信息满足预设条件,允许获取对应的测试数据。
如此,确保了只有特定的用户可以启用模拟功能,从电子设备中获取测试数据,在测试流程由多个测试人员进行的情况下,电子设备可以将某些测试人员设置为目标用户,某些测试人员不设置为目标用户,增强了测试过程的灵活性。
示例性地,第一服务器正在测试支付系统的功能,第一服务器发送了一个数据获取请求,该请求中包含了用户A的标识。电子设备上预先配置了目标用户为用户A,并且对应于第二服务器的接口开关已经配置为开启。电子设备首先检查接口开关状态,确认开关是开启的;接着,它核对请求中的用户标识,发现与目标用户标识(用户A)一致。由于这两个条件都满足,电子设备确定其配置信息符合预设条件,随后从内部获取“支付成功”的模拟测试数据,并将该数据返回给第一服务器,供支付功能测试使用。
请参见图3,图3是本申请实施例提供的数据透传过程的流程示意图,在一些实施方式中,数据获取请求包括用于表征待测试功能的功能标识符,以及待测试功能对应的功能参数;
在接收第一服务器发送的数据获取请求之后,向第一服务器发送测试数据之前,方法还包括:
步骤S310:在电子设备的配置信息不满足预设条件的情况下,向第二服务器转发数据获取请求;
步骤S320:接收第二服务器反馈的测试数据,测试数据由第二服务器根据待测试功能的功能标识符,以及待测试功能对应的功能参数进行计算得到。
本实施例中,数据获取请求不仅包含请求本身,还包括用于表征待测试功能的功能标识符以及该功能对应的功能参数。当第一服务器发送数据获取请求后,电子设备首先检查自身的配置信息。如果电子设备的配置信息不满足预设条件,它不会直接从内部获取测试数据,而是将该请求转发给第二服务器,即不启用模拟功能,仅作为第二服务器与第一服务器之间的中介。第二服务器根据请求中的功能标识符和功能参数,通过预设的计算策略生成相应的测试数据。然后,电子设备接收到从第二服务器反馈回来的测试数据,并将其发送回第一服务器,即数据透传过程。
如此,确保了当电子设备的配置信息不满足预设条件时,第一服务器依然能够通过第二服务器获取所需的测试数据,从而保持测试的连贯性;同时,不同的第三方服务器(第二服务器)对应不同的预设接口开关,技术人员可以将某些第三方服务器的在电子设备中配置为预设接口开关开启,即模拟功能开启,将某些第三方服务器的标识、域名在电子设备中配置为预设接口开关关闭,即模拟功能关闭(模拟功能意为电子设备模拟第三方服务器,向第一服务器发送测试数据的功能),使得测试过程更加灵活。
示例性地,第一服务器正在测试一个支付系统的退款功能,发送的数据获取请求中包含“退款处理”作为功能标识符,并附带了退款金额、用户ID等功能参数。电子设备在接收到请求后,发现自身的配置信息(如网络连接或预设接口开关的状态)不满足预设条件,因此不能从本地获取测试数据。于是,电子设备将该数据获取请求转发给第二服务器。第二服务器接收到请求后,通过计算策略生成相应的“退款成功”测试数据(例如,状态为成功,金额为100元),并将这些数据反馈给电子设备。最后,电子设备将从第二服务器获得的测试数据发送回第一服务器,以便继续完成退款功能的测试。
在一些实施方式中,在所述接收第一服务器发送的数据获取请求之前,所述方法还包括:
向第一服务器发送转移指令,以使所述第一服务器向所述第二服务器发送的所述数据获取请求转移发送至所述电子设备,所述第二服务器被配置为根据所述数据获取请求,基于预设计算策略确定测试数据。
本实施例中,电子设备在接收第一服务器发送的数据获取请求之前,电子设备首先向第一服务器发送转移指令。电子设备可以针对第二服务器的域名设置启用开关,当这个启用开关打开时,电子设备向第一服务器发送转移指令。该转移指令的目的是使第一服务器将原本应发送至第二服务器的数据获取请求转移到电子设备。第二服务器被配置为根据接收到的数据获取请求,通过预设的计算策略生成相应的测试数据,即第二服务器为第一服务器原本想要从中获取测试数据的第三方服务器。
通过这种方式,电子设备能够在第一服务器与第二服务器之间有效地转移数据获取请求,即不需要测试人员去更改第一服务器中待测试软件本身的代码即可以实现数据获取请求的转移发送。
示例性地,在测试过程中,第一服务器需要获取支付功能的测试数据,但由于外部支付系统(第二服务器)存在不稳定的因素,第一服务器向电子设备发送转移指令。这个转移指令实际上是在模拟一个DNS(Domai n Name System,域名系统)解析功能的过程(DNS会将域名解析为IP地址并进行通信,如果在Host文件中配置了解析规则,则第一服务器会优先使用这些规则进行域名解析),电子设备发送的转移指令用于修改Host文件,将原本应该被发送至第二服务器的请求重定向到自己;将原本应该发送至第二服务器的请求重定向到电子设备的Host文件也可以被预先配置在第一服务器中,在这种情况下,转移指令也可以用于使这一Host文件生效。
第一服务器接收到转移指令后,将数据获取请求发送至电子设备而不是第二服务器。电子设备接收请求后,转发至第二服务器,第二服务器根据请求的功能标识符和功能参数,应用其预设计算策略生成相应的测试数据。最终,测试数据被返回至电子设备,再由电子设备传送回第一服务器,支付功能测试顺利进行。
在一些实施方式中,数据获取请求包括待测试功能的功能类型标识,功能类型标识用于指示待测试功能是否为常规功能,从电子设备上获取测试数据,包括:
在功能类型标识指示待测试功能为常规功能的情况下,在电子设备中确定对应于待测试功能的预设数据作为测试数据;
在功能类型标识指示待测试功能为非常规功能的情况下,根据功能类型标识,在电子设备中的多个预设数据中基于预设逻辑确定测试数据。
本实施例中,数据获取请求包含待测试功能的功能类型标识,用于指示该功能是否为常规功能。根据功能类型标识,电子设备从内部获取相应的测试数据。如果功能类型标识指示待测试功能为常规功能,则电子设备直接从内部的预设数据中选取与该功能对应的测试数据。而如果功能类型标识指示待测试功能为非常规功能,则电子设备将基于预设的逻辑,从多个预设数据中进行选择,确定适合的测试数据。
如此,确保了常规功能与非常规功能的测试能够灵活应对不同的数据需求。
示例性地,第一服务器的支付系统正在进行测试,第一服务器发送数据获取请求,其中功能类型标识表明请求是针对“支付处理”功能的。系统内将“支付处理”视为常规功能,因此电子设备直接从预设的数据中选择一个标准的“支付成功”测试数据,并将其返回给第一服务器。
在另一个测试场景中,假设第一服务器请求“退款处理”功能的测试数据,而该功能被标识为非常规功能。在这种情况下,电子设备不能直接使用单一的预设数据,而是根据退款的金额、时间、用户状态等多个因素,应用预设的逻辑从不同的预设数据中选择适合的测试数据。例如,电子设备可能从多个预设数据中选取特定的“退款部分成功”状态,以便模拟复杂的退款场景。
在一些实施方式中,在向第一服务器发送测试数据之后,方法还包括:
向第一服务器发送数据存储指令,以使第一服务器根据测试数据更新数据库中的数据获取记录,并根据数据获取记录生成用于发送至其他服务器的数据获取请求。
本实施例中,其中在向第一服务器发送测试数据之后,电子设备还会向第一服务器发送数据存储指令。该指令的目的是使第一服务器根据接收到的测试数据更新其数据库中的数据获取记录。更新完成后,第一服务器会基于这些数据获取记录生成新的数据获取请求,以便发送至其他服务器进行进一步的处理。这一过程确保了测试数据的存储和后续的测试处理过程能够形成闭环,有助于维护数据的一致性和完整性。
示例性地,在一个在线支付系统的测试中,电子设备已成功向第一服务器发送了“支付成功”的测试数据。随后,电子设备发送数据存储指令,通知第一服务器将这条测试数据更新到数据库中,形成一条新的数据获取记录,比如记录支付状态、用户ID和交易ID等信息。第一服务器接收到指令后,更新其数据库并保存这一记录。接着,第一服务器基于这一记录生成一个新的数据获取请求,准备向另一台服务器(例如,财务系统)发送请求以更新财务数据。通过这种方式,支付测试的结果不仅被记录,还能够驱动后续的财务处理,确保在测试时系统中各部分数据的实时同步与准确。
请参见图4,图4是本申请实施例提供的软件测试方法的交互示意图,综合上述多个实施方式,可以对本申请实施例提供的软件测试方法进行如下描述:在电子设备中20针对第二服务器30的域名设置的启用开关打开时,电子设备20向第一服务器10发送转移指令(步骤S410),使得第一服务器原本需要发送至第二服务器30的数据获取请求转移发送至电子设备20(步骤S420);在启用开关关闭时,第一服务器10与第二服务器30正常通信。
电子设备20在接收到第一服务器10发送的数据获取请求后,判断对应于第二服务器的域名的预设接口开关是否开启,在预设接口开关开启,且发送数据获取请求的第一用户为目标用户的情况下(即电子设备的配置信息满足预设条件),从本地获取测试数据,并将测试数据发送至第一服务器10(步骤S430),以完成测试过程。
在电子设备的配置信息不满足预设条件的情况下,电子设备20进行数据透传,电子设备20将数据获取请求转发至第二服务器30(步骤S440),第二服务器30返回测试数据至电子设备20(步骤S450),电子设备再将测试数据转发至第一服务器10(步骤S460)。
请参阅图5,本申请实施例还提供一种软件测试装置500,可以实现上述软件测试方法,该装置500包括:
接收模块510,用于接收第一服务器发送的数据获取请求,第一服务器配置有待测试软件,数据获取请求用于获取测试数据,测试数据用于对待测试软件的待测试功能进行测试;
获取模块520,用于在电子设备的配置信息满足预设条件的情况下,从电子设备上获取测试数据,测试数据预先配置在电子设备上,配置信息包括预设接口开关的配置,预设接口开关用于表征测试数据是否从电子设备上获取;
发送模块530,用于向第一服务器发送测试数据。
该软件测试装置的具体实施方式与上述软件测试方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述软件测试方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图6,图6示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器601,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器602,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行本申请实施例的软件测试方法;
输入/输出接口603,用于实现信息输入及输出;
通信接口604,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WI F I、蓝牙等)实现通信;
总线605,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息;
其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述软件测试方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的软件测试方法、装置、电子设备及介质,测试数据被预先配置在电子设备上,当第一服务器发出数据获取请求时,电子设备在其配置信息满足预设条件的情况下,直接从其内部获取测试数据,并发送给第一服务器。具体而言,电子设备的配置信息包括预设接口开关的配置,预设接口开关用于表征测试数据是否从电子设备上获取,使得测试数据的获取过程更加灵活和可控。如此,通过使用本申请提出的电子设备,使得第一服务器的软件测试过程脱离了对外部服务器的依赖,避免了因外部服务器的不可控因素而造成的延误和误差,从而提升了软件测试流程的效率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种软件测试方法,其特征在于,应用于电子设备,所述方法包括:
接收第一服务器发送的数据获取请求,所述第一服务器配置有待测试软件,所述数据获取请求用于获取测试数据,所述测试数据用于对所述待测试软件的待测试功能进行测试;
在所述电子设备的配置信息满足预设条件的情况下,从所述电子设备上获取所述测试数据,所述测试数据预先配置在所述电子设备上,所述配置信息包括预设接口开关的配置,所述预设接口开关用于控制所述测试数据是否从所述电子设备上获取;
向所述第一服务器发送所述测试数据。
2.根据权利要求1所述的方法,其特征在于,所述数据获取请求包括第二服务器的标识,所述第二服务器被配置为根据所述数据获取请求,基于预设计算策略确定测试数据;
所述在所述电子设备的配置信息满足预设条件的情况下,从所述电子设备上获取所述测试数据,包括:
根据所述第二服务器标识确定对应于所述第二服务器的预设接口开关;
在所述第二服务器对应的预设接口开关被配置为开启的情况下,确定所述电子设备的配置信息满足预设条件;
从所述电子设备上获取所述测试数据。
3.根据权利要求2所述的方法,其特征在于,所述配置信息还包括目标用户的标识,所述数据获取请求还包括第一用户标识;
所述在所述第二服务器对应的预设接口开关被配置为开启的情况下,确定所述电子设备的配置信息满足预设条件,包括:
在所述第二服务器对应的预设接口开关被配置为开启,且所述第一用户标识与目标用户的标识相同的情况下,确定所述电子设备的配置信息满足预设条件。
4.根据权利要求1所述的方法,其特征在于,所述数据获取请求包括用于表征所述待测试功能的功能标识符,以及所述待测试功能对应的功能参数;
在所述接收第一服务器发送的数据获取请求之后,所述向所述第一服务器发送所述测试数据之前,所述方法还包括:
在所述电子设备的配置信息不满足预设条件的情况下,向第二服务器转发所述数据获取请求;
接收所述第二服务器反馈的测试数据,所述测试数据由所述第二服务器根据所述待测试功能的功能标识符,以及所述待测试功能对应的功能参数进行计算得到。
5.根据权利要求1所述的方法,其特征在于,在所述接收第一服务器发送的数据获取请求之前,所述方法还包括:
向第一服务器发送转移指令,以使所述第一服务器向所述第二服务器发送的所述数据获取请求转移发送至所述电子设备,所述第二服务器被配置为根据所述数据获取请求,基于预设计算策略确定测试数据。
6.根据权利要求1所述的方法,其特征在于,所述数据获取请求包括所述待测试功能的功能类型标识,所述功能类型标识用于指示所述待测试功能是否为常规功能,所述从所述电子设备上获取所述测试数据,包括:
在所述功能类型标识指示所述待测试功能为常规功能的情况下,在所述电子设备中确定对应于所述待测试功能的预设数据作为所述测试数据;
在所述功能类型标识指示所述待测试功能为非常规功能的情况下,根据所述功能类型标识,在所述电子设备中的多个预设数据中基于预设逻辑确定所述测试数据。
7.根据权利要求1所述的方法,其特征在于,在所述向所述第一服务器发送所述测试数据之后,所述方法还包括:
向所述第一服务器发送数据存储指令,以使所述第一服务器根据所述测试数据更新数据库中的数据获取记录,并根据数据获取记录生成用于发送至其他服务器的数据获取请求。
8.一种软件测试装置,其特征在于,应用于电子设备,所述装置包括:
接收模块,用于接收第一服务器发送的数据获取请求,所述第一服务器配置有待测试软件,所述数据获取请求用于获取测试数据,所述测试数据用于对所述待测试软件的待测试功能进行测试;
获取模块,用于在所述电子设备的配置信息满足预设条件的情况下,从所述电子设备上获取所述测试数据,所述测试数据预先配置在所述电子设备上,所述配置信息包括预设接口开关的配置,所述预设接口开关用于表征所述测试数据是否从所述电子设备上获取;
发送模块,用于向所述第一服务器发送所述测试数据。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的软件测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的软件测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411531550.6A CN119311593A (zh) | 2024-10-29 | 2024-10-29 | 软件测试方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411531550.6A CN119311593A (zh) | 2024-10-29 | 2024-10-29 | 软件测试方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119311593A true CN119311593A (zh) | 2025-01-14 |
Family
ID=94184730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411531550.6A Pending CN119311593A (zh) | 2024-10-29 | 2024-10-29 | 软件测试方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119311593A (zh) |
-
2024
- 2024-10-29 CN CN202411531550.6A patent/CN119311593A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111262759B (zh) | 一种物联网平台测试方法、装置、设备和存储介质 | |
US9645910B1 (en) | Cross platform mobile HTML debugging | |
US9652364B1 (en) | Cloud service for mobile testing and debugging | |
US20030182408A1 (en) | Load test system for a server and method of use | |
CN110262964A (zh) | 测试方法、装置、设备及计算机可读存储介质 | |
US10114724B1 (en) | Techniques for real time server testing in a production environment | |
CN112187585A (zh) | 网络协议测试方法及装置 | |
CN108459850B (zh) | 生成测试脚本的方法、装置及系统 | |
CN115065652B (zh) | 消息回复方法、装置、存储介质及计算机设备 | |
CN114546814A (zh) | 录制回放方法、装置及存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN105704178A (zh) | 任务平台的接入方法及装置 | |
CN112699034B (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
CN108829495A (zh) | 多数据库修改事务的验证方法、装置、设备及存储介质 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN113138915A (zh) | 一种页面测试方法、装置及介质 | |
CN107203471B (zh) | 联调方法、服务平台及计算机存储介质 | |
CN119311593A (zh) | 软件测试方法、装置、电子设备及介质 | |
CN117131545A (zh) | 数据处理方法及装置、存储介质、终端 | |
CN111221687B (zh) | 一种云存储测试系统和方法 | |
CN115705284A (zh) | 一种自动化测试系统、方法、设备及介质 | |
CN114024715A (zh) | 数据看板的推送方法、装置、系统、电子设备及存储介质 | |
CN108628683B (zh) | 数据传输方法和装置 | |
CN111082984A (zh) | 模拟登录网络设备进行命令行交互的方法和装置 | |
CN110035091B (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 |