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

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

Info

Publication number
CN117076312A
CN117076312A CN202311052952.3A CN202311052952A CN117076312A CN 117076312 A CN117076312 A CN 117076312A CN 202311052952 A CN202311052952 A CN 202311052952A CN 117076312 A CN117076312 A CN 117076312A
Authority
CN
China
Prior art keywords
test
target
test case
case
program
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
Application number
CN202311052952.3A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202311052952.3A priority Critical patent/CN117076312A/zh
Publication of CN117076312A publication Critical patent/CN117076312A/zh
Pending legal-status Critical Current

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/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/368Test management for test version control, e.g. updating test cases to a new software version
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
随着产品快速迭代和持续交付的需求,促使测试团队采用自动化手段来维护测试案例,以满足日益增长的需求和提高测试效率与质量的要求。
目前,现有的测试案例维护主要为用户通过测试管理工具(如TestLink、JIRA等)进行,但是,当测试案例需要修改、添加或删除时,通过测试管理工具手动识别和更新测试案例变得复杂和耗时,特别是在大型项目中,测试案例数量庞大,跟踪和更新变更变得困难,测试案例维护的效率较低,从而导致整体测试的效率较低。
有鉴于此,本申请实施例提供一种测试方法,通过对程序版本变更的监测,获取程序的变更点,根据程序的变更点自动生成对应的测试案例,并对变更后的程序进行测试,可以及时的跟踪和解决测试案例变更,提升了测试案例的可维护性,从而提升测试的效率。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请实施例的场景示意图,如图1所示,包括测试平台101和大数据平台102。
其中,大数据平台102可以包括多个功能(例如,数据分析功能,数据等),每个功能均可以对应至少一个程序。
测试平台101包括测试案例库,测试案例库中包括多个测试案例,实现大数据平台102的各个功能的程序均有对应的至少一个测试案例。
测试平台101和大数据平台102进行交互,监测大数据平台的各程序的版本变更情况,若发现某一程序存在版本变更时,根据变更的内容以及对应的测试案例,生成用于测试所述变更内容的测试案例。
测试平台101可以根据生成的测试案例对版本变更的程序进行测试,生成测试报告,并将所述测试报告反馈至大数据平台102。
在一些实施例中,所述测试平台101可以集成至所述大数据平台102中。
应理解,本申请实施例中的大数据平台也可以为包括程序的其他产品,本申请对其类型不进行限制。
下面以应用于图1中的测试平台为例,对本申请实施例提供的测试方法进行说明。
图2为本申请实施例提供的测试方法的流程示意图一,如图2所示,包括如下步骤:
S201、检测到目标程序版本变更时,获取所述目标程序的变更信息。
本申请实施例中,以大数据平台为例,目标程序可以为所述大数据平台任一功能对应的当期程序。
可选的,在不同时期可以配置不同的目标程序。
在一种可能的实现方式中,测试平台备份有所述目标程序,可以通过对比备份的目标程序与大数据平台当前使用的目标程序的差异,确定是否存在版本变更。
在一种可能的实现方式中,所述大数据平台具有程序变更记录库,测试平台可以根据所述程序变更记录库是否存在更新,确定所述目标程序是否存在版本变更。
应理解,大数据平台进行目标程序的版本变更时,通常会备份变更前的目标程序,以便于更新后目标程序出现异常时进行回滚。
测试平台确定所述目标程序版本变更时,可以利用版本控制工具对变更前与变更后的目标程序进行比对,获取版本差异,对所述变更差异分析识别,得到所述变更信息。
其中,所述变更信息包括但不限于新增功能、修改的代码、删除的代码等。
S202、若根据所述变更信息,确定测试案例库中的测试案例无法满足版本变更后的目标程序的测试需求,则输出所述版本变更后目标程序的待测试清单。
本申请实施例中,测试平台可以根据所述变更信息对测试案例库中用于测试所述目标程序的测试案例进行分析,判断所述测试案例是否满足版本变更后的目标程序的测试需求。例如,测试案例包括的测试点是否可以覆盖所述变更信息。
若测试案例不满足版本变更后的目标程序的测试需求,测试平台可以根据所述变更信息生成所述待测试清单。其中,所述待测试清单又可以称为改造点清单,包括至少一个测试点,每个测试点可以用于表征变更版本后的目标程序需要测试的功能、要素等。
S203、根据所述待测试清单,生成至少一个第一目标测试案例,和/或,对所述测试案例库中的至少一个测试案例进行更新,生成至少一个第二目标测试案例。
本申请实施例中,测试平台可以根据所述待测试清单与所述测试案例库中对应的测试案例的相关性,确定生成至少一个第一目标测试案例,和/或,生成至少一个第二目标测试案例。
示例性的,若所述待测试清单中的测试点与所述测试案例库中对应的测试案例的相关性较高,则可以对所述测试案例进行更新,生成至少一个第二目标测试案例。提升测试案例的维护效率。
若所述待测试清单中的测试点与所述测试案例库中对应的测试案例相关性较低(例如,全新的功能,与现有功能基本无相同),则测试平台可以根据所述待测试清单构建新的测试案例,生成至少一个第一目标测试案例。
在一种可能的实现方式中,若所述待测试清单中的部分测试点与所述测试案例库中对应的测试案例的具有较高相关性,部分相关性较低,则测试平台可以根据所述待测试清单构建新的测试案例,生成至少一个第一目标测试案例和对所述测试案例进行更新,生成至少一个第二目标测试案例。提升测试案例的维护效率。
S204、执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,并将所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例添加至所述测试案例库。
本申请实施例中,测试平台生成第一目标测试案例,和/或,所述至少一个第二目标测试案例时,可以执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,得到所述待测试清单中每个测试点对应的测试结果。
本申请实施例提供的测试方法,通过检测到目标程序版本变更时,获取所述目标程序的变更信息;若根据所述变更信息,确定测试案例库中的测试案例无法满足版本变更后的目标程序的测试需求,则输出所述版本变更后目标程序的待测试清单;根据所述待测试清单,生成至少一个第一目标测试案例,和/或,对所述测试案例库中的至少一个测试案例进行更新,生成至少一个第二目标测试案例;执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,并将所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例添加至所述测试案例库。所述方法在目标程序版本变更时,可以根据变更信息快速的生成对应的测试案例,有效的提升了测试案例维护的效率,减少人工维护的工作量,从而提升了测试的效率。
在上述实施例的基础上,下面对生成测试案例的过程进行进一步说明。
在一些实施例中,根据所述待测试清单,生成至少一个第一目标测试案例可以包括如下所示步骤:
示例性的,获取测试案例模板;根据所述待测试清单,以及,所述版本变更后的目标程序填充所述测试案例模板,生成至少一个第一目标测试案例。
其中,测试案例通常包括前置条件、测试步骤、预期结果和测试数据几部分,测试案例模板包括对应的通用内容。
测试平台对所述待测试清单,以及,所述版本变更后的目标程序进行分析,获取所述测试案例模板中待填充的内容,并将所述待填充内容填入至所述测试案例模板对应部分,生成所述第一目标测试案例。
应理解,所述待测试清单可以包括一个或多个待测试点,一个测试案例通常来说用于测试一个待测试点。测试平台可以根据所述待测试清单中的测试点的数量,生成对应的一个或多个第一目标测试案例。
在一些实施例中,所述根据所述待测试清单,对所述测试案例库中的至少一个测试案例进行更新,生成至少一个第二目标测试案例可以包括如下所示步骤:
示例性的,从所述测试案例库中,获取至少一个第三目标测试案例;根据所述待测试清单对所述第三目标测试案例的前置条件、测试步骤、预计结果,以及,测试数据中的至少一种进行更新,生成至少一个第二目标测试案例。
其中,第三目标测试案例可以为与所述测试清单中的测试点关联性较高的测试案例。
例如,某一测试点为在A程序的B功能的基础上增加了X步骤,则对应的第三目标测试案例可以为测试A程序的B功能的测试案例。
测试平台可以根据测试清单中的测试点分析各自对应的第三目标测试案例中需要更新的前置条件、测试步骤、预计结果,以及,测试数据中一种和多种,并根据分析结果和所述测试点对需要更新的部分进行更新维护,得到所述第二目标测试案例。
在一种可能的实现方式中,获取到所述待测试清单时,测试平台可以利用自动化工具对所述测试案例库中对应的测试案例进行分析,生成至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例。
在一些实施例中,测试平台可以根据所述测试案例库中的测试案例与所述待测试清单的匹配率确定测试案例生成方式的。
示例性的,获取所述测试案例库中测试案例与所述待测试清单的匹配率;根据所述匹配率确定生成至少一个第一目标测试案例,和/或,生成至少一个第二目标测试案例。
其中,所述测试案例库中测试案例与所述待测试清单的匹配率可以为测试清单中各测试点与测试案例的匹配率。
例如,测试清单中包括3个测试点,测试平台可以分别计算3个测试点与各测试案例的匹配率,根据所述匹配率确定生成至少一个第一目标测试案例,和/或,生成至少一个第二目标测试案例。
在一种可能的实现方式中,若各所述测试点均有匹配率大于第一阈值的测试案例,则测试平台可以对所述测试点匹配率最大的测试案例进行更新,得到所述测试点对应的第二目标测试案例。
在一种可能的实现方式中,若各所述测试点均不存在匹配率大于第一阈值的测试案例,则测试平台根据所述待测试清单,生成所述测试点对应的第一目标测试案例。
在一种可能的实现方式中,若部分所述测试点存在匹配率大于第一阈值的测试案例,部分测试点不存在匹配率大于第一阈值的测试案例,则测试平台可以对存在匹配率大于第一阈值的测试案例的测试点,生成对应的第二目标测试案例;对不存在匹配率大于第一阈值的测试案例的测试点,生成对应的第一目标测试案例。
应理解,第一阈值可以根据实际需求进行设置,本申请实施例对此不进行限制。所述测试案例库中测试案例与所述待测试清单的匹配率可以根据预先训练的模型进行计算,或者,通过大数据分析的方式进行,本申请实施例对此不进行限制。
在一些实施例中,测试平台生成所述至少一个第一目标测试案例,和/或,生成至少一个第二目标测试案例时,还可以对生成第一目标测试案例的测试脚本,和/或,生成第二目标测试案例的测试脚本,以使测试案例与测试脚本保持一致,减少了人为因素引起的错误和遗漏。
示例性的,生成第一目标测试案例的测试脚本,和/或,生成第二目标测试案例的测试脚本可以根据如下所示步骤确定。
S1、获取所述测试案例模板与第一测试脚本的第一映射关系,和/或,所述第三目标测试案例与第二测试脚本的第二映射关系。
S2、根据所述第一映射关系,和/或,第二映射关系,以及,所述变更信息,更新所述第一测试脚本,和/或,所述第二测试测脚本,得到第一目标测试案例对应的第三测试脚本,和/或,第二目标测试案例对应的第四测试脚本。
S3、生成所述第一目标测试案例与所述第三测试脚本的映射关系,和/或,所述第二目标测试案例与所述第四测试脚本的映射关系。
S4、将所述第三测试脚本,和/或,第四测试脚本,以及,所述第一目标测试案例与所述第三测试脚本的映射关系,和/或,所述第二目标测试案例与所述第四测试脚本的映射关系存储至版本管理库中。
本申请实施例中,测试案例与测试脚本具有映射关系,存储于测试平台的版本管理库中。
测试平台可以根据从所述版本管理库中获取所述测试案例模板与第一测试脚本的第一映射关系,和/或,所述第三目标测试案例与第二测试脚本的第二映射关系。
第一目标测试案例是根据测试用例模板得到的,第二测试案例是根据第三目标测试案例得到的,测试平台根据所述第一映射关系,和/或,所述第二映射关系从所述版本管理库中获取所述低第一测试脚本和第二测试脚本,并根据所述变更信息,更新所述第一测试脚本,和/或,所述第二测试测脚本,得到第一目标测试案例对应的第三测试脚本,和/或,第二目标测试案例对应的第四测试脚本。
其中,更新所述第一测试脚本,和/或,所述第二测试测脚本的方式与更新第二目标测试案例的方式类似,此处不再赘述。
获取到第一目标测试案例,以及,对应的第三测试脚本,和/或,第二目标测试案例,以及对应的第四测试脚本时,测试平台可以生成各自对应的映射关系,将所述映射关系和测试脚本存储于版本管理库中,以保证测试脚本与测试案例的一致性。
在一些实施例中,确定测试案例和测试脚本时,可以对所述版本变更后的目标程序进行测试,得到测试结果。
示例性的,配置所述版本变更后的目标程序对应的测试环境;在所述测试环境中根据测试脚本执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,得到测试结果;根据测试结果生成测试报告;输出所述测试报告,以及,测试日志。
测试平台可以根据环境测试表配置当期版本变更的目标程序的测试环境,在所述测试环境中根据所述测试脚本执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,得到测试结果。
测试平台可以对所述测试结果进行分析,生成测试报告,包括通过率、失败率等。并将所述测试报告和对应的测试日志输出至对应用户的客户端。例如,大数据平台的测试人员的客户端。
可选的,测试平台集成至所述大数据平台时,测试平台可以监控所述目标程序的测试环境,若所述测试环境中的目标程序版本变更,则所述版本变更后的测试环境已安装至测试环境,可以进行测试。
在一些实施例中,测试平台还可以根据测试报告和测试日志分析测试失败的原因。
示例性的,若所述测试结果表征所述第一目标测试案例,和/或,第二目标测试案例的测试状态为失败状态;则根据所述测试日志,获取错误类型和错误原因;若所述错误类型为非程序类错误,则根据所述错误原因,对所述第一目标测试案例,和/或,第二目标测试案例进行修正;若所述错误类型为程序类错误,则将所述错误类型和所述错误原因发送至用户的客户端。
测试平台可以根据所述测试报告和测试日志,分析测试案例为失败状态案例的错误原因和错误类型。若所述错误类型为非程序类错误,例如,测试案例配置、测试环境等,测试平台可以根据所述错误原因对所述第一目标测试案例,和/或,第二目标测试案例进行修正。
应理解,修正所述第一目标测试案例,和/或,第二目标测试案例可以对案例本身进行修正,也可以为对案例关联的环境、脚本等进行修正。
测试平台可以对所述第一目标测试案例,和/或,第二目标测试案例进行修正后,重新执行上述测试。
若所述错误类型为程序类错误,则将所述错误类型和所述错误原因发送至用户的客户端,以使对应的用户对目标程序进行修正,在目标程序进行修正后,重新执行上述测试。
在上述实施例的基础上,下面将结合图3对本申请实施例提供的测试方法的完整过程进行说明。
图3为本申请实施例提供的测试方法的流程示意图二,如图3所示,包括:
S301、版本程序变更识别和分析。
本申请实施例以测试平台集成至大数据平台为例,执行主体可以为大数据平台的处理单元。
本申请实施例中可以包括如下步骤:
A:版本程序配置:按月度版本配置版本程序对应的分支路径。
B:变更检测:通过版本控制工具对不同版本之间的差异进行监控和对比,实时监测版本变更。
C:变更识别和分析:当监测到变更时,分析版本控制系统的比较结果,识别出影响测试案例的变更内容,包括新增的功能、修改的代码、删除的代码等。
D:确定影响范围:根据变更的变更内容,分析其对现有测试案例的影响,输出需要进行验证的测试清单。
S302、自动化案例维护和更新。
本申请实施例中,根据所述测试清单确定需要进行维护的测试案例或需要新增的案例。
使用自动化工具对测试案例库中存量案例的前置条件、测试步骤、预计结果和测试数据进行更新,得到维护后的测试案例,或者直接新增完整测试案例。
S303、测试案例关联测试脚本,进行测试脚本自动化更新
本申请实施例中,当检测到测试案例变更时,根据变更的测试案例,自动生成或更新自动化测试脚本中的相应部分,更新与测试案例关联的自动化测试脚本,以适应测试案例的变更,同时引入版本控制工具,将测试脚本提交到版本管理库。
S304、当前测试环境变更监测。
本申请实施例中,配置不同月度版本测试环境的信息,并能够根据环境名获取对应的调度服务器和数据库信息,同时设置当期版本的测试主环境。
对当期版本测试环境进行变更监测,当监测到配调度服务器目标程序或数据库信息有变更,则说明版本程序已安装到测试环境。环境发生变更,则将变更标志反馈给持续集成工具。
S305、自动化测试执行。
本申请实施例中,在持续集成工具(如Jekins)上配置自动化测试作业,作业关联自动化测试框架的测试脚本,测试脚本的获取关联版本控制系统。
获取到环境监测模块的变更标志后,利用持续集成工具触发式或定时的调起配置好的持续集成作业。
在作业执行结束后,通过自动化脚本中集成的插件,自动获取关联的测试案例信息,并反馈测试结果。
S306、测试结果跟踪和测试报告生成
本申请实施例中,根据执行结果,更新测试用例的执行状态,包括通过、失败、阻塞等状态。
汇总测试案例的执行结果,包括通过率、失败率等,并整合持续集成作业详细的测试结果日志,包括执行时间、主要错误信息等。结合汇总后的结果指标信息,自动生成全面的测试报告
S307、持续反馈机制。
本申请实施例中,根据测试报告,针对错误作业进行分析排查。
对报错作业进行分析更新对应测试案例,排查作业错误类型,如环境原因、测试案例配置问题、程序问题等,非程序问题则通知进行修复重调作业,若为程序问题,则通知相关人员。
在测试管理工具反馈错误原因,并明确程序修复日期,持续监测版本库程序变更,并自动进行案例维护和测试执行等操作。
本申请实施例提供的测试方法的具体实现方式可以参照上述实施例中的实现方式,此处不再赘述。
本申请实施例还提供一种测试装置。
图4为本申请实施例提供的测试装置40的结构示意图,如图4所示,包括:
获取模块401,用于检测到目标程序版本变更时,获取所述目标程序的变更信息。
处理模块402,用于若根据所述变更信息,确定测试案例库中的测试案例无法满足版本变更后的目标程序的测试需求,则输出所述版本变更后目标程序的待测试清单。
生成模块403,用于根据所述待测试清单,生成至少一个第一目标测试案例,和/或,对所述测试案例库中的至少一个测试案例进行更新,得到至少一个第二目标测试案例。
测试模块404,用于使用所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,并将所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例添加至所述测试案例库。
可选的,生成模块403,还用于获取测试案例模板;根据所述待测试清单,以及,所述版本变更后的目标程序填充所述测试案例模板,生成至少一个第一目标测试案例。
可选的,生成模块403,还用于从所述测试案例库中,获取至少一个第三目标测试案例;根据所述待测试清单对所述第三目标测试案例的前置条件、测试步骤、预计结果,以及,测试数据中的至少一种进行更新,生成至少一个第二目标测试案例。
可选的,处理模块402,还用于获取所述测试案例库中测试案例与所述待测试清单的匹配率;根据所述匹配率确定生成至少一个第一目标测试案例,和/或,生成至少一个第二目标测试案例。
可选的,测试模块404,还用于配置所述版本变更后的目标程序对应的测试环境;在所述测试环境中根据测试脚本执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,得到测试结果;根据测试结果生成测试报告;输出所述测试报告,以及,测试日志。
可选的,测试模块404,还用于若所述测试结果表征所述第一目标测试案例,和/或,第二目标测试案例的测试状态为失败状态;则根据所述测试日志,获取错误类型和错误原因;若所述错误类型为非程序类错误,则根据所述错误原因,对所述第一目标测试案例,和/或,第二目标测试案例进行修正;若所述错误类型为程序类错误,则将所述错误类型和所述错误原因发送至用户的客户端。
可选的,生成模块403,还用于获取所述测试案例模板与第一测试脚本的第一映射关系,和/或,所述第三目标测试案例与第二测试脚本的第二映射关系;根据所述第一映射关系,和/或,第二映射关系,以及,所述变更信息,更新所述第一测试脚本,和/或,所述第二测试测脚本,得到第一目标测试案例对应的第三测试脚本,和/或,第二目标测试案例对应的第四测试脚本;生成所述第一目标测试案例与所述第三测试脚本的映射关系,和/或,所述第二目标测试案例与所述第四测试脚本的映射关系;将所述第三测试脚本,和/或,第四测试脚本,以及,所述第一目标测试案例与所述第三测试脚本的映射关系,和/或,所述第二目标测试案例与所述第四测试脚本的映射关系存储至版本管理库中。
本申请实施例提供的测试装置可以执行上述任一实施例提供的测试方法的技术方案,其原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种电子设备。
图5为本申请实施例提供的电子设备50的结构示意图,如图5所示,包括:
处理器501。
存储器502,用于存储终端设备的可执行指令。
具体的,程序可以包括程序代码,程序代码包括计算机操作指令。存储器502可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器501用于执行存储器502存储的计算机执行指令,以实现前述方法实施例所描述的测试方法实施例的技术方案。
其中,处理器501可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,电子设备50还可以包括通信接口503,以通过通信接口503可以与外部设备进行通信交互,外部设备例如可以是用户终端(例如,手机、平板)。在具体实现上,如果通信接口503、存储器502和处理器501独立实现,则通信接口503、存储器502和处理器501可以通过总线相互连接并完成相互间的通信。
总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口503、存储器502和处理器501集成在一块芯片上实现,则通信接口503、存储器502和处理器501可以通过内部接口完成通信。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述测试方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述测试方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例所述方法的全部或部分步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(ResistiveRandom Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种测试方法,其特征在于,包括:
检测到目标程序版本变更时,获取所述目标程序的变更信息;
若根据所述变更信息,确定测试案例库中的测试案例无法满足版本变更后的目标程序的测试需求,则输出所述版本变更后目标程序的待测试清单;
根据所述待测试清单,生成至少一个第一目标测试案例,和/或,对所述测试案例库中的至少一个测试案例进行更新,生成至少一个第二目标测试案例;
执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,并将所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例添加至所述测试案例库。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待测试清单,生成至少一个第一目标测试案例,包括:
获取测试案例模板;
根据所述待测试清单,以及,所述版本变更后的目标程序填充所述测试案例模板,生成至少一个第一目标测试案例。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待测试清单,对所述测试案例库中的至少一个测试案例进行更新,生成至少一个第二目标测试案例,包括:
从所述测试案例库中,获取至少一个第三目标测试案例;
根据所述待测试清单对所述第三目标测试案例的前置条件、测试步骤、预计结果,以及,测试数据中的至少一种进行更新,生成至少一个第二目标测试案例。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取所述测试案例库中测试案例与所述待测试清单的匹配率;
根据所述匹配率确定生成至少一个第一目标测试案例,和/或,生成至少一个第二目标测试案例。
5.根据权利要求4所述的方法,其特征在于,所述执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,包括:
配置所述版本变更后的目标程序对应的测试环境;
在所述测试环境中根据测试脚本执行所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,得到测试结果;
根据测试结果生成测试报告;
输出所述测试报告,以及,测试日志。
6.根据权利要求5所述的方法,其特征在于,所述输出所述测试报告,以及,测试日志之后,所述方法还包括:
若所述测试结果表征所述第一目标测试案例,和/或,第二目标测试案例的测试状态为失败状态;
则根据所述测试日志,获取错误类型和错误原因;
若所述错误类型为非程序类错误,则根据所述错误原因,对所述第一目标测试案例,和/或,第二目标测试案例进行修正;
若所述错误类型为程序类错误,则将所述错误类型和所述错误原因发送至用户的客户端。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述测试案例模板与第一测试脚本的第一映射关系,和/或,所述第三目标测试案例与第二测试脚本的第二映射关系;
根据所述第一映射关系,和/或,第二映射关系,以及,所述变更信息,更新所述第一测试脚本,和/或,所述第二测试测脚本,得到第一目标测试案例对应的第三测试脚本,和/或,第二目标测试案例对应的第四测试脚本;
生成所述第一目标测试案例与所述第三测试脚本的映射关系,和/或,所述第二目标测试案例与所述第四测试脚本的映射关系;
将所述第三测试脚本,和/或,第四测试脚本,以及,所述第一目标测试案例与所述第三测试脚本的映射关系,和/或,所述第二目标测试案例与所述第四测试脚本的映射关系存储至版本管理库中。
8.一种测试装置,其特征在于,包括:
获取模块,用于检测到目标程序版本变更时,获取所述目标程序的变更信息;
处理模块,用于若根据所述变更信息,确定测试案例库中的测试案例无法满足版本变更后的目标程序的测试需求,则输出所述版本变更后目标程序的待测试清单;
生成模块,用于根据所述待测试清单,生成至少一个第一目标测试案例,和/或,对所述测试案例库中的至少一个测试案例进行更新,得到至少一个第二目标测试案例;
测试模块,用于使用所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例,对所述版本变更后目标程序进行测试,并将所述至少一个第一目标测试案例,和/或,所述至少一个第二目标测试案例添加至所述测试案例库。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7中任一项所述的方法。
CN202311052952.3A 2023-08-21 2023-08-21 测试方法、装置、电子设备及存储介质 Pending CN117076312A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311052952.3A CN117076312A (zh) 2023-08-21 2023-08-21 测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311052952.3A CN117076312A (zh) 2023-08-21 2023-08-21 测试方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117076312A true CN117076312A (zh) 2023-11-17

Family

ID=88703797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311052952.3A Pending CN117076312A (zh) 2023-08-21 2023-08-21 测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117076312A (zh)

Similar Documents

Publication Publication Date Title
US11226892B2 (en) Analyzing software test failures using natural language processing and machine learning
US9824002B2 (en) Tracking of code base and defect diagnostic coupling with automated triage
US9405662B2 (en) Process for displaying test coverage data during code reviews
US8191048B2 (en) Automated testing and qualification of software-based, network service products
US9928162B2 (en) Identifying severity of test execution failures by analyzing test execution logs
US10452515B2 (en) Automated root cause detection using data flow analysis
US7930597B2 (en) Method and apparatus for validating system properties exhibited in execution traces
US10657028B2 (en) Method for replicating production behaviours in a development environment
US10635575B2 (en) Testing of enterprise resource planning systems
CN109284331B (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN114201408A (zh) 回归测试方法、装置、计算机设备及存储介质
CN109324968B (zh) 一种系统测试方法及装置
CN115952081A (zh) 一种软件测试方法、装置、存储介质及设备
CN111858377B (zh) 测试脚本的质量评价方法、装置、电子设备及存储介质
CN110908903B (zh) 一种基于可编辑yaml文件的测试方法
CN112817847A (zh) 数据处理任务的测试方法、装置、电子设备及存储介质
US11960862B2 (en) Source code correction assistance apparatus and source code correction assistance method
CN117076312A (zh) 测试方法、装置、电子设备及存储介质
US10481969B2 (en) Configurable system wide tests
CN112631905A (zh) 执行过程数据管理方法、装置、计算机设备及存储介质
US10437710B2 (en) Code coverage testing utilizing test-to-file maps
CN117472641B (zh) 数据质量的检测方法、装置、电子设备及存储介质
US20230195609A1 (en) Automatic generation of summary report for validation tests of computing systems
CN116860505A (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