一种兼容性测试方法、装置及设备制造方法及图纸

技术编号:36393444 阅读:9 留言:0更新日期:2023-01-18 09:58
本说明书实施例提供了一种兼容性测试方法、装置及电子设备。在测试待测操作系统与目标应用程序之间的兼容性时,可以在保证目标应用程序在参考操作系统和在待测操作系统的运行环境一致的情况下,分别在上述两个操作系统中运行该目标应用程序,并记录运行过程中形成的系统调用序列等运行数据,然后可以通过比对在两个操作系统中形成的系统调用序列等运行数据是否一致,判定目标应用程序是否与待测操作系统兼容。通过这种方式,对于一些新开发或新设计的操作系统、或者一些特殊场景中使用的操作系统,也能准确测试其与应用程序的兼容性。性。性。

【技术实现步骤摘要】
一种兼容性测试方法、装置及设备


[0001]本说明书实施例涉及计算机
,尤其涉及一种兼容性测试方法、装置及电子设备。

技术介绍

[0002]当对操作系统的内核版本进行了更新,或者开发了新的操作系统时,通常需要测试操作系统与应用程序之间的兼容性,以确保应用程序可以在操作系统上稳定运行。目前,在测试操作系统与应用程序的兼容性时,有些方式是通过研发人员基于代码改动评估两者的兼容性,这种方式很难评估到位。有些方式是采用一些测试工具测试两者的兼容性,但是这些测试工具主要是判定操作系统或应用程序是否符合预先定义的接口规范,这种方式仅适用于一些标准的操作系统,对于一些新设计或开发的操作系统,并不适用。

技术实现思路

[0003]为克服相关技术中存在的问题,本说明书实施例提供了一种兼容性测试方法、装置及电子设备。
[0004]根据本说明书实施例的第一方面,提供一种兼容性测试方法,所述方法包括:
[0005]获取在参考操作系统上运行目标应用程序的过程中形成的参考运行数据,其中,所述参考操作系统与所述目标应用程序兼容,所述参考运行数据至少包括参考系统调用序列,所述目标应用程序的输入一致时,所述目标应用程序的运行结果一致;
[0006]获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,其中,在所述参考操作系统上运行所述目标应用程序的运行环境与在所述待测操作系统上运行所述目标应用程序的运行环境一致,所述测试运行数据至少包括测试系统调用序列;
[0007]至少基于所述参考系统调用序列与所述测试系统调用序列的比对结果,确定所述目标应用程序与所述待测操作系统的兼容性。
[0008]在一些实施例中,所述参考运行数据为在按照预先设置的确定性处理规则对所述参考操作系统中的运行环境进行确定性处理的情况下,在所述参考操作系统上运行所述目标应用程序时形成的运行数据;
[0009]所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:
[0010]在按照所述确定性处理规则对所述待测操作系统中的运行环境进行确定性处理的情况下,在待测操作系统上运行所述目标应用程序,并获取运行过程中形成的测试运行数据,其中,所述确定性处理规则用于将所述目标应用程序的运行环境处理成固定的运行环境。
[0011]在一些实施例中,所述参考运行数据基于以下方式确定:
[0012]在按照预先设置的确定性处理规则对所述待测操作系统中的运行环境进行确定性处理的情况下,在所述参考操作系统上运行所述目标应用程序并记录运行过程中形成的
运行数据,若多次运行所述目标应用程序的过程中形成的运行数据一致,则将记录的运行数据作为所述参考运行数据,其中,所述确定性处理规则用于将所述目标应用程序的运行环境处理成固定的运行环境。
[0013]在一些实施例中,所述方法还包括:
[0014]若多次运行所述目标应用程序的过程中所形成的运行数据不一致,则更新所述确定性处理规则。
[0015]在一些实施例中,所述运行环境包括以下一种或多种信息:
[0016]所述目标应用程序对应的进程号和身份标识、所述目标应用程序的目录、所述目标程序运行时依赖的文件、系统参数、分配给所述目标应用程序的硬件资源、所述目标应用程序运行过程中从操作系统获取的随机变量、所述目标应用程序运行过程中从操作系统获取的系统时间、所述目标应用程序的文件系统相关信息、所述目标应用程序对应的多个线程或进程的执行顺序、所述目标应用程序所处的网络环境、所述目标应用程序在运行过程中接收到的信号、CPU指令的返回结果。
[0017]在一些实施例中,所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:
[0018]在所述待测操作系统上运行所述目标应用程序,并记录运行过程中形成的测试运行数据;或
[0019]基于所述参考系统调用序列中的系统调用链路和入参,在所述待测操作系统中执行系统调用并得到系统调用结果,基于所述系统调用链路、所述入参和所述系统调用结果得到所述测试系统调用序列。
[0020]在一些实施例中,所述参考运行数据还包括参考运行结果,所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:
[0021]在所述待测操作系统上运行所述目标应用程序,并记录运行过程中形成的测试系统调用序列、以及测试运行结果;
[0022]所述至少基于所述参考系统调用序列与所述测试系统调用序列的比对结果,确定所述目标应用程序与所述待测操作系统的兼容性,包括:
[0023]判定所述参考运行结果与所述测试运行结果是否一致;
[0024]如果不一致,则确定所述目标应用程序与所述待测操作系统不兼容;
[0025]如果一致,则基于所述参考系统调用序列与所述测试系统调用序列的对比结果,确定所述目标应用程序与所述待测操作系统的兼容性。
[0026]在一些实施例中,所述参考运行数据还包括参考函数堆栈数据,所述测试运行数据还包括测试函数堆栈数据,所述基于所述参考系统调用序列与所述测试系统调用序列的对比结果,确定所述目标应用程序与所述待测操作系统的兼容性,包括:
[0027]判定所述参考系统调用序列与所述测试系统调用序列是否一致;
[0028]如果不一致,则确定所述目标应用程序与所述待测操作系统不兼容;
[0029]如果一致,则判定所述参考函数堆栈数据与所述测试函数堆栈数据是否一致;
[0030]如果一致,则确定所述目标应用程序与所述待测操作系统兼容。
[0031]在一些实施例中,所述参考函数堆栈数据与所述测试函数堆栈数据一致,包括:
[0032]所述参考函数堆栈数据和所述测试函数堆栈函数数据中的函数一致;或
[0033]所述参考函数堆栈数据和所述测试函数堆栈函数数据中的函数一致、函数调用顺序一致、且函数调用结果一致。
[0034]在一些实施例中,所述参考系统调用序列包括网络相关的参考系统调用序列和非网络相关的参考系统调用序列,所述参考运行数据还包括参考网络数据包,所述参考网络数据包为所述目标应用程序进行真实的网络相关的系统调用时,所述待测操作系统返回的数据;
[0035]所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:
[0036]在对所述待测操作系统上的网络运行环境进行确定性处理的情况下,获取所述目标应用程序在所述待测操作系统上运行过程中形成的非网络相关的测试系统调用序列;
[0037]基于所述网络相关的参考系统调用序列中的系统调用链路和入参,在所述待测操作系统上执行系统调用,得到系统调用结果,基于所述系统调用链路、所述入参和所述系统调用结果得到网络相关的测试系统调用序列;
[0038]其中,所述对所述目标应用程序的网络运行环境进行确定性处理通过以下方式实现:拦截所述目标应用程序向所述待测操作系统发送的网络相关的系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种兼容性测试方法,所述方法包括:获取在参考操作系统上运行目标应用程序的过程中形成的参考运行数据,其中,所述参考操作系统与所述目标应用程序兼容,所述参考运行数据至少包括参考系统调用序列,所述目标应用程序的输入一致时,所述目标应用程序的运行结果一致;获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,其中,在所述参考操作系统上运行所述目标应用程序的运行环境与在所述待测操作系统上运行所述目标应用程序的运行环境一致,所述测试运行数据至少包括测试系统调用序列;至少基于所述参考系统调用序列与所述测试系统调用序列的比对结果,确定所述目标应用程序与所述待测操作系统的兼容性。2.根据权利要求1所述的方法,所述参考运行数据为在按照预先设置的确定性处理规则对所述参考操作系统中的运行环境进行确定性处理的情况下,在所述参考操作系统上运行所述目标应用程序时形成的运行数据;所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:在按照所述确定性处理规则对所述待测操作系统中的运行环境进行确定性处理的情况下,在待测操作系统上运行所述目标应用程序,并获取运行过程中形成的测试运行数据,其中,所述确定性处理规则用于将所述目标应用程序的运行环境处理成固定的运行环境。3.根据权利要求1所述的方法,所述参考运行数据基于以下方式确定:在按照预先设置的确定性处理规则对所述待测操作系统中的运行环境进行确定性处理的情况下,在所述参考操作系统上运行所述目标应用程序并记录运行过程中形成的运行数据,若多次运行所述目标应用程序的过程中形成的运行数据一致,则将记录的运行数据作为所述参考运行数据,其中,所述确定性处理规则用于将所述目标应用程序的运行环境处理成固定的运行环境。4.根据权利要求3所述的方法,所述方法还包括:若多次运行所述目标应用程序的过程中所形成的运行数据不一致,则更新所述确定性处理规则。5.根据权利要求1

3任一项所述的方法,所述运行环境包括以下一种或多种信息:所述目标应用程序对应的进程号和身份标识、所述目标应用程序的目录、所述目标程序运行时依赖的文件、系统参数、分配给所述目标应用程序的硬件资源、所述目标应用程序运行过程中从操作系统获取的随机变量、所述目标应用程序运行过程中从操作系统获取的系统时间、所述目标应用程序的文件系统相关信息、所述目标应用程序对应的多个线程或进程的执行顺序、所述目标应用程序所处的网络环境、所述目标应用程序在运行过程中接收到的信号、CPU指令的返回结果。6.根据权利要求1

4任一项所述的方法,所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:在所述待测操作系统上运行所述目标应用程序,并记录运行过程中形成的测试运行数据;或基于所述参考系统调用序列中的系统调用链路和入参,在所述待测操作系统中执行系统调用并得到系统调用结果,基于所述系统调用链路、所述入参和所述系统调用结果得到
所述测试系统调用序列。7.根据权利要求1所述的方法,所述参考运行数据还包括参考运行结果,所述获取在待测操作系统上运行所述目标应用程序的过程中形成的测试运行数据,包括:在所述待测操作系统上运行所述目标应用程序,并记录运行过程中形成的测试系统调用序列、以及测试运行结果;所述至少基于所述参考系统调用序列与所述测试系统调用序列的比对结果,确定所述目标应用程序与所述待测操作系统的兼容性,包括:判定所述参考运行结果与所述测试运行结果是否一致;如果不一致,则确定所述目标应用程序与所述待测操作系统不兼容;如果一致,则基于所述参考系统调用序列与所述测试系统调用序列的对比结果,确定所述目标应用程序与所述待测操作系统的兼容性。8.根据权利要求...

【专利技术属性】
技术研发人员:陈歆周天昱别体伟谈鉴锋贺勇沈安琪
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1