CN109062809B - 一种线上测试用例生成方法、装置及电子设备 - Google Patents

一种线上测试用例生成方法、装置及电子设备 Download PDF

Info

Publication number
CN109062809B
CN109062809B CN201811099593.6A CN201811099593A CN109062809B CN 109062809 B CN109062809 B CN 109062809B CN 201811099593 A CN201811099593 A CN 201811099593A CN 109062809 B CN109062809 B CN 109062809B
Authority
CN
China
Prior art keywords
tested
function
link
test case
calling
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.)
Active
Application number
CN201811099593.6A
Other languages
English (en)
Other versions
CN109062809A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201811099593.6A priority Critical patent/CN109062809B/zh
Publication of CN109062809A publication Critical patent/CN109062809A/zh
Application granted granted Critical
Publication of CN109062809B publication Critical patent/CN109062809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种线上测试用例生成方法、装置电子设备。所述方法包括:服务器获取待测应用程序对应的程序日志信息;根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;将所述待测功能对应的调用链路中访问次数满足预设条件的各个调用链路,确定为所述待测功能的特征链路;根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例。可见,由于本发明实施例中根据用户实际操作的调用链路生成测试用例,因此更接近用户的实际操作,便于提高测试的准确性。

Description

一种线上测试用例生成方法、装置及电子设备
技术领域
本发明涉及互联网信息处理技术领域,特别是涉及一种线上测试用例生成方法、装置及电子设备。
背景技术
随着计算机技术的发展,具有各种功能的应用程序被开发,在应用程序开发完上线之后,需要对应用程序进行线上测试,从而确定应用程序是否正常运行。
目前,对应用程序进行线上测试通常都采用定期回归测试,来验证上线或修复后的应用程序的正确性。具体的,定期回归测试就是按预设的时间间隔,用研发人员预先针对待测试应用程序的各个待测试功能分别编写的测试用例,对待测试应用程序进行测试。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
当前回归测试采用的测试用例都是研发人员针对不同应用程序的功能分别编写的,其中对各个接口的调用,并没有考虑用户操作过程中对各个接口的实际调用情况,导致测试结果不够准确。
发明内容
本发明实施例的目的在于提供一种线上测试用例生成方法、装置及电子设备,以使测试用例更接近用户实际操作,便于提高测试的准确性。
具体技术方案如下:
第一方面,本发明实施例提供了一种线上测试用例生成方法,应用于服务器,所述方法包括:
获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
将所述待测功能对应的调用链路中访问次数满足预设条件的各个调用链路,确定为所述待测功能的特征链路;
根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例。
可选的,所述将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路的步骤,可以包括:
将所述待测功能对应的调用链路中访问次数大于预设访问次数阈值的调用链路,确定为所述待测功能的特征链路。
可选的,所述将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路的步骤,可以包括:
按照访问次数从多到少的顺序,选择预设数量个调用链路,确定为所述待测功能的特征链路。
可选的,所述根据所述待测功能的特征链路及用户按该特征链路执行后的每个接口的实际调用结果,生成按照所述特征链路进行测试的测试用例的步骤之后,还可以包括:
将生成的按照所述特征链路进行测试的测试用例存储至测试用例库中;
在所述线上待测程序需要进行线上测试时,从所述测试用例库中读取测试用例;
执行读取的测试用例,得到测试结果;其中,所述测试用例的测试结果包括:所述测试用例针对其对应的线上待测程序的待测功能调用的各个接口的调用成功或失败信息;
将所述测试结果中调用失败的接口对应的待测程序的待测功能,确定为所述应用程序的异常功能并对其进行预警。
可选的,所述在所述根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例的步骤之后,还可以包括:
启动定时器,当到达预设测试用例更新时长时,执行所述获取待测应用程序对应的程序日志信息的步骤。
第二方面,本发明实施例提供了一种线上测试用例生成装置,所述装置包括:
日志信息获取单元,用于获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
访问次数统计单元,用于根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
特征链路确定单元,用于将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路;
测试用例生成单元,用于根据所述待测功能的特征链路及用户按该特征链路执行后的每个接口的实际调用结果,生成按照所述特征链路进行测试的测试用例。
可选的,所述特征链路确定单元,具体可以用于:
将所述待测功能对应的调用链路中访问次数大于预设访问次数阈值的调用链路,确定为所述待测功能的特征链路。
可选的,所述特征链路确定单元,具体可以用于:
按照访问次数从多到少的顺序,选择预设数量个调用链路,确定为所述待测功能的特征链路。
可选的,所述装置还可以包括:
测试用例存储单元,用于将生成的按照所述特征链路进行测试的测试用例存储至测试用例库中;
测试用例读取单元,用于在所述线上待测程序需要进行线上测试时,从所述测试用例库中读取测试用例;
测试用例执行单元,用于执行读取的测试用例,得到测试结果;其中,所述测试用例的测试结果包括:所述测试用例针对其对应的线上待测程序的待测功能调用的各个接口的调用成功或失败信息;
异常功能确定单元,用于将所述测试结果中调用失败的接口对应的待测程序的待测功能,确定为所述应用程序的异常功能并对其进行预警。
可选的,所述装置,还可以包括:
定时器启动单元,用于启动定时器,当到达预设测试用例更新时长时,调用所述日志信息获取单元。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现以下方法步骤:
获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
将所述待测功能对应的调用链路中访问次数满足预设条件的各个调用链路,确定为所述待测功能的特征链路;
根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一线上测试用例的生成方法步骤。
本发明实施例提供一种线上测试用例生成方法、装置及电子设备,根据获取的线上待测应用程序对应的程序日志信息中的用户标识、调用链路及调用链路标识,确定出所述待测功能的特征链路;根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成针对各个特征链路进行测试的测试用例。由于本发明实施例中根据用户实际操作的调用链路生成测试用例,因此更接近用户的实际操作,便于提高测试的准确性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的线上测试用例的生成方法的一种流程示意图;
图2为本发明实施例提供的一种生成测试用例之后的处理流程示意图;
图3为本发明实施例提供的线上测试用例的生成装置的一种结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了使测试用例更接近用户的实际操作,便于提高测试的准确性,本发明实施例的目的在于提供一种线上测试用例的生成方法、装置及电子设备,以下分别进行详细说明。
下面首先对本发明实施例提供的一种线上测试用例生成方法进行介绍。
参见图1所示,为本发明实施例中线上中测试用例的生成方法的一种流程示意图,该方法应用于服务器,可以包括如下步骤:
S110,获取线上待测应用程序对应的程序日志信息;
在实际应用中,客户端的终端设备在运行各个应用程序时,客户端都将对应生成一个程序日志,用于记录终端设备运行某个应用程序时,用户的访问操作过程和输入参数等信息。
其中,待测应用程序对应的程序日志信息,可以包括:执行待测应用程序的待测功能的各个用户的用户标识、各个用户针对该待测功能调用的各个接口构成的调用链路及调用链路标识。
具体的,在步骤110中获取线上待测应用程序对应的程序日志信息的具体实施方式可以为:
服务器可以先接收客户端发送的待测应用程序对应的程序日志信息,并将接收到的程序日志信息存储至预设的日志库中;然后,从上述日志库中,读取待测应用程序对应的程序日志信息。
应用程序对应的程序日志信息的内容参见表1。
表1
Figure BDA0001806332550000061
S120,根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
通常,用户对应用程序的某功能的一次调用,应用程序的程序日志对应生成一条调用链路和一个与调用链路对应的调用链标识。
在本实施例中,上述程序日志信息中的用户标识及调用链路标识可以包括多种形式,例如,可以是用户ID和调用链ID,也可以是用户名称和调用链名称等。当然,上述程序日志信息中的用户标识及调用链路标识可以是任何用于区别各个不同用户对应用程序的调用情况的标识信息,本实施例对此不做具体限定。
S130,将所述待测功能对应的调用链路中访问次数满足预设条件的各个调用链路,确定为所述待测功能的特征链路;
在本实施例中,应用程序对应的任一待测功能的特征链路是指可以用于标识用户,在对该应用程序的某待测功能的实际操作中,多数用户使用的调用链路。
S140,根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例。本步骤中,服务器可以根据预设的测试用例生成方法,分别自动生成按照上述各个特征链路进行测试的测试用例。
具体的,可以预先设置测试用例模板程序,该模板程序用于实现针对测试用例对应的特征链路,模拟用户操作对所述待测功能的各个接口进行调用,并对调用结果和预期的调用结果进行比较,从而获得测试结果。在生成测试用例时,只需将特征链路,及用户按该特征链路执行后的每个接口的实际调用结果,也就是预期的调用结果,添加至测试用例模板程序中,即可生成对应的测试用例。
需要说明的是,本发明实施例中的预设测试用例生成方法可以是自动生成测试用例的任何方法,这里不做限定。
本发明实施例提供一种线上测试用例生成方法,根据获取的线上待测应用程序对应的程序日志信息中的用户标识、调用链路及调用链路标识,确定出所述待测功能的特征链路;根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成针对各个特征链路进行测试的测试用例。由于本发明实施例中根据用户实际操作的调用链路生成测试用例,因此更接近用户的实际操作,便于提高测试的准确性。
在本发明实施例中,具体提供了两种方式来确定上述待测功能的特征链路:
第一种,将所述待测功能对应的调用链路中访问次数大于预设访问次数阈值的调用链路,确定为所述待测功能的特征链路。
可以理解的是,上述预设访问次数阈值可以是根据实际中上述待测功能对应的各个调用链路的访问次数,设置的经验阈值;因此,本发明实施例中确定出的不同的待测功能的特征链路个数可以不同,也可以相同。并且,上述待测功能的特征链路的数量至少为一个。
第二种,按照访问次数从多到少的顺序,选择预设数量个调用链路,确定为所述待测功能的特征链路。
在实际应用中,在步骤S120中,统计出的待测功能对应的各个调用链路的访问次数可能非常接近,例如,终端设备运行某应用程序的功能A时,对应的调用链路标识为1的调用链路的访问次数为100;终端设备运行某应用程序的功能A时,对应的调用链路标识为2的调用链路的访问次数为98;这时,上述调用链路标识为1的调用链路和调用链路标识为2的调用链路都能代表用户通过终端设备访问某应用程序的某功能的实际操作流程和操作习惯,从而都应该将其确定为上述待测功能的特征链路。
在本发明实施例中,由于待测功能的各个特征链路,更接近用户的实际操作;因此,根据上述确定的待测功能的各个特征链路,分别生成针对各个特征链路进行测试的测试用例,便于提高测试的准确性。
在本发明实施例中,如图2所示,在步骤S140根据待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例之后,还可以包括以下步骤:
S140a,将生成的按照所述特征链路进行测试的测试用例存储至测试用例库中。
S140b,在所述线上待测程序需要进行线上测试时,从所述测试用例库中读取测试用例。
具体的,在进行线上测试时,服务器执行上述测试用例,可以先按照读取的测试用例对应的特征链路,模拟用户操作对上述待测功能的各个接口进行调用,得到各个接口的调用结果信息;然后,分别判断各个接口的调用结果信息与测试用例中各个接口预期的调用结果是否一致;如果接口的调用结果信息与测试用例中该接口预期的调用结果一致,则该接口调用成功;否则该接口调用失败。
S140c,执行读取的测试用例,得到测试结果。
其中,测试用例的测试结果可以包括:测试用例针对其对应的待测程序的待测功能调用的各个接口的调用成功或失败信息。
S140d,将所述测试结果中调用失败的接口对应的待测程序的待测功能,确定为所述应用程序的异常功能并对其进行预警。
其中,测试用例中各个接口预期的调用结果为所述程序日志中记录的用户按该特征链路执行后的每个接口的实际调用结果。
在本实施例中,执行根据用户实际操作的调用链路生成的测试用例,得到上述测试用例对应的测试结果;通过读取上述测试用例的测试结果,确定出应用程序的异常功能,并对其进行预警,从而提高了应用程序的开发效率。
在本发明实施例中,在上述确定出应用程序的异常功能并对其进行预警的步骤之后,还可以包括步骤:
启动定时器,当到达预设测试用例更新时长时,执行所述获取待测应用程序对应的程序日志信息的步骤。
在实际应用中,具有各种功能的应用程序被开发,在应用程序开发完上线之后,需要对应用程序进行线上测试;所以,为了更准确的确定应用程序是否正常运行,上述测试用例库中的测试用例需要定期的更新,即定期的生成新的测试用例。
通常,服务器预置的定时器的预设测试用例更新时长为一周的时长。
在本发明实施例中,服务器通过预置的定时器,定时自动生成更接近用户的实际操作的测试用例,无需研发人员编写,从而提高了测试用例的生成效率,降低了测试用例的维护成本。
基于相同的技术构思,相应于图1所示方法实施例,本发明实施例还提供了一种线上测试用例的生成装置,如图3所示,该装置包括:
日志信息获取单元310,用于获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
访问次数统计单元320,用于根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
特征链路确定单元330,用于将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路;
测试用例生成单元340,用于根据所述待测功能的特征链路及用户按该特征链路执行后的每个接口的实际调用结果,生成按照所述特征链路进行测试的测试用例。
在本发明实施例中,上述特征链路确定单元,具体可以用于:
将所述待测功能对应的调用链路中访问次数大于预设访问次数阈值的调用链路,确定为所述待测功能的特征链路。
在本发明实施例中,上述特征链路确定单元,具体可以用于:
按照访问次数从多到少的顺序,选择预设数量个调用链路,确定为所述待测功能的特征链路。
在本发明实施例中,上述装置还可以包括:
日志信息存储单元,用于接收客户端发送的线上待测应用程序对应的程序日志信息,并将所述接收到的程序日志信息存储至预设的日志库中;
日志信息读取单元,用于从所述日志库中,读取待测应用程序对应的程序日志信息;
测试用例存储单元,用于将生成的按照所述特征链路进行测试的测试用例存储至测试用例库中;
测试用例读取单元,用于在所述线上待测程序需要进行线上测试时,从所述测试用例库中读取测试用例;
测试用例执行单元,用于执行读取的测试用例,得到测试结果;其中,所述测试用例的测试结果包括:所述测试用例针对其对应的线上待测程序的待测功能调用的各个接口的调用成功或失败信息;
异常功能确定单元,用于将所述测试结果中调用失败的接口对应的待测程序的待测功能,确定为所述应用程序的异常功能并对其进行预警。
在本发明实施例中,上述测试用例执行单元,可以包括:
调用子单元,用于按照读取的测试用例对应的特征链路,模拟用户操作对所述待测功能的各个接口进行调用,得到各个接口的调用结果信息;
判断子单元,用于分别判断各个接口的调用结果信息与测试用例中各个接口预期的调用结果是否一致;如果接口的调用结果信息与测试用例中该接口预期的调用结果一致,则该接口调用成功;如果接口的调用结果信息与测试用例中该接口预期的调用结果不一致,则该接口调用失败。
在本发明实施例中,上述装置,还可以包括:
定时器启动单元,用于启动定时器,当到达预设测试用例更新时长时,调用所述日志信息获取单元。
本发明实施例提供一种线上测试用例生成装置,根据获取的线上待测应用程序对应的程序日志信息中的用户标识、调用链路及调用链路标识,确定出所述待测功能的特征链路;根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成针对各个特征链路进行测试的测试用例。由于本发明实施例中根据用户实际操作的调用链路生成测试用例,因此更接近用户的实际操作,便于提高测试的准确性。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器303通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器303上所存放的程序时,实现本发明实施例提供的一种线上测试用例的生成方法。
具体的,上述一种线上测试用例的生成方法,包括:
获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
将所述待测功能对应的调用链路中访问次数满足预设条件的各个调用链路,确定为所述待测功能的特征链路;
根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图1所示的方法实施例,在此不做赘述。
另外,处理器301执行存储器303上所存放的程序而实现的一种线上测试用例的生成方法的其他实现方式,与前述方法实施例部分所提及的实现方式相同,这里也不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的线上测试用例的生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种线上测试用例生成方法,其特征在于,应用于服务器,所述方法包括:
获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
将所述待测功能对应的调用链路中访问次数满足预设条件的各个调用链路,确定为所述待测功能的特征链路;
根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路的步骤,包括:
将所述待测功能对应的调用链路中访问次数大于预设访问次数阈值的调用链路,确定为所述待测功能的特征链路。
3.根据权利要求1所述的方法,其特征在于,所述将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路的步骤,包括:
按照访问次数从多到少的顺序,选择预设数量个调用链路,确定为所述待测功能的特征链路。
4.根据权利要求1所述的方法,其特征在于,
所述根据所述待测功能的特征链路及用户按该特征链路执行后的每个接口的实际调用结果,生成按照所述特征链路进行测试的测试用例的步骤之后,还包括:
将生成的按照所述特征链路进行测试的测试用例存储至测试用例库中;
在所述线上待测程序需要进行线上测试时,从所述测试用例库中读取测试用例;
执行读取的测试用例,得到测试结果;其中,所述测试用例的测试结果包括:所述测试用例针对其对应的线上待测程序的待测功能调用的各个接口的调用成功或失败信息;
将所述测试结果中调用失败的接口对应的待测程序的待测功能,确定为所述应用程序的异常功能并对其进行预警。
5.根据权利要求1所述的方法,其特征在于,
所述在所述根据所述待测功能的各个特征链路及用户按该特征链路执行后的每个接口的实际调用结果,分别生成按照所述各个特征链路进行测试的测试用例的步骤之后,还包括:
启动定时器,当到达预设测试用例更新时长时,执行所述获取待测应用程序对应的程序日志信息的步骤。
6.一种线上测试用例生成装置,其特征在于,所述装置包括:
日志信息获取单元,用于获取线上待测应用程序对应的程序日志信息;所述程序日志信息包括:执行所述待测应用程序的待测功能的各个用户的用户标识、各个用户针对所述待测功能调用的各个接口构成的调用链路及调用链路标识;
访问次数统计单元,用于根据所述程序日志信息中的用户标识及调用链路标识,统计所述待测功能对应的各个调用链路的访问次数;
特征链路确定单元,用于将所述待测功能对应的调用链路中访问次数满足预设条件的调用链路,确定为所述待测功能的特征链路;
测试用例生成单元,用于根据所述待测功能的特征链路及用户按该特征链路执行后的每个接口的实际调用结果,生成按照所述特征链路进行测试的测试用例。
7.根据权利要求6所述的装置,其特征在于,
所述特征链路确定单元,具体用于将所述待测功能对应的调用链路中访问次数大于预设访问次数阈值的调用链路,确定为所述待测功能的特征链路。
8.根据权利要求6所述的装置,其特征在于,
所述特征链路确定单元,具体用于按照访问次数从多到少的顺序,选择预设数量个调用链路,确定为所述待测功能的特征链路。
9.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
测试用例存储单元,用于将生成的按照所述特征链路进行测试的测试用例存储至测试用例库中;
测试用例读取单元,用于在所述线上待测程序需要进行线上测试时,从所述测试用例库中读取测试用例;
测试用例执行单元,用于执行读取的测试用例,得到测试结果;其中,所述测试用例的测试结果包括:所述测试用例针对其对应的线上待测程序的待测功能调用的各个接口的调用成功或失败信息;
异常功能确定单元,用于将所述测试结果中调用失败的接口对应的待测程序的待测功能,确定为所述应用程序的异常功能并对其进行预警。
10.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
定时器启动单元,用于启动定时器,当到达预设测试用例更新时长时,调用所述日志信息获取单元。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201811099593.6A 2018-09-20 2018-09-20 一种线上测试用例生成方法、装置及电子设备 Active CN109062809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811099593.6A CN109062809B (zh) 2018-09-20 2018-09-20 一种线上测试用例生成方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811099593.6A CN109062809B (zh) 2018-09-20 2018-09-20 一种线上测试用例生成方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109062809A CN109062809A (zh) 2018-12-21
CN109062809B true CN109062809B (zh) 2022-01-21

Family

ID=64763351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811099593.6A Active CN109062809B (zh) 2018-09-20 2018-09-20 一种线上测试用例生成方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109062809B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753834A (zh) * 2019-02-17 2019-05-14 北京意锐新创科技有限公司 基于二维码识读装置的性能测试方法和装置
CN109902004B (zh) * 2019-02-18 2022-09-30 深圳壹账通智能科技有限公司 一种应用程序链接渠道的测试方法及装置
CN110096437A (zh) * 2019-04-12 2019-08-06 平安普惠企业管理有限公司 微服务架构的测试方法及相关产品
CN110334007A (zh) * 2019-05-27 2019-10-15 深圳壹账通智能科技有限公司 一种功能接口调用验证方法及装置、电子设备及存储介质
CN112115039B (zh) * 2019-06-21 2023-09-19 百度在线网络技术(北京)有限公司 测试用例生成方法、装置及设备
CN116684321A (zh) * 2019-07-15 2023-09-01 创新先进技术有限公司 一种幂等有效性检测方法、装置及设备
CN110647471B (zh) * 2019-09-26 2023-05-23 招商局金融科技有限公司 接口测试用例生成方法、电子装置及存储介质
CN110727597B (zh) * 2019-10-15 2023-03-10 杭州安恒信息技术股份有限公司 一种基于日志排查无效代码补全用例的方法
CN110865927B (zh) * 2019-11-20 2021-08-31 腾讯科技(深圳)有限公司 区块链调用链路异常检测方法、装置和计算机设备
CN112860538B (zh) * 2019-11-27 2024-07-16 北京沃东天骏信息技术有限公司 基于线上日志进行接口回归测试的方法和装置
CN111078551B (zh) * 2019-12-13 2023-09-22 浙江诺诺网络科技有限公司 一种全链路测试方法、装置、系统及计算机可读存储介质
CN111338947A (zh) * 2020-02-24 2020-06-26 拉扎斯网络科技(上海)有限公司 一种测试方法、装置、存储介质和电子设备
CN111506505A (zh) * 2020-04-13 2020-08-07 北京奇艺世纪科技有限公司 一种测试用例获取方法及装置
CN112559327B (zh) * 2020-12-02 2022-09-06 天津车之家数据信息技术有限公司 一种测试用例的生成方法、装置和计算设备
CN112579472B (zh) * 2020-12-30 2024-04-16 锐捷网络股份有限公司 测试用例的自动生成方法及装置
CN113485880A (zh) * 2021-07-12 2021-10-08 浙江网商银行股份有限公司 测试方法及装置
CN113778890B (zh) * 2021-09-16 2023-06-30 平安银行股份有限公司 代码测试方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335278A (zh) * 2014-06-16 2016-02-17 阿里巴巴集团控股有限公司 测试方法及设备
CN107066391A (zh) * 2017-05-09 2017-08-18 武汉联影医疗科技有限公司 测试用例的处理方法以及系统
CN107766190A (zh) * 2017-10-31 2018-03-06 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN107908549A (zh) * 2017-10-24 2018-04-13 北京小米移动软件有限公司 测试用例生成方法、装置及计算机可读存储介质
CN108073519A (zh) * 2018-01-31 2018-05-25 百度在线网络技术(北京)有限公司 测试用例生成方法和装置
CN108304324A (zh) * 2018-01-22 2018-07-20 百度在线网络技术(北京)有限公司 测试用例生成方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799869B2 (en) * 2011-10-03 2014-08-05 Accenture Global Services Limited System for ensuring comprehensiveness of requirements testing of software applications
CN102880535B (zh) * 2012-07-24 2015-10-28 播思通讯技术(北京)有限公司 一种用于移动设备的无线自动化测试装置及方法
US9135150B2 (en) * 2013-02-27 2015-09-15 International Business Machines Corporation Automated execution of functional test scripts on a remote system within a unit testing framework
US20170337116A1 (en) * 2016-05-18 2017-11-23 Google Inc. Application testing on different device types
CN106502874B (zh) * 2016-10-26 2019-05-10 南京途牛科技有限公司 一种调用链跟踪方法
US20180217921A1 (en) * 2017-02-02 2018-08-02 Cognizant Technology Solutions India Pvt. Ltd. System and method for generating and executing automated test cases
CN108268348A (zh) * 2017-12-08 2018-07-10 广州视源电子科技股份有限公司 接口测试方法、装置、移动终端及存储介质
CN108509337A (zh) * 2018-03-15 2018-09-07 链家网(北京)科技有限公司 基于接口调用的动态测试方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335278A (zh) * 2014-06-16 2016-02-17 阿里巴巴集团控股有限公司 测试方法及设备
CN107066391A (zh) * 2017-05-09 2017-08-18 武汉联影医疗科技有限公司 测试用例的处理方法以及系统
CN107908549A (zh) * 2017-10-24 2018-04-13 北京小米移动软件有限公司 测试用例生成方法、装置及计算机可读存储介质
CN107766190A (zh) * 2017-10-31 2018-03-06 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN108304324A (zh) * 2018-01-22 2018-07-20 百度在线网络技术(北京)有限公司 测试用例生成方法、装置、设备及存储介质
CN108073519A (zh) * 2018-01-31 2018-05-25 百度在线网络技术(北京)有限公司 测试用例生成方法和装置

Also Published As

Publication number Publication date
CN109062809A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109062809B (zh) 一种线上测试用例生成方法、装置及电子设备
CN108984389B (zh) 一种应用程序测试方法及终端设备
CN110704297B (zh) 代码评审方法、装置、计算机设备及存储介质
US20170046246A1 (en) Multi-data analysis based proactive defect detection and resolution
CN109062794B (zh) 一种软件测评结果的确定方法、装置及电子设备
CN109254864A (zh) 一种应用程序故障修复方法、装置及电子设备
CN111552632B (zh) 一种接口测试方法及装置
CN110879781B (zh) 程序调试方法、装置、电子设备及计算机可读存储介质
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN112540887A (zh) 故障演练方法、装置、电子设备及存储介质
US9329979B2 (en) Derivation of generalized test cases
CN113342689A (zh) 一种接口的自动化测试方法、装置、电子设备及存储介质
CN112202633B (zh) 区块链网络的测试方法、装置、电子设备及可读存储介质
CN111382077B (zh) 应用程序崩溃原因定位方法、装置、电子设备及存储介质
CN108153654B (zh) 一种日志收集方法及装置
CN109815083B (zh) 一种应用崩溃的监控方法、装置、电子设备及介质
US9501390B1 (en) Enhancing automated mobile application testing
US20210286706A1 (en) Graph-based method for inductive bug localization
CN113918438A (zh) 服务器异常的检测方法、装置、服务器及存储介质
CN110874475A (zh) 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质
CN108984386A (zh) 应用程序搜索的测试方法、装置及存储介质
CN115658482A (zh) 数据库测试方法及装置、电子设备及计算机可读存储介质
CN114338846B (zh) 一种报文测试的方法及装置
CN109165127B (zh) 问题接口的定位方法、装置及电子设备
CN107682224B (zh) 一种网络web页面的测试方法及装置

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
GR01 Patent grant
GR01 Patent grant