【技术实现步骤摘要】
一种软件兼容性检测方法、智能终端及存储介质
本专利技术涉及计算机信息
,尤其涉及一种软件兼容性检测方法、智能终端及存储介质。
技术介绍
安卓系统是基于Linux内核研发的移动操作系统,由于它的开源性,大量的厂商在原生的安卓系统基础上开发不同的定制版本,以吸引客户。而开发定制版本会修改底层的系统,因此导致市面上安卓系统碎片化严重。市面上有来自1200多个制造商的24000多种不同设备。此外,随着安卓系统的更新换代,市场上常见运行的应用程序编程接口(ApplicationProgrammingInterface,API)版本有很多种,而且不同的软件调用的API数量巨大,统计发现仅仅是API版本28的软件开发工具包(SoftwareDevelopmentKit,SDK)的源代码中就有220000多个方法,而开发人员在开发一款新软件时,为测试该软件是否在客户的终端正常运行,必须事先在各个不同的版本的系统和终端上进行检测,并验证是否能够正常调用API和工作正常。为解决这一技术问题,研究人员推出了许多用于静态分析软件兼容性的软件,例如FicFinder和CiD,但由于静态分析的局限性,在检测过程中会出现许多错误报警。因此又有人提出了一种动态检测方案,称之为自动化兼容性测试,通过开发的软件在不同设备和不同版本的应用程序编程接口(ApplicationProgrammingInterface,API)重复执行测试,也就是重放,以识别不一致的地方,从而实现对该软件兼容性的测试。但是由于前文所述的设备型号、API版本数量和 ...
【技术保护点】
1.一种软件兼容性检测方法,其特征在于,所述软件兼容性检测方法包括:/n获取待检测的原始软件,并对所述原始软件进行埋点的预处理,生成测试软件;/n控制所述测试软件运行预先生成的常规测试用例,并生成各个所述常规测试用例对应的运行日志;/n根据所述运行日志中是否存在目标API,对所述常规测试用例进行筛选和加工,生成兼容性测试用例;/n根据所述兼容性测试用例,对所述测试软件进行兼容性检测。/n
【技术特征摘要】
1.一种软件兼容性检测方法,其特征在于,所述软件兼容性检测方法包括:
获取待检测的原始软件,并对所述原始软件进行埋点的预处理,生成测试软件;
控制所述测试软件运行预先生成的常规测试用例,并生成各个所述常规测试用例对应的运行日志;
根据所述运行日志中是否存在目标API,对所述常规测试用例进行筛选和加工,生成兼容性测试用例;
根据所述兼容性测试用例,对所述测试软件进行兼容性检测。
2.根据权利要求1所述的软件兼容性检测方法,其特征在于,所述获取待检测的原始软件,并对所述原始软件进行预处理,生成测试软件,具体包括:
获取待检测的原始软件;
对所述原始软件中的目标API进行插桩,生成中间软件;
对所述中间软件进行签名,生成测试软件。
3.根据权利要求1所述的软件兼容性检测方法,其特征在于,所述根据所述运行日志中是否存在目标API,对所述常规测试用例进行筛选和加工,生成兼容性测试用例,具体包括:
根据所述运行日志中是否存在目标API,将包含所述目标API的运行日志对应的常规测试用例作为候选测试用例;
将所述候选测试用例剪切,生成中间测试用例;
将所述中间测试用例添加用于获取屏幕界面的记录序列,生成包含所述目标API的兼容性测试用例。
4.根据权利要求3所述的软件兼容性检测方法,其特征在于,所述根据所述兼容性测试用例,对所述测试软件进行兼容性检测,具体包括:
控制所述测试软件在预先设定的测试设备池中运行所述兼容性测试用例;
基于所述记录序列,获取同一所述兼容性测试用例在所述测试设备池中的不同设备运行时的目标屏幕界面;
根据所述目标屏幕界面,确定所述测试软件对应的兼容性信息。
5.根据权利要求4所述的软件兼容性检测方法,其特征在于,所述兼容性信息包括所述原始软件是否存在兼容性问题及引发所述兼容性问题的原因,所述根据所述目标屏幕界面,确定所述测试软件对应的兼容性信息,具体包括:
根据所述目标屏幕界面,判断所述目标屏幕界面是否存在崩溃或闪退;
若所述目标屏幕界面存在崩溃或闪退,则确定所述原始软件存在兼容性问题,且存在崩溃或闪退的目标屏幕界面所对应的目标API为引发兼容性问题的原因;
若所述目...
【专利技术属性】
技术研发人员:李琳琳,刘烨庞,卢之睿,余添诚,张艺凡,
申请(专利权)人:南方科技大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。