logo好方法网

一种软件升级强制触发方法、装置及软件升级系统


技术摘要:
本发明涉及软/硬件测试技术领域,公开了一种软件升级强制触发方法、装置及软件升级系统。通过本发明创造,提供了一种基于软件版本号的修改来欺骗触发软件自动更新逻辑的新方法,即通过网络流量劫持工具,可拦截获取在客户端软件程序与服务器之间传输的数据包,并通过对  全部
背景技术:
自动升级功能普遍存在于软件或者硬件设备中,强制触发自动升级功能对软件测 试和程序分析都有着很重要的意义。例如,对于程序分析而言,通过触发软件或者设备的自 动升级功能,能够获取到目标程序的升级包,升级包对程序分析非常重要,通过它可以分析 出软件在哪些方面进行了何种升级,添加了哪些功能;另外很多物联网设备(IoT,Internet  of  Things)的升级包包含有完整的设备固件,这样就避免了物理提固件(拆开设备)所带来 的困难和损坏。而对于软件测试而言,覆盖率是一个非常重要的指标;宽泛的讲,它指的是 在测试过程中成功测试的功能占软件总功能数的比例,越高的覆盖率就意味着测试越完 善,越有可能触发bug或漏洞;但是软件可能存在某些在特定条件下才能触发的功能,导致 测试覆盖率不高,其中一个很关键的功能便是自动升级;自动触发升级功能也就意味着更 加完善的测试。 但是目前无论是在软件测试方面或者程序分析方面都没有一个很好的方法来触 发自动升级,这是一个困扰软件测试人员和程序分析人员的难点。例如在程序分析中,如果 想得到IoT设备的升级包,程序分析人员一般会购买运行低版本固件的设备,然后在设备自 动升级过程中通过截取网络流量获得升级包。但是该方式存在如下弊端:(1)成本高,每次 测试都要购买新设备;(2)具有未知性,目标设备不一定能买到(或不一定存在)低版本版; (3)不可重复,升级功能初次触发后目标设备将会自动升级,之后将无法触发。
技术实现要素:
为了解决现有软/硬件测试过程中所存在的难以随时触发升级功能以获取最新软 件升级包的技术问题,本发明目的在于提供一种软件升级强制触发方法、装置、计算机设 备、计算机可读存储介质和软件升级系统,可以随时触发升级功能来获取最新软件升级包, 从而无需每次测试都购买新设备,降低了测试成本。 第一方面,本发明提供了一种软件升级强制触发方法,包括: 通过网络流量劫持工具,拦截获取客户端软件程序向服务器发送的第一数据包, 其中,所述第一数据包包含有所述客户端软件程序的客户端侧版本号; 将所述第一数据包中的客户端侧版本号修改为低版本号; 向所述服务器传送修改后的所述第一数据包,以便所述服务器在根据所述客户端 侧版本号与服务器侧最新版本号的对比结果判定客户端软件版本为低版本时,向所述客户 端软件程序反馈第二数据包,其中,所述第二数据包包含有所述服务器侧最新版本号和与 所述服务器侧最新版本号对应的软件升级包下载地址; 通过网络流量劫持工具,拦截获取所述第二数据包; 4 CN 111596942 A 说 明 书 2/9 页 将所述第二数据包中的服务器侧最新版本号修改为高版本号; 向所述客户端软件程序传送修改后的所述第二数据包,以便所述客户端软件程序 在根据所述服务器侧最新版本号与本地客户端侧版本号的对比结果判定客户端软件版本 为低版本时,根据所述软件升级包下载地址下载获取最新软件升级包。 基于上述
分享到:
收藏