不适配targetSdkVersion的坑你了解吗?

2020/07/02 08:00
阅读数 187

前言

Android 测试同学,不可避免的都接触过 targetSdkVersion 升级相关的测试,今天小编结合之前的经历聊一聊测试过程遇到的关于 targetSdkVersion 的坑。

问题现象和排查

小编参与测试的项目有一个产品线是由 SDK awp 内核组成,为第三方提供优化移动端的 web 应用体验的解决方案。  
近期,接入合作方的开发反馈了一个很诡异的问题:他们正在开发新版本出现 web 页面加载后显示空白的问题。而这在其他接入方使用一年多时间都没有反馈过上述问题。
故,我们开始探案模式:整个过程采用典型的排除法来定位问题 
STEP-01: 排查是否网站原因
和接入方沟通出现问题的机型和系统 (AndroidQ) 以及出现问题的链接,自行编译 demo ,但是并没有成功的复现问题。 ( 排除由于网站原因导致白屏的可能 )
STEP-02: 尝试寻找稳定复现路径 
在出现问题机型上安装接入方提供的安装包,发现可以稳定复现网页白屏的问题。(说明该开发版本存在问题)
STEP-03: 排查awp代码改动的影响
使用接入方提供的安装包,替换加载早期版本的内核,惊奇的发现也是可以复现网页白屏的问题。(排除近期产品代码和功能的变更优化,引入上述问题)
STEP-04: 排查接入方代码改动的影响
使用接入方线上的安装包,分别加载早期和最新版本的内核,结果发现问题无法复现。(这个一度使我们陷入困境,怀疑是接入方自身代码错误而引入的问题)
STEP-05: 确认接入方代码改动对awp的影响
和接入方开发沟通,排查前后版本有哪些重大改动。(确认哪些改动,是否影响到 awp 的接入功能,最后发现该开发版本计划升级 targetSdkVersion api29
STEP-06: demo尝试模拟出现问题场景
修改 demo 代码,更改 targetSDKVersion 29 ,发现在 Android Q 手机上可以复现问题。
STEP-07: 确认导致问题的复现原因
基于上面的排查步骤,可以初步定位是由于接入方将 targetSDKVersion 升级 29 导致 Android Q 机型上独有的问题。之前一年没有反馈上述问题的原因是基本业界内主流应用 targetSdkVersion 大部分都没有升级到 29 ,所以提前没有暴露上述问题。
STEP-08: 定位问题的深层原因
这个部分,测试同学在排查阶段不需要介入太多。由开发持续定位深层原因和修复问题。

问题原因

针对问题的后续的定位和排查,我们发现导致问题的原因是由于接入方升级 targetSDKVersion 29 ,诱发了潜藏的共享内存问题,导致网页显示白屏。后续有机会可以针对共享内存问题总结分享一次。
Android Q 共享内存特性详细参考: https://developer.android.com/about/versions/10/behavior-changes-10

隐患思考

细思下,这有个更隐患的问题。这个问题是在接入方开发过程提出发现的,如果到接入方测试后期才发现呢?或者由于未适配 API29 的机型呢?对于用户,这无疑将是一个重大伤害。
那我们在过程中的哪个环节存在问题呢:没有关注 Android 新版本的特性吗?没有关注共享内存对于逻辑细节的影响吗?
答案是否定的,这个是我们学习、总结、沉淀和提升的过程,但是并不是解决这个问题的核心方法。核心在于如何尽早发现上述问题。

问题解决与启示

解决这个问题的核心在于第一时间进行 targetSdkVersion 适配。
因为是为第三方提供服务的产品形态,所以和单一 APP 测试存在的区别是:在单一 APP 测试中,适配测试主要涉及分辨率适配,厂商机型适配,系统版本适配, ROM 适配, CPU 架构适配和 Android 系统运行环境适配。但是单一 APP 特定版本 targetSdkVersion 是恒定的,不需要适配 targetSDKVersion
而作为第三方服务提供者,接入方 targetSDKVersion 版本并不统一,虽然接入方也不会第一时间升级到最新版本的 targetSDKVersion 。但是第一时间完成最新版本 targetSDKVersion 的适配,可以提前发现潜藏的问题,以便为接入方提供更好的服务。

结语

工作中需要学会尽可能避免踩坑,但实际上不可能做到完全杜绝。真正重要的是杜绝踩相同的坑,工作过程遇到的问题都是成长的宝藏:  
There are nomistakes, save one: the failure to learn from a mistake.

搜狗测试QQ粉丝群:459645679

本文分享自微信公众号 - 搜狗测试(SogouQA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部