CN109766263A - 自动化测试分析处理方法、装置、计算机设备及存储介质 - Google Patents

自动化测试分析处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN109766263A
CN109766263A CN201811536554.8A CN201811536554A CN109766263A CN 109766263 A CN109766263 A CN 109766263A CN 201811536554 A CN201811536554 A CN 201811536554A CN 109766263 A CN109766263 A CN 109766263A
Authority
CN
China
Prior art keywords
interface
test
data
interface data
case
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
CN201811536554.8A
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology 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 OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201811536554.8A priority Critical patent/CN109766263A/zh
Publication of CN109766263A publication Critical patent/CN109766263A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种自动化测试分析处理方法、装置、计算机设备及存储介质。该方法包括:获取测试分析请求,所述测试分析请求包括目标系统标识和目标测试周期;基于所述目标系统标识查询对应的接口文档库,获取所述接口文档库中的标准接口数据对应的总接口数;基于所述目标系统标识查询对应的测试数据库,获取所述目标测试周期内测试接口数据对应的已测接口数;采用覆盖率公式对所述总接口数和所述已测接口数进行计算,获取接口覆盖率;若所述接口覆盖率小于覆盖率阈值,则基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据。该方法可以证所确定的漏测接口的客观性,以保证基于漏测接口进行测试的客观性和测试质量。

Description

自动化测试分析处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及软件测试领域,尤其涉及一种自动化测试分析处理方法、装置、计算机设备及存储介质。
背景技术
在软件开发过程中,需对软件开发的每一阶段所形成的软件版本进行测试,以检查该软件版本是否存在缺陷、错误,并验证该软件版本与其说明书和用户手册是否一致。或者,在新的软件版本开发过程中,当开发人员对原有的软件版本中的旧代码进行修改,需重新进行测试以确认此次修改有没有产生新的错误或者导致其他代码产生错误。在上述软件版本的测试过程中,需对软件版本中包含的接口进行测试,以保障该软件版本可通过接口实现前端(一般为客户端)访问后端(一般为服务器端),从而实现该软件版本的相关功能。在当前软件版本的接口测试过程中,因无客观数据支撑接口测试,主要依赖测试人员的专业素养及经验决定对哪些接口进行测试。这种依赖测试人员的经验和主观判断进行测试决策的方式,容易导致部分接口没有被测试到,从而导致较大的质量风险。
发明内容
本发明实施例提供一种自动化测试分析处理方法、装置、计算机设备及存储介质,以解决当前软件版本的接口测试过程无客观数据支撑而导致质量风险较大的问题。
一种自动化测试分析处理方法,包括:
获取测试分析请求,所述测试分析请求包括目标系统标识和目标测试周期;
基于所述目标系统标识查询对应的接口文档库,获取所述接口文档库中的标准接口数据对应的总接口数;
基于所述目标系统标识查询对应的测试数据库,获取所述目标测试周期内测试接口数据对应的已测接口数;
采用覆盖率公式对所述总接口数和所述已测接口数进行计算,获取接口覆盖率,所述覆盖率公式为P=N/S,其中,P为接口覆盖率,N为已测接口数,S为总接口数;
若所述接口覆盖率小于覆盖率阈值,则基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据。
一种自动化测试分析处理装置,包括:
测试分析请求获取模块,获取测试分析请求,所述测试分析请求包括目标系统标识和目标测试周期;
总接口数获取模块,用于基于所述目标系统标识查询对应的接口文档库,获取所述接口文档库中的标准接口数据对应的总接口数;
已测接口数获取模块,用于基于所述目标系统标识查询对应的测试数据库,获取所述目标测试周期内测试接口数据对应的已测接口数;
接口覆盖率获取模块,用于采用覆盖率公式对所述总接口数和所述已测接口数进行计算,获取接口覆盖率,所述覆盖率公式为P=N/S,其中,P为接口覆盖率,N为已测接口数,S为总接口数;
漏测接口数据获取模块,用于若所述接口覆盖率小于覆盖率阈值,则基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述自动化测试分析处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述自动化测试分析处理方法的步骤。
上述自动化测试分析处理方法、装置、计算机设备及存储介质,先根据目标系统标识获取所有标准接口数据对应的总接口数,以便了解该目标系统所有接口的数量;再根据目标系统标识和目标测试周期获取测试接口数据对应的已测接口数,以便了解该目标系统中已测接口对应的数量。再采用覆盖率公式对总接口数和已测接口数进行计算,以获取接口覆盖率,使得获取的接口覆盖率具有客观性。最后,在接口覆盖率小于覆盖率阈值时,基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据,以保证所确定的漏测接口的客观性,以保证基于漏测接口进行测试的客观性和测试质量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中自动化测试分析处理方法的一应用环境示意图;
图2是本发明一实施例中自动化测试分析处理方法的一流程图;
图3是本发明一实施例中自动化测试分析处理方法的另一流程图;
图4是本发明一实施例中自动化测试分析处理方法的另一流程图;
图5是本发明一实施例中自动化测试分析处理方法的另一流程图;
图6是本发明一实施例中自动化测试分析处理方法的另一流程图;
图7是本发明一实施例中自动化测试分析处理装置的一示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的自动化测试分析处理方法,该自动化测试分析处理方法可应用如图1所示的应用环境中。具体地,该自动化测试分析处理方法应用在自动化测试平台中,该自动化测试平台包括如图1所示的客户端和服务器端,客户端与服务器端通过网络进行通信,用于实现软件版本测试过程中漏测接口进行分析,以便后续对漏测接口进行测试,提高接口测试的客观性,进而提高软件版本的质量,避免因漏测接口而导致的质量风险。其中,客户端又称为用户端、前端或者浏览器端,是指与服务器端相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器端又称为后端,可以用独立的服务器端或者是多个服务器端组成的服务器端集群来实现。
在一实施例中,如图2所示,提供一种自动化测试分析处理方法,以该方法应用在图1中的服务器端为例进行说明,包括如下步骤:
S201:获取测试分析请求,测试分析请求包括目标系统标识和目标测试周期。
其中,测试分析请求是用于触发服务器端对软件版本测试过程中漏测接口进行分析的请求。目标系统标识是用于区别目标系统的标识,该目标系统为本次数据抓取任务所要抓取接口数据对应的系统。漏测接口是指在软件版本测试过程中没有被测试到的接口。目标测试周期一般为本次测试分析请求所需分析的软件版本进行测试的周期。例如,若该自动化测试平台需对平安一帐通APP或者平安一帐通客户端访问服务器端进行测试时,目标系统为平安一帐通系统,该目标系统标识为平安一帐通系统对应的标识。
S202:基于目标系统标识查询对应的接口文档库,获取接口文档库中的标准接口数据对应的总接口数。
其中,接口文档库是用于存储标准接口数据的数据库。标准接口数据是预先存储在接口文档库中的接口数据。该标准接口数据可以以excel、word或者其他文档形式存在,即可存储成接口文档形式,以便进行接口文档维护。具体地,接口文档库中任意两个标准接口数据不相同,即存储在接口文档库中的标准接口数据具有唯一性,每一标准接口数据对应一接口。
本实施例中,服务器端基于目标系统标识查询与该目标系统标识相对应的接口文档库,获取该接口文档库中所有标准接口数据对应的总接口数,以便了解该目标系统标识对应的目标系统一共包含多少接口,以便后续进行接口测试的分析和决策,以提高接口测试的客观性。
S203:基于目标系统标识查询对应的测试数据库,获取目标测试周期内测试接口数据对应的已测接口数。
其中,测试数据库是用于存储软件版本在测试过程中所有测试数据(尤其是测试接口数据)的数据库。可以理解地,每一目标系统对应的测试数据存储在与其目标系统标识相对应的测试数据库中,用于区分不同目标系统的测试数据,以实现对该目标系统的测试数据进行系统管理。测试接口数据是指软件版本在测试过程中通过接口实现前端访问后端过程中形成的数据。可以理解地,每一测试接口数据携带一测试时间戳,用于反映该测试接口数据对应的测试时间。
本实施例中,服务器端根据目标系统标识查询与该目标系统标识相对应的测试数据库,将测试接口数据的测试时间戳在目标测试周期内的所有测试接口数据挑选出来,并根据挑选出来的测试接口数据获取相对应的已测接口数。由于每一测试接口数据对应的一已测接口(即已经被测试过的接口),则将挑选出来的测试接口数据对应的已测接口的数量确定为已测接口数。可以理解地,在获取挑选出来的测试接口对应的已测接口的过程中,需对所有测试接口数据进行去重处理,将去重处理后的测试接口数据的数量确定为已测接口数。本实施例所提供的所有去重处理均是指将两个接口数据所携带的路径和请求方法进行匹配,若两者完全相同,则认定为重复接口数据,需去除,以保留其中一个接口数据。
S204:采用覆盖率公式对总接口数和已测接口数进行计算,获取接口覆盖率,覆盖率公式为P=N/S,其中,P为接口覆盖率,N为已测接口数,S为总接口数。
其中,覆盖率公式用于计算软件版本在目标测试周期内进行测试时,其接口覆盖率的公式。由覆盖率公式可知,软件版本在目标测试周期内进行测试时,已经被测试过的测试接口数据对应的已测接口数与接口文档库中所有标准接口数据对应的总接口数的比值为接口覆盖率,可反映在该目标测试周期内,接口测试的全面度。
S205:若接口覆盖率小于覆盖率阈值,则基于测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据。
其中,覆盖率阈值是预先设置的用于根据覆盖率评估是否需要进行漏测分析的阈值。该覆盖率阈值可根据实际需求自主设置,一般来说,覆盖率阈值设置得越大,其测试过程中需测试到的接口越多,则其测试越全面,软件版本测试之后的质量越好。漏测接口数据是指漏测接口对应的接口数据。该漏测接口是指所需测试的软件版本在目标测试周期内没有被测试到的接口。
本实施例中,服务器端在获取接口覆盖率之后,需将该接口覆盖率与预先设置的覆盖率阈值进行比较。若接口覆盖率小于覆盖率阈值,则说明本次软件版本测试没有达到预先设置的标准,需查找漏测接口,以便基于漏测接口进行重新测试。因此,服务器端需基于测试接口数据和接口文档库中的标准接口数据进行分析,获取漏测接口数据,以便基于漏测接口数据进行后续测试,提高接口测试的客观性,使其测试过程无需依赖测试人员的经验和主观判断,提高测试后形成的软件版本的质量。若接口覆盖率不小于覆盖率阈值,则说明本次软件版本测试已经达到预先设置的标准,无需再查找漏测接口并基于漏测接口进行重新测试,从而节省重复测试时间,提高测试效率。
具体地,基于测试接口数据和接口文档库中的标准接口数据进行分析,获取漏测接口数据,具体是指分析测试接口数据与接口文档库中的标准接口数据是否对应同一接口;若对应同一接口,则该标准接口数据不为漏测接口数据;反之,若不对应同一接口,则该标准接口数据为漏测接口数据。
本实施例所提供的自动化测试分析处理方法中,先根据目标系统标识获取所有标准接口数据对应的总接口数,以便了解该目标系统所有接口的数量;再根据目标系统标识和目标测试周期获取测试接口数据对应的已测接口数,以便了解该目标系统中已测接口对应的数量。再采用覆盖率公式对总接口数和已测接口数进行计算,以获取接口覆盖率,使得获取的接口覆盖率具有客观性。最后,在接口覆盖率小于覆盖率阈值时,若接口覆盖率小于覆盖率阈值,则基于测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据,以保证所确定的漏测接口的客观性,以保证基于漏测接口进行测试的客观性和测试质量。
在一实施例中,该自动化测试分析处理方法可应用在回归测试过程中,用于对回归测试周期内的测试接口进行分析,以便决定是否需要确定漏测接口,并基于漏测接口进行回归测试。其中,回归测试是指修改旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的测试。可以理解地,回归测试作为软件生命周期的一个组成部分,可大幅降低系统测试、维护升级等阶段的成本,因此,在软件开发的各个阶段都会进行多次回归测试。
在回归测试阶段,步骤S201所获取的测试分析请求为回归测试分析请求,该回归测试分析请求是用于触发服务器端对软件版本在某次回归测试过程中漏测接口进行分析的请求。该回归测试分析请求包括目标系统标识和回归测试周期。该回归测试周期是指本次回归测试的周期,具体是指修改旧代码之后进行测试的周期。
相应地,步骤S203中获取的已测接口数具体为回归测试周期内测试接口数据对应的已测接口数。
相应地,步骤S204中采用覆盖率公式对总接口数和已测接口数进行计算,所获得的接口覆盖率具体为回归接口覆盖率。该回归接口覆盖率是指回归测试周期内,已测接口数与接口文档库中所有标准接口数据对应的总接口数的比值,可反映回归测试过程中所有接口被测试的程度。
相应地,步骤S205中的覆盖率阈值具体为第一覆盖率阈值,具体为针对回归测试的测试需求自主配置的覆盖率阈值。本实施例中,若回归接口覆盖率小于第一覆盖率阈值,则说明回归测试过程中,接口测试没有达到预设的标准,需基于测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据,以便后续基于该漏测接口数据进行回归测试,提高回归测试过程中的客观性,无需依赖测试人员的经验和主观判断,提高回归测试后的软件版本的质量。
在另一实施例中,该自动化测试分析处理方法可应用在用例测试过程中,用于对用例测试过程中,用于对用例测试周期内的测试接口进行分析,以便确定是否需要确定漏测接口,并基于漏测接口进行后续测试安排,提高用例测试过程中的客观性和质量。其中,用例测试是指基于自动化测试平台预先配置的原始测试用例进行测试的过程。原始测试用例是基于接口文档库中的至少一个标准接口数据形成的目标接口数据和对应的接口顺序组合形成的测试用例,并将该原始测试用例存储在用例数据库中。可以理解地,用例数据库中所有原始测试用例所包含的目标接口数据覆盖整个接口文档库中的标准接口数据,以保证基于用例数据库中的原始测试用例进行测试时,软件版本中所有接口功能均可被测试到。一般来说,用例测试一般应用在某一软件版本改版或者升级过程中,例如微信V3.1升级到微信4.1时进行的测试。
在用例测试阶段,步骤S201中的获取测试分析请求,测试分析请求包括目标系统标识和目标测试周期,具体包括如下步骤:获取用例测试分析请求,用例测试分析请求包括目标系统标识和用例测试周期。
该用例测试分析请求是用于触发服务器端对软件版本在用例测试过程中漏测接口进行分析的请求。该用例测试分析请求包括目标系统标识和用例测试周期。该用例测试周期是指本次用例测试的周期,具体是指在新的软件版本开发完成后,基于测试用例库中预先配置的原始测试用例对新的软件版本进行测试的周期。
相应地,步骤S203中的基于目标系统标识查询对应的测试数据库,获取目标测试周期内测试接口数据对应的已测接口数,具体包括如下步骤:
S2031:基于目标系统标识查询对应的测试数据库,获取用例测试周期内测试接口数据对应的已测测试用例。
其中,已测测试用例是指在用例测试周期内已经进行过测试的原始测试用例。每一已测测试用例对应一用例标识,则基于该已测测试用例所形成的测试接口数据也携带相应的用例标识,以便区分某一测试接口数据是基于哪个原始测试用例进行测试后形成的数据。并且,每一已测测试用例携带一测试时间戳,该测试时间戳反映已测测试用例对应的测试时间。可以理解地,每一已测测试用例包括至少一个测试接口数据。具体地,服务器端在获取用例测试分析请求之后,根据目标系统标识查询与该目标系统标识相对应的测试数据库,可获取测试时间戳在在用例测试周期内的已测测试用例。
S2032:将已测测试用例与测试用例库中预先配置的原始测试用例进行匹配,获取至少一个未测测试用例,每一未测测试用例包括至少一个未测接口数据。
具体地,服务器端将测试时间戳在用例测试周期内的所有已测测试用例与测试用例库中预先配置的原始测试用例进行匹配,将与该已测测试用例匹配不成功的原始测试用例确定为未测测试用例。每一未测测试用例包括至少一个未测接口数据,即没有被测试到的接口对应的接口数据。
S2033:对至少一个未测测试用例中的未测接口数据进行统计,获取未测接口数。
具体地,服务器端在获取到至少一个未测测试用例之后,会对至少一个未测测试用例中的未测接口数据进行去重处理,并根据去重处理后的未测接口数据,获取与至少一个未测测试用例相对应的未测接口数。
S2034:基于接口文档库中的标准接口数据对应的总接口数和未测接口数,获取对应的已测接口数。
具体地,服务器端将接口文档库中的标准接口数据对应的总接口数减去步骤S2033中获取的未测接口数,得到的差值即为已测接口数。
一般来说,触发用例测试分析请求主要的目的是查漏,即确定用例测试过程中有哪些漏测接口。在触发用例测试分析请求之前,用例数据库中大部分的原始测试用例均被测试过,即已测测试用例在用例数据库中的占比比较大,若直接对所有已测测试用例对应的测试接口数据统计进行去重处理,再统计测试接口数据的已测接口数据,将会导致其工作量较大,影响测试效率。本实施例中,根据标准接口数据对应的总接口数和未测接口数的差值确定已测接口数,由于未测测试用例的数量较少,使得其计算过程工作量少,可提高测试效率。
相应地,步骤S204中的采用覆盖率公式对总接口数和已测接口数进行计算,所获得的接口覆盖率具体为用例接口覆盖率。该用例接口覆盖率是指用例测试周期内,已测接口数与接口文档库中所有标准接口数据对应的总接口数的比值,可反映用例测试过程中所有接口被测试的程度。
相应地,步骤S205中的覆盖率阈值具体为第二覆盖率阈值,具体为针对用例测试的测试需求自主配置的覆盖率阈值,该第二覆盖率阈值可以和第一覆盖率阈值相同,也可以不相同。
相应地,步骤S205中的若接口覆盖率小于覆盖率阈值,则基于测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据,包括:
S2051:若接口覆盖率小于覆盖率阈值,则对用例测试周期内测试接口数据对应的已测测试用例的测试接口数据进行去重处理,获取去重处理后的测试接口数据。
本实施例中,若接口覆盖率小于覆盖率阈值,具体是指用例接口覆盖率小于第二覆盖率阈值。可以理解地,服务器端只有在用例接口覆盖率小于第二覆盖率阈值的情况下,才需要对用例测试周期内测试接口数据对应的已测测试用例的测试接口数据进行去重处理,获取去重处理后的测试接口数据。相应地,若用例接口覆盖率不小于第二覆盖率阈值,则无需执行对用例测试周期内测试接口数据对应的已测测试用例的测试接口数据进行去重处理,获取去重处理后的测试接口数据的步骤,以减少测试的工作量。
S2052:基于去重处理后的测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据。
本实施例中,需将去重处理后的测试接口数据与接口文档库中的标准接口数据进行分析,以获取漏测接口数据,以便基于漏测接口数据进行后续测试,提高接口测试的客观性,使其测试过程无需依赖测试人员的经验和主观判断,提高测试后的软件版本的质量。具体地,将去重处理后的测试接口数据与接口文档库中的标准接口数据进行分析具体是指分析去重处理后的测试接口数据与接口文档库中的标准接口数据是否对应同一接口;若对应同一接口,则该标准接口数据不为漏测接口数据;反之,若不对应同一接口,则该标准接口数据为漏测接口数据。
本实施例所提供的自动化测试分析处理方法中,根据已测测试用例和测试用例库中的原始测试用例进行匹配,以获取数量较少的未测测试用例;再通过对未测测试用例的未测接口数据进行统计,根据获取到的未测接口数和总接口数可快速计算已测接口数,相比于直接基于数量较多的已测测试用例的测试接口数据计算已测接口数,其统计过程计算量少,有利于提高已测接口数的获取速度。只有在接口覆盖率小于覆盖率阈值的情况下,才需要统计去重处理后的测试接口数据并分析其漏测接口数据,以节省重复测试时间,提高测试效率。
在一实施例中,如图3所示,步骤S205中的若接口覆盖率小于覆盖率阈值,则基于测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据,具体包括如下步骤:
S301:采用字符串匹配算法,对接口文档库中的标准接口数据的路径和请求方法与测试接口数据中的路径和请求方法分别进行匹配处理。
具体地,测试接口数据和标准接口数据均包含请求方法(method)、状态、路径(path)、请求头(head)、请求体(body)、请求时间、响应体、cookies和Host这些接口参数,且在同一目标系统下,路径(path)和请求方法(method)组成的客户端(即前端)调用服务器端(即后端)的映入入口,因此,在同一目标系统下,路径(path)和请求方法(method)完全一致就认为是同一接口。
具体地,服务器端采用预先配置的字符串匹配算法,将标准接口数据的路径(path)分别与测试接口数据的路径(path)进行匹配处理,以判断标准接口数据和测试接口数据的路径(path)是否相同;并将标准接口数据的请求方法(method)和测试接口数据的请求方法(method)进行匹配处理,以判断标准接口数据和测试接口数据的请求方法(method)是否相同,从而确定该标准接口数据是否为已测接口数据。本实施例中,字符串匹配算法可采用但不限于Knuth-Morris-Pratt字符串匹配算法(即KMP算法)。
S302:若路径和请求方法均相同,则标准接口数据不为漏测接口数据。
本实施例中,若标准接口数据的路径(path)与测试接口数据的路径(path)相同,且标准接口数据的请求方法(method)和测试接口数据的请求方法(method)相同,则认定标准接口数据和测试接口数据为目标系统下同一接口所形成的接口数据,以确定该标准接口数据为测试接口数据而不为漏测接口数据,在后续测试过程中无需进行重复测试,以节省重复测试的时间,提高测试效率。
S303:若路径和/或请求方法不相同,则标准接口数据为漏测接口数据。
本实施例中,若标准接口数据的路径(path)与测试接口数据的路径(path)不相同,或者标准接口数据的请求方法(method)和测试接口数据的请求方法(method)不相同,又或者标准接口数据和测试接口数据的路径(path)和请求方法(method)均不相同,则认定测试接口数据和标准接口数据不是目标系统下同一接口所形成的接口数据,以确定该标准接口数据为漏测接口数据,在后续测试过程中需进行测试,以保证测试质量。
本实施例所提供的自动化测试分析处理方法中,在标准接口数据和测试接口数据的所有接口参数中,只选取用于组合形成客户端调用服务器端的映射入口的路径(path)和请求方法(method)进行匹配处理,可有效简化其匹配处理过程,无需对所有接口参数进行匹配,提高漏测接口的获取效率。
在一实施例中,如图4所示,在漏测接口数据的步骤之后,自动化测试分析处理方法还包括如下步骤:
S401:获取客户端发送的用例编辑请求,用例编辑请求包括接口顺序和至少一个接口需求,接口需求包括漏测接口需求。
其中,用例编辑请求是用于触发服务器端进行测试用例编辑的请求。该用例编辑请求具体为HTTP请求。接口需求是用于描述本次用例编辑请求所需编辑的测试用例所包含的功能的需求。漏测接口需求是用于反映漏测接口对应的功能需求。接口顺序是用于限定两个或者两个以上接口需求之间先后顺序的需求。可以理解地,为了实现对漏测接口进行测试,客户端触发的用例编辑请求中的至少一个接口需求中应当至少包含一个漏测接口需求(可以全部是漏测接口需求,也可以部分是漏测接口需求),以实现对漏测接口进行测试。例如,若所需编辑的测试用例为淘宝的支付功能,其漏测接口需求为买方信息确认需求,其可与其他接口需求一起形成用例编辑请求,则其接口需求依次为登录需求、物品浏览需求、购买车需求、买方信息确认需求和支付需求等五个接口需求。
S402:基于至少一个接口需求查询接口文档库,获取与每一接口需求相对应的标准接口数据,标准接口数据包含与漏测接口需求相对应的漏测接口数据。
如上所述,接口文档库中存储有多个标准接口数据,每一标准接口数据对应一接口,并且接口文档库中每一标准接口数据可以存储成接口文档形式,并以其功能描述对应的接口名称对接口文档进行命名,以便对接口文档库中的标准接口数据进行规范处理。
具体地,服务器端在接收到用例编辑请求时,可依据该用例编辑请求中的每一接口需求,查询接口文档库中是否存在与该接口需求相匹配的接口名称,若存在与接口需求相匹配的接口名称,则将该接口名称对应的标准接口数据确定为该接口需求对应的标准接口数据。可以理解地,由于接口需求中至少包含一个漏测接口需求,则所获取到的标准接口数据也应该至少包含一个漏测接口数据。相应地,若不存在与接口需求相匹配的接口名称,则需给客户端发送提醒信息,以提醒测试人员编辑与该接口需求相对应的标准接口数据,并将该标准接口数据存储在接口文档库中,以充实接口文档库。
S403:控制客户端显示标准接口数据,并获取客户端发送的接口修改请求,接口修改请求包括目标接口标识和目标修改参数。
其中,接口修改请求是用于触发服务器端进行接口参数修改的请求。该接口修改请求是测试人员通过客户端对用例编辑页面显示的标准接口数据中的接口参数进行修改的请求。目标接口标识是指本次接口修改请求所要修改的目标接口对应的标识。目标修改参数是指本次接口修改请求所要修改的目标接口对应的接口参数。
具体地,服务器端在从接口文档库中获取到与每一接口需求相对应的标准接口数据时,需控制客户端的用例编辑页面显示该包含漏测接口数据在内的标准接口数据,以使测试人员可获知包含漏测接口数据在内的标准接口数据的接口参数,以便进行修改。例如,在用例编辑页面上显示的标准接口数据的接口参数时,会显示接口名称、host、状态码、请求体、参数、流程编号和文件路径这几个接口参数对应的参数输入框,该参数输入框中默认显示标准接口数据对应的接口参数,测试人员可对参数输入框中默认显示的接口参数进行修改,以输入相应的接口修改请求,以实现快速修改。例如,根据测试需求,需要对催收接口中的请求体的内容进行修改,则目标接口标识为催收接口对应的标识,目标修改参数为测试人员在请求体这一参数输入框中填写的参数内容,以实现快速修改。一般来说,只有在开发人员修改服务器端的接口等特殊情况时,才需进行人工干预维护标准接口数据中的接口参数,否则可直接调用相应的标准接口数据作为目标接口数据,以提高目标接口数据的获取效率。
S404:基于目标修改参数,对与目标接口标识相对应的标准接口数据进行修改和调试,获取调试成功的目标接口数据。
目标接口数据是指对包含漏测接口数据在内的标准接口数据进行修改和调试后,确定调试成功的目标接口数据,用于保证后续基于目标接口数据生成的测试用例在进行测试时,测试过程不受该目标接口数据对应的接口的影响。即只有调试成功的目标接口数据才可以生成测试用例,以避免后续基于目标接口数据形成的测试用例在自动化测试过程中,因某一接口的目标接口数据出错导致测试用例的自动化测试过程出错,影响自动化测试的效率和准确性。
例如,在淘宝查找宝贝功能的自动化测试过程中,需输入不同关键字去搜索不同的宝贝信息,因此,在生成相应的目标测试用例过程中,也需要传入不同的接口参数来达到场景覆盖的目的,因此需要对所确定的标准接口数据中的接口参数进行修改和调试,以使所生成的目标测试用例达到场景覆盖的目的。具体地,基于接口修改请求,对与目标接口标识相对应的标准接口数据进行修改和调试过程包括如下几种情况:
(1)修改数据—>执行失败—>修改数据—>执行成功,获取调试成功的目标接口数据;或者
(2)修改数据—>执行成功,获取调试成功的目标接口数据;或者
(3)修改数据—>执行失败—>修改数据—>执行失败—>修改数据—>N个循环……执行成功,获取调试成功的目标接口数据。
可以理解地,服务器端在获取接口修改请求之后,基于目标修改参数修改数据,执行修改后的数据,获取执行结果;若执行结果为执行失败,则重复执行基于目标修改参数修改数据,执行修改后的数据,获取执行结果这一步骤,直至获取执行结果为执行成功的循环过程即为调试过程,这种调试过程可保障所获取到的每一调试成功的目标接口数据在形成的目标测试用例在自动化测试过程中,不会因为目标接口数据对应的单个接口原因导致测试失败,以保障自动化测试的效率和准确性。
又例如,在模拟用户登录操作流程的测试用例,只需要修改目标接口标识对应的目标接口(即登录接口)中不同的用户名和密码,并根据用户名和密码这些目标修改参数对标准接口数据进行修改和调试,使其登录成功(即调试成功),以获取目标接口数据。相比于其他同类产品中,需要在其用例编辑界面上显示的接口名称、host、状态码、请求体、参数、流程编号和文件路径这几个接口参数对应的参数输入框手动输入所有的接口参数,本实施例中只需对改动的内容进行输入,由于改动的内容少,出错的概率更小,效率也高,调试的过程总体上出错的概率也会少很多。
进一步地,基于目标修改参数,对与目标接口标识相对应的标准接口数据进行修改和调试,具体包括:基于目标修改参数,对目标修改参数进行规范检测;若规范检测通过,则对与目标接口标识相对应的标准接口数据进行修改和调试。可以理解地,对目标修改参数进行规范检测,以使目标修改参数符合标准接口数据中各接口参数的编写规范,以保障自动化测试的顺利进行。
例如,在对标准接口数据中的请求体进行修改的过程中,需对请求体进行规范检测,以保证自动化测试的顺利进行。在对请求体进行规范检测包括如下几点内容:其一是,请求体的结构类型要和请求头声明的类型相符,如请求头声明json类型,请求体就必须是json类型,否则,服务器端就会返回类型异常的提醒信息,以提醒测试人员进行修改。其二是,请求体的字段要与后端要求的字段一致,缺少必要字段或者字段名不对时,服务器端会返回字段异常的提醒信息,以提醒测试人员进行修改。
S405:依据接口顺序对至少一个目标接口数据进行组合,形成目标测试用例。
具体地,服务器端依据用例编辑请求中的接口顺序,对依据每一接口需求获取到的调试成功的目标接口数据进行组合,以形成可实现特定功能需求的目标测试用例。可以理解地,服务器端在形成目标测试用例后,会将该目标测试用例存储在用例数据库中,使每一目标测试用例对应一用例标识,以便基于该用例标识快速查找到相应的目标测试用例。可以理解地,在将目标测试用例存储在用例数据库之后,若需重新进行用例测试分析时,则该目标测试用例可认定为测试用例库中的原始测试用例。
由于标准接口数据存储在接口文档库中,可提高该标准接口数据的可复用性,只需一次导入至接口文档库中,即可被多个目标测试用例重复引用,并可与其他标准接口数据组合形成不同目标测试用例,以提高目标测试用例的生成效率。由于标准接口数据中包含功能描述、请求方法(method)、URL参数、状态、路径(path)、请求头(head)、请求体(body)、请求时间、响应体和cookies等接口参数,这些接口参数构建一个完整且规范可执行的接口,使得基于至少一个接口需求对应的目标接口数据依据其接口顺序进行组合,即可形成新的目标测试用例,提高目标测试用例的生成效率,有助于提高自动化测试的的效率。
本实施例所提供的自动化测试分析处理方法中,可根据用例编辑请求中每一接口需求查找接口文档库,快速查找到相应的标准接口数据,无需测试人员自行编辑相应的标准接口数据,提高标准接口数据的获取效率。并且,只需通过接口修改请求对标准接口数据中部分接口参数进行修改,改动内容较少,出错概率更低,以提高修改后的目标接口数据的获取效率和准确性。而且,需对修改的标准接口数据进行调试,只基于调试成功的目标接口数据生成目标测试用例,以避免因目标接口数据出错导致所形成的目标测试用例的自动化测试过程出错,从而提高自动化测试的效率。基于接口顺序对至少一个目标接口数据进行组合,可快速形成目标测试用例,提高目标测试用例的效率。
在一实施例中,在形成目标测试用例的步骤之后,分析方法还包括:采用正则表达式匹配算法对目标测试用例中的每一目标接口数据的进行静态文件过滤,获取更新的目标测试用例。
具体地,服务器端预先配置有用于匹配目标接口数据中的静态文件的正则表达式,基于该正则表达式形成的正则表达式匹配算法对目标测试用例中每一目标接口数据进行静态文件过程,以去除目标接口数据中的静态文件,从而获取更新的目标测试用例,即可以减少目标测试用例中的数据量和后续维护的工作量,并可以使后续基于目标测试用例进行过程中,排除静态文件的影响,提高效率。例如,可采用正则表达式匹配算法对目标接口数据中的URL进行过滤,以去除目标接口数据中存在的静态文件。该静态文件指的是web系统用来渲染客户端页面的Html、CSS和JS之类的文件。
在一实施例中,如图5所示,在形成目标测试用例的步骤之后,自动化测试分析处理方法还包括如下步骤:
S501:获取客户端发送的用例测试请求,用例测试请求包括目标用例标识。
其中,用例测试请求是用于触发服务器端自动执行测试用例的请求。该用例测试请求具体为HTTP请求。目标用例标识是用于唯一识别某一目标测试用例的标识。每一用例标识对应的一目标测试用例。
S502:基于目标用例标识查询用例数据库,获取与目标用例标识相对应的目标测试用例,目标测试用例包括接口顺序和至少一个目标接口数据,每一目标接口数据对应一执行对象。
具体地,服务器端在接收到用例测试请求之后,基于该用例测试请求中的目标用例标识查询用例数据库,以获取与目标用例标识相对应的目标测试用例。可以理解地,用例数据库中存储的所有目标测试用例为依据步骤S401-S405所获取的目标测试用例,该包括接口顺序和至少一个目标接口数据,而且,每一目标接口数据对应一执行对象。其中,执行对象是指执行目标测试用例过程中需要访问的对象。例如,在自动化测试过程中,目标测试用例所需访问的对象一般为测试环境db、测试环境服务器端和平台script服务器端。一般来说,自动化测试过程中,目标测试用例主要的作用对象是测试环境服务器端,而测试环境DB和平台script服务器端只是辅助(一般根据需要手动构建)。
S503:依据接口顺序,依次执行目标接口数据,从与目标接口数据对应的执行对象中获取对应的测试数据。
本实施例中,存储在接口文档库中的标准接口数据一般携带有初始数据,以保证标准接口数据可直接进行调用和测试。在步骤S401-S405中基于标准接口数据生成目标测试用例过程中,若没有对标准接口数据进行修改,则其生成的目标测试用例进行自动化测试时就会将默认的初始数据加载进来,以保证自动化测试的顺利进行;若对标准接口数据根据实际情况进行修改,则服务器端对修改后的标准接口数据进行调试,只基于调试成功的目标接口数据形成目标测试用例,使得调试过程中形成的目标接口数据也携带用目标修改参数对应的初始数据,在其生成的目标测试用例进行自动化测试时就会将默认的初始数据加载进来,以保证自动化测试的顺利进行。
一般来说,一个Web系统由前端和后端组成,前端通常为客户端,而后面为服务器端。如上所述,客户端的访问包括前端访问和后端访问,服务器端配置有一监控工具(具体可为一抓包工具),用于抓取后端访问所形成的后端访问数据。例如,在测试过程中,用户在客户端进行访问后端数据的操作,以实现通过客户端传递到服务器端,则这一操作所形成的后端访问数据会被服务器端配置的监控工具抓取到;相应地,如果用户在客户端进行点击按键只是触发前端的一些操作而没有触发到访问后端的动作,则这些操作无法监控工具(具体可为一抓包工具)抓取到。
在接口自动化测试过程中,主要的测试对象是访问后端的服务,即根据目标测试用例中预先配置的接口顺序,依据执行目标接口数据,完全模拟用户在客户端的操作行为,以使客户端基于该操作行为生成相应的数据包并传递给与目标接口数据对应的执行对象(即后端),以模拟用户的操作行为,获取对应的测试数据。所谓的完全模拟用户在客户端的行为是指依据接口顺序,依次执行目标接口数据,在执行的过程中往后端传递的数据包可以做到与真实用户行为完全一致,以提高接口自动化测试的效率。这种接口自动化测试过程中,相比于其他需要手动构建接口的同类产品,由于接口构建的工作量问题,通常只往接口里传递一些关键的字段,使得后端接收到的数据包与用户操作中传递的数据包有较大差异,使得测试过程中准确性无法得到保障。
可以理解地,在接口自动测试过程中,需保证执行目标测试用例中的每一目标接口数据过程中向后端传递的请求体,与用户实际操作过程中通过客户端向后端发送的请求体相同,以实现自动执行目标测试用例和用户实际操作执行过程产生相同的效果,以保证测试场景的正式性。
S504:基于测试数据,获取目标测试报告。
具体地,服务器端预先存储有测试报告模板,该测试报告模板包括模板框架、设置在模板框架中的测试字段和与每一测试字段相对应的填充区域。服务器端在基于步骤S503获取到测试数据之后,将该测试数据填充到与其相对应的测试字段对应的填充区域中,以获取目标测试报告,此过程可自动化生成目标测试报告,无需人工制作测试报告,提高效率。
本实施例所提供的自动化测试分析处理方法中,根据目标用例标识从用例数据库中获取目标测试用例,每一目标测试用例包括接口顺序和至少一个目标接口数据,以实现快速获取较完整且规范的目标接口数据。依据接口顺序,依次执行目标接口数据,以从与目标接口数据对应的执行对象中获取对应的测试数据,由于目标接口数据较完整且规范,使得目标接口数据的执行过程向执行对象传递的数据包与真实用户行为一致,以保证测试过程的准确性和真实性。然后,基于测试数据自动获取目标测试报告,无需人工制作测试报告,提高效率。
在一实施例中,如图6所示,在获取客户端发送的用例编辑请求的步骤之前,自动化测试分析处理方法还包括如下步骤:
S601:获取数据抓取任务,数据抓取任务包括目标系统标识和目标接口参数。
其中,数据抓取任务是用于触发服务器端抓取接口数据的任务。目标系统标识是用于区别目标系统的标识,该目标系统为本次数据抓取任务所要抓取接口数据对应的系统。例如,若该自动化测试平台需从平安一帐通APP或者平安一帐通的客户端访问后端的后端访问数据时,目标系统为平安一帐通系统,该目标系统标识为平安一帐通系统对应的标识。
目标接口参数是指本次数据爬取任务所需抓取的接口参数。本实施例中,目标接口参数包括但不限于功能描述、请求方法(method)、状态、路径(path)、请求头(head)、请求体(body)、请求时间、响应体、cookies和Host等,以使服务器端基于该目标接口参数从目标系统中抓取到较为完整的原始接口数据,以使后续可直接基于该原始接口数据形成的标准接口数据生成目标测试用例,以提高自动化测试过程中测试用例的生成效率。
S602:采用抓包工具从与目标系统标识相对应的访问数据库中,抓取与目标接口参数相对应的原始接口数据。
其中,抓包工具就是根据标准的网络传输协议来设计的一套软件,用于抓取接口数据的工具,该抓包工具可以为开源的抓包工具。与目标系统标识相对应的访问数据库是用于存储与目标系统标识相对应的原始接口数据的数据库。其中,原始接口数据是指预先通过某一接口触发客户端与服务器端之间通信所形成的数据。本实施例中,服务器端采用抓包工具从目标系统标识对应的访问数据库中抓取的原始接口数据均为该目标系统标识对应的目标系统开发并测试或者具体应用过程形成的接口数据。
由于这些原始接口数据是预先经过开发并测试,或者已经进行具体应用所形成的接口数据,则这些原始接口数据包括较为完整且规范的接口参数,即原始接口数据中的请求头(header)、请求体(body)和cooki等接口参数较完整且规范,其字符出错的概率较小,因此,可将该原始接口数据作为与目标系统相对应的规范的接口数据,无需另行设置接口参数,也无需进行规范检测,可提高原始接口数据的获取效率,使得基于这些原始接口数据形成的用例在后续测试过程中可产生预期的效果。
进一步地,服务器端在抓取到与目标接口参数相对应的原始接口数据之后,将该原始接口数据存储的原始接口库中,用于实现对原始接口数据进行汇总管理,以便后续基于原始接口数据进行接口数据维护,保障自动化测试的顺利进行。可以理解地,在步骤S602之后,将抓包工具从访问数据库中抓取的所有原始接口数据存储在原始接口库中,实现对原始接口数据的管理,为后续将原始接口库中的原始接口数据同步到接口文档库进行准备,也可避免因环境或者其他外部因素干扰而导致原始接口数据无法与标准接口数据完成匹配处理时,需重新抓取原始接口数据的情况出现。该将原始接口库中的原始接口数据同步到接口文档库,是指执行步骤S603,将原始接口库中的原始接口数据与接口文档库中的标准接口数据进行匹配处理,根据匹配处理结果决定是否需要将原始接口数据作为标准接口数据存储在接口文档库中。
本实施例中,目标系统的服务器端中预先配置有一监控工具(具体可为一抓包工具),用于监控客户端访问服务器端的后端访问数据,并将该后端访问数据存储在访问数据库中。在服务器端获取到数据抓取任务之后,可采用抓包工具从访问数据库中抓取与目标接口参数相匹配的后端访问数据,将其确定为原始接口数据,以获取到较完整且规范的原始接口数据。
S603:将原始接口数据与接口文档库中的标准接口数据进行匹配处理,获取匹配处理结果。
其中,接口文档库是用于存储标准接口数据的数据库。标准接口数据是预先存储在接口文档库中的接口数据。该标准接口数据可以以excel、word或者其他文档形式存在,即可存储成接口文档形式,以便后续进行接口文档维护。具体地,接口文档库中任意两个标准接口数据不相同,即存储在接口文档库中的标准接口数据具有唯一性。
具体地,服务器端在采用抓包工具从访问数据库中获取到原始接口数据(或者将该原始接口数据存储在原始接口库)之后,需将该原始接口数据与接口文档库中的标准接口数据进行逐一匹配处理,以确定该原始接口数据是否存在相匹配的标准接口数据,以获取匹配处理结果。可以理解地,若接口文档库中存储有与原始接口数据相匹配的标准接口数据,则获取匹配成功的匹配处理结果;若接口文档库中不存储有与原始接口数据相匹配的标准接口数据,则获取匹配不成功的匹配处理结果。
本实施例中,将原始接口数据和标准接口数据进行匹配处理,以判断两者是否对应同一接口,若为同一接口,则原始接口数据和标准接口数据匹配成功;反之,若不为同一接口,则原始接口数据与标准接口数据匹配不成功。即通过将原始接口数据和标准接口数据进行匹配处理,根据匹配处理结果,有助于后续进行去重处理,以保证接口文档库中存储的标准接口数据的唯一性,即每一标准接口数据对应的接口具有唯一性。其中,将原始接口数据和标准接口数据进行匹配处理,以判断两者是否对应同一接口,具体是指原始接口数据和标准接口数据的路径和请求方法分别进行匹配处理,若路径和请求方法均相同,则对应同一接口,获取匹配成功的匹配处理结果;若路径和/或请求方法不相同,则不对应同一接口,获取匹配不成功的匹配处理结果。
S604:若匹配处理结果为匹配不成功,则将原始接口数据作为新的标准接口数据存储在接口文档库中。
本实施例中,若匹配处理结果为匹配不成功,则说明接口文档库中不存在与原始接口数据对应同一接口的标准接口数据,此时可将该原始接口数据作为新的标准接口数据存储在接口文档库中,以保证接口文档库中标准接口数据的唯一性,即避免接口文档库中存在重复的标准接口数据,有利于维护接口文档库中的标准接口数据并节省存储空间,也有利于提高基于标准接口数据生成测试用例的效率。可以理解地,将匹配处理结果为匹配不成功的原始接口数据作为新的标准接口数据存储在接口文档库中,以达到根据原始接口数据与接口文档库中的标准接口数据进行匹配处理形成的匹配处理结果,对存储在接口文档库中的标准接口数据进行去重处理的目的。而且,接口文档库中的每一标准接口数据包括较完整且规范的接口参数,其无需通过编写相关接口参数构建新的接口,减少接口参数构建过程中出错的概率。
具体地,将原始接口数据作为新的标准接口数据以接口文档形式存储在接口文档库中,还可依据其功能描述中对应的接口名称对接口文档进行命名,以便对接口文档库中的标准接口数据进行规范处理。
相应地,若匹配处理结果为匹配成功,则说明接口文档库中存在与原始接口数据对应同一接口的标准接口数据,若将该原始接口数据存储在接口文档库中,会使接口文档库中存储有同一接口对应的至少两个标准接口数据,增大接口文档库中的标准接口数据的维护复杂度。例如,若目标系统对应的接口A中存储有三个标准接口数据A1、A2和A3,在后续对该接口A对应的接口文档进行维护时,需要同时维护标准接口数据A1、A2和A3这三个数据对应的接口文档,导致其接口文档的维护工作量增大。
本实施例所提供的自动化测试分析处理方法中,先从访问数据库中抓取与目标接口参数相对应的原始接口数据,实现快速获取批量包含较完整且规范的接口参数的原始接口数据,以提高原始接口数据的获取效率;将与接口文档库中的标准接口数据进行匹配处理后,获取匹配不成功的匹配处理结果的原始接口数据作为新的标准接口数据存储在接口文档库中,以保证接口文档库中标准接口数据的唯一性,有利于对接口文档库中的标准接口数据进行维护。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种自动化测试分析处理装置,该自动化测试分析处理装置与上述实施例中自动化测试分析处理方法一一对应。如图7所示,该自动化测试分析处理装置包括测试分析请求获取模块701、总接口数获取模块702、已测接口数获取模块703、接口覆盖率获取模块704和漏测接口数据获取模块705。各功能模块详细说明如下:
测试分析请求获取模块701,获取测试分析请求,测试分析请求包括目标系统标识和目标测试周期。
总接口数获取模块702,用于基于目标系统标识查询对应的接口文档库,获取接口文档库中的标准接口数据对应的总接口数。
已测接口数获取模块703,用于基于目标系统标识查询对应的测试数据库,获取目标测试周期内测试接口数据对应的已测接口数。
接口覆盖率获取模块704,用于采用覆盖率公式对总接口数和已测接口数进行计算,获取接口覆盖率,覆盖率公式为P=N/S,其中,P为接口覆盖率,N为已测接口数,S为总接口数。
漏测接口数据获取模块705,用于若接口覆盖率小于覆盖率阈值,则基于测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据。
优选地。测试分析请求获取模块701,还用于获取用例测试分析请求,用例测试分析请求包括目标系统标识和用例测试周期。
已测接口数获取模块703包括已测测试用例获取单元、未测测试用例获取单元、未测接口数获取单元和已测接口数获取单元。
已测测试用例获取单元,用于基于目标系统标识查询对应的测试数据库,获取用例测试周期内测试接口数据对应的已测测试用例。
未测测试用例获取单元,用于将已测测试用例与测试用例库中预先配置的原始测试用例进行匹配,获取至少一个未测测试用例,每一未测测试用例包括至少一个未测接口数据。
未测接口数获取单元,用于对至少一个未测测试用例中的未测接口数据进行统计,获取未测接口数。
已测接口数获取单元,用于基于接口文档库中的标准接口数据对应的总接口数和未测接口数,获取对应的已测接口数。
漏测接口数据获取模块705包括去重处理单元和漏测接口数据获取单元。
去重处理单元,用于若接口覆盖率小于覆盖率阈值,则对用例测试周期内测试接口数据对应的已测测试用例的测试接口数据进行去重处理,获取去重处理后的测试接口数据。
漏测接口数据获取单元,用于基于去重处理后的测试接口数据和接口文档库中的标准接口数据,获取漏测接口数据。
优选地,漏测接口数据获取模块705包括匹配处理单元、第一处理结果获取单元和第二处理结果获取单元。
匹配处理单元,用于采用字符串匹配算法,对接口文档库中的标准接口数据的路径和请求装置与测试接口数据中的路径和请求方法分别进行匹配处理。
第一处理结果获取单元,用于若路径和请求方法均相同,则标准接口数据不为漏测接口数据。
第二处理结果获取单元,用于若路径和/或请求方法不相同,则标准接口数据为漏测接口数据。
优选地,在漏测接口数据获取模块705之后,自动化测试分析处理装置还包括用例编辑请求获取模块、标准接口数据获取模块、接口修改请求获取模块、目标接口数据获取模块和目标测试用例形成模块。
用例编辑请求获取模块,用于获取客户端发送的用例编辑请求,用例编辑请求包括接口顺序和至少一个接口需求,接口需求包括漏测接口需求
标准接口数据获取模块,用于基于至少一个接口需求查询接口文档库,获取与每一接口需求相对应的标准接口数据,标准接口数据包含与漏测接口需求相对应的漏测接口数据
接口修改请求获取模块,用于控制客户端显示标准接口数据,并获取客户端发送的接口修改请求,接口修改请求包括目标接口标识和目标修改参数
目标接口数据获取模块,用于基于目标修改参数,对与目标接口标识相对应的标准接口数据进行修改和调试,获取调试成功的目标接口数据
目标测试用例形成模块,用于依据接口顺序对至少一个目标接口数据进行组合,形成目标测试用例。
优选地,在目标测试用例形成模块之后,自动化测试分析处理装置还包括静态文件过滤处理模块,用于采用正则表达式匹配算法对目标测试用例中的每一目标接口数据的进行静态文件过滤,获取更新的目标测试用例。
优选地,在目标测试用例形成模块步骤之后,自动化测试分析处理装置还包括:
用例测试请求获取模块,用于获取客户端发送的用例测试请求,用例测试请求包括目标用例标识。
目标测试用例获取模块,用于基于目标用例标识查询用例数据库,获取与目标用例标识相对应的目标测试用例,目标测试用例包括接口顺序和至少一个目标接口数据,每一目标接口数据对应一执行对象。
测试数据获取模块,用于依据接口顺序,依次执行目标接口数据,从与目标接口数据对应的执行对象中获取对应的测试数据。
目标测试报告获取模块,用于基于测试数据,获取目标测试报告。
优选地,在用例编辑请求获取模块步骤之前,自动化测试分析处理装置还包括数据抓取任务获取模块、原始接口数据获取模块、匹配处理结果获取模块和接口数据存储模块。
数据抓取任务获取模块,用于获取数据抓取任务,数据抓取任务包括目标系统标识和目标接口参数。
原始接口数据获取模块,用于采用抓包工具从与目标系统标识相对应的访问数据库中,抓取与目标接口参数相对应的原始接口数据。
匹配处理结果获取模块,用于将原始接口数据与接口文档库中的标准接口数据进行匹配处理,获取匹配处理结果。
接口数据存储模块,用于若匹配处理结果为匹配不成功,则将原始接口数据作为新的标准接口数据存储在接口文档库中。
关于自动化测试分析处理装置的具体限定可以参见上文中对于自动化测试分析处理方法的限定,在此不再赘述。上述自动化测试分析处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行自动化测试分析处理方法过程中使用或者生成的数据,如标准接口数据和漏测接口数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动化测试分析处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中自动化测试分析处理方法的步骤,例如图2所示的步骤S201-S205,或者图3至图6中所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现自动化测试分析处理装置这一实施例中的各模块/单元的功能,例如图7所示的测试分析请求获取模块701、总接口数获取模块702、已测接口数获取模块703、接口覆盖率获取模块704和漏测接口数据获取模块705的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中自动化测试分析处理方法的步骤,例如图2所示的步骤S201-S205,或者图3至图6中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述自动化测试分析处理装置这一实施例中的各模块/单元的功能,例如图7所示的测试分析请求获取模块701、总接口数获取模块702、已测接口数获取模块703、接口覆盖率获取模块704和漏测接口数据获取模块705的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种自动化测试分析处理方法,其特征在于,包括:
获取测试分析请求,所述测试分析请求包括目标系统标识和目标测试周期;
基于所述目标系统标识查询对应的接口文档库,获取所述接口文档库中的标准接口数据对应的总接口数;
基于所述目标系统标识查询对应的测试数据库,获取所述目标测试周期内测试接口数据对应的已测接口数;
采用覆盖率公式对所述总接口数和所述已测接口数进行计算,获取接口覆盖率,所述覆盖率公式为P=N/S,其中,P为接口覆盖率,N为已测接口数,S为总接口数;
若所述接口覆盖率小于覆盖率阈值,则基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据。
2.如权利要求1所述的自动化测试分析处理方法,其特征在于,所述获取测试分析请求,所述测试分析请求包括目标系统标识和目标测试周期,包括:
获取用例测试分析请求,所述用例测试分析请求包括目标系统标识和用例测试周期;
所述基于所述目标系统标识查询对应的测试数据库,获取所述目标测试周期内测试接口数据对应的已测接口数,包括:
基于所述目标系统标识查询对应的测试数据库,获取所述用例测试周期内测试接口数据对应的已测测试用例;
将所述已测测试用例与测试用例库中预先配置的原始测试用例进行匹配,获取至少一个未测测试用例,每一所述未测测试用例包括至少一个未测接口数据;
对至少一个所述未测测试用例中的未测接口数据进行统计,获取未测接口数;
基于所述接口文档库中的标准接口数据对应的总接口数和所述未测接口数,获取对应的已测接口数;
所述若所述接口覆盖率小于覆盖率阈值,则基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据,包括:
若所述接口覆盖率小于覆盖率阈值,则对用例测试周期内测试接口数据对应的已测测试用例的测试接口数据进行去重处理,获取去重处理后的测试接口数据;
基于去重处理后的测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据。
3.如权利要求1所述的自动化测试分析处理方法,其特征在于,所述基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据,包括:
采用字符串匹配算法,对所述接口文档库中的标准接口数据的路径和请求方法与所述测试接口数据中的路径和请求方法分别进行匹配处理;
若所述路径和所述请求方法均相同,则所述标准接口数据不为漏测接口数据;
若所述路径和/或所述请求方法不相同,则所述标准接口数据为漏测接口数据。
4.如权利要求1所述的自动化测试分析处理方法,其特征在于,在所述漏测接口数据的步骤之后,所述自动化测试分析处理方法还包括:
获取客户端发送的用例编辑请求,所述用例编辑请求包括接口顺序和至少一个接口需求,所述接口需求包括漏测接口需求;
基于至少一个所述接口需求查询所述接口文档库,获取与每一所述接口需求相对应的标准接口数据,所述标准接口数据包含与所述漏测接口需求相对应的漏测接口数据;
控制所述客户端显示所述标准接口数据,并获取客户端发送的接口修改请求,所述接口修改请求包括目标接口标识和目标修改参数;
基于所述目标修改参数,对与所述目标接口标识相对应的所述标准接口数据进行修改和调试,获取调试成功的目标接口数据;
依据所述接口顺序对至少一个所述目标接口数据进行组合,形成目标测试用例。
5.如权利要求4所述的自动化测试分析处理方法,其特征在于,在所述形成目标测试用例的步骤之后,所述自动化测试分析处理方法还包括:
采用正则表达式匹配算法对所述目标测试用例中的每一目标接口数据的进行静态文件过滤,获取更新的目标测试用例。
6.如权利要求4所述的自动化测试分析处理方法,其特征在于,在所述形成目标测试用例的步骤之后,所述自动化测试分析处理方法还包括:
获取客户端发送的用例测试请求,所述用例测试请求包括目标用例标识;
基于所述目标用例标识查询用例数据库,获取与所述目标用例标识相对应的目标测试用例,所述目标测试用例包括接口顺序和至少一个目标接口数据,每一所述目标接口数据对应一执行对象;
依据所述接口顺序,依次执行所述目标接口数据,从与所述目标接口数据对应的执行对象中获取对应的测试数据;
基于所述测试数据,获取目标测试报告。
7.如权利要求4所述的自动化测试分析处理方法,其特征在于,在所述获取客户端发送的用例编辑请求的步骤之前,所述自动化测试分析处理方法还包括:
获取数据抓取任务,所述数据抓取任务包括目标系统标识和目标接口参数;
采用抓包工具从与所述目标系统标识相对应的访问数据库中,抓取与所述目标接口参数相对应的原始接口数据;
将所述原始接口数据与接口文档库中的标准接口数据进行匹配处理,获取匹配处理结果;
若所述匹配处理结果为匹配不成功,则将所述原始接口数据作为新的标准接口数据存储在所述接口文档库中。
8.一种自动化测试分析处理装置,其特征在于,包括:
测试分析请求获取模块,获取测试分析请求,所述测试分析请求包括目标系统标识和目标测试周期;
总接口数获取模块,用于基于所述目标系统标识查询对应的接口文档库,获取所述接口文档库中的标准接口数据对应的总接口数;
已测接口数获取模块,用于基于所述目标系统标识查询对应的测试数据库,获取所述目标测试周期内测试接口数据对应的已测接口数;
接口覆盖率获取模块,用于采用覆盖率公式对所述总接口数和所述已测接口数进行计算,获取接口覆盖率,所述覆盖率公式为P=N/S,其中,P为接口覆盖率,N为已测接口数,S为总接口数;
漏测接口数据获取模块,用于若所述接口覆盖率小于覆盖率阈值,则基于所述测试接口数据和所述接口文档库中的标准接口数据,获取漏测接口数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述自动化测试分析处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述自动化测试分析处理方法的步骤。
CN201811536554.8A 2018-12-15 2018-12-15 自动化测试分析处理方法、装置、计算机设备及存储介质 Pending CN109766263A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811536554.8A CN109766263A (zh) 2018-12-15 2018-12-15 自动化测试分析处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811536554.8A CN109766263A (zh) 2018-12-15 2018-12-15 自动化测试分析处理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN109766263A true CN109766263A (zh) 2019-05-17

Family

ID=66451807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811536554.8A Pending CN109766263A (zh) 2018-12-15 2018-12-15 自动化测试分析处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN109766263A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209576A (zh) * 2019-05-21 2019-09-06 深圳壹账通智能科技有限公司 测试用例覆盖率的计算方法及相关设备
CN110232019A (zh) * 2019-05-20 2019-09-13 平安普惠企业管理有限公司 页面测试方法及相关产品
CN110244945A (zh) * 2019-05-22 2019-09-17 深圳壹账通智能科技有限公司 接口文档生成方法及终端设备
CN110364235A (zh) * 2019-06-13 2019-10-22 缤刻普达(北京)科技有限责任公司 用户运动计划定制方法、装置、计算机设备及存储介质
CN110532172A (zh) * 2019-07-22 2019-12-03 深圳壹账通智能科技有限公司 应用测试方法、装置、设备及计算机可读存储介质
CN110618906A (zh) * 2019-08-07 2019-12-27 中移(杭州)信息技术有限公司 漏测接口检测方法、装置、网络设备及存储介质
CN110674044A (zh) * 2019-09-24 2020-01-10 携程旅游网络技术(上海)有限公司 功能自动化测试的覆盖率获取方法、系统、设备及介质
CN110941547A (zh) * 2019-10-12 2020-03-31 平安普惠企业管理有限公司 自动化测试用例库管理方法、装置、介质及电子设备
CN111782524A (zh) * 2020-06-29 2020-10-16 京东数字科技控股有限公司 应用测试方法和装置、存储介质和电子装置
CN111884882A (zh) * 2020-07-29 2020-11-03 北京千丁互联科技有限公司 一种监控覆盖率检测方法及装置
CN112181821A (zh) * 2020-09-24 2021-01-05 浙江大搜车软件技术有限公司 接口测试覆盖度的检测方法、装置、电子装置和存储介质
CN112486808A (zh) * 2020-11-20 2021-03-12 中国人寿保险股份有限公司 一种系统测试方法、装置、电子设备及存储介质
CN112685283A (zh) * 2019-10-17 2021-04-20 拉扎斯网络科技(上海)有限公司 测试校验方法、装置、电子设备及计算机可读存储介质
CN113157595A (zh) * 2021-05-25 2021-07-23 中国平安人寿保险股份有限公司 基于微服务的接口测试管理方法、装置、设备及存储介质
CN113448869A (zh) * 2021-07-16 2021-09-28 建信金融科技有限责任公司 测试用例生成的方法、装置、电子设备及计算机可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681904A (zh) * 2015-11-11 2017-05-17 阿里巴巴集团控股有限公司 测试件覆盖率及覆盖应用接口的分析方法、装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681904A (zh) * 2015-11-11 2017-05-17 阿里巴巴集团控股有限公司 测试件覆盖率及覆盖应用接口的分析方法、装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110232019A (zh) * 2019-05-20 2019-09-13 平安普惠企业管理有限公司 页面测试方法及相关产品
CN110209576A (zh) * 2019-05-21 2019-09-06 深圳壹账通智能科技有限公司 测试用例覆盖率的计算方法及相关设备
CN110244945A (zh) * 2019-05-22 2019-09-17 深圳壹账通智能科技有限公司 接口文档生成方法及终端设备
CN110364235A (zh) * 2019-06-13 2019-10-22 缤刻普达(北京)科技有限责任公司 用户运动计划定制方法、装置、计算机设备及存储介质
CN110532172A (zh) * 2019-07-22 2019-12-03 深圳壹账通智能科技有限公司 应用测试方法、装置、设备及计算机可读存储介质
CN110618906B (zh) * 2019-08-07 2023-07-18 中移(杭州)信息技术有限公司 漏测接口检测方法、装置、网络设备及存储介质
CN110618906A (zh) * 2019-08-07 2019-12-27 中移(杭州)信息技术有限公司 漏测接口检测方法、装置、网络设备及存储介质
CN110674044A (zh) * 2019-09-24 2020-01-10 携程旅游网络技术(上海)有限公司 功能自动化测试的覆盖率获取方法、系统、设备及介质
CN110674044B (zh) * 2019-09-24 2023-09-01 携程旅游网络技术(上海)有限公司 功能自动化测试的覆盖率获取方法、系统、设备及介质
CN110941547A (zh) * 2019-10-12 2020-03-31 平安普惠企业管理有限公司 自动化测试用例库管理方法、装置、介质及电子设备
CN110941547B8 (zh) * 2019-10-12 2024-03-22 中免日上互联科技有限公司 自动化测试用例库管理方法、装置、介质及电子设备
CN110941547B (zh) * 2019-10-12 2024-01-16 中免日上互联网科技有限公司 自动化测试用例库管理方法、装置、介质及电子设备
CN112685283A (zh) * 2019-10-17 2021-04-20 拉扎斯网络科技(上海)有限公司 测试校验方法、装置、电子设备及计算机可读存储介质
CN111782524A (zh) * 2020-06-29 2020-10-16 京东数字科技控股有限公司 应用测试方法和装置、存储介质和电子装置
CN111884882A (zh) * 2020-07-29 2020-11-03 北京千丁互联科技有限公司 一种监控覆盖率检测方法及装置
CN112181821A (zh) * 2020-09-24 2021-01-05 浙江大搜车软件技术有限公司 接口测试覆盖度的检测方法、装置、电子装置和存储介质
CN112486808A (zh) * 2020-11-20 2021-03-12 中国人寿保险股份有限公司 一种系统测试方法、装置、电子设备及存储介质
CN112486808B (zh) * 2020-11-20 2024-04-16 中国人寿保险股份有限公司 一种系统测试方法、装置、电子设备及存储介质
CN113157595A (zh) * 2021-05-25 2021-07-23 中国平安人寿保险股份有限公司 基于微服务的接口测试管理方法、装置、设备及存储介质
CN113448869A (zh) * 2021-07-16 2021-09-28 建信金融科技有限责任公司 测试用例生成的方法、装置、电子设备及计算机可读介质

Similar Documents

Publication Publication Date Title
CN109766263A (zh) 自动化测试分析处理方法、装置、计算机设备及存储介质
CN109766262A (zh) 接口数据处理方法、自动化测试方法、装置、设备和介质
US20220283802A1 (en) Automation of task identification in a software lifecycle
JP6782778B2 (ja) データ処理方法及び装置
CN110399293A (zh) 系统测试方法、装置、计算机设备和存储介质
CN109522218A (zh) 接口测试方法、装置、计算机设备和存储介质
CN112800290B (zh) 一种追溯数据获取方法、装置及设备
CN105095059B (zh) 一种自动化测试的方法和装置
CN109491860A (zh) 应用程序的异常检测方法、终端设备及介质
CN109491891A (zh) 全自动接口压测方法、装置、计算机设备及存储介质
CN106603296A (zh) 日志的处理方法及装置
CN107908548A (zh) 一种生成测试用例的方法和装置
CN111522728A (zh) 自动化测试用例的生成方法、电子设备及可读存储介质
CN109783365A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN111258881B (zh) 一种用于工作流程测试的智能测试系统
CN110297656A (zh) 基于配置模型评审代码的方法、装置及计算机设备
CN110188036A (zh) 一种软件测试方法及装置
CN109344053A (zh) 接口覆盖测试方法、系统、计算机设备和存储介质
CN109189675A (zh) 大数据架构软件测试方法、装置、计算机设备和存储介质
CN109324961A (zh) 系统自动测试方法、装置、计算机设备及存储介质
CN109412896A (zh) 上传功能的测试方法、装置、计算机设备和存储介质
CN109582560A (zh) 测试文件编辑方法、装置、设备及计算机可读存储介质
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
CN111176980B (zh) 调试环境和运行环境分离的数据分析方法、装置及系统
Mead et al. Incorporating security requirements engineering into the dynamic systems development method

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