老用户升级后触发某个功能崩溃
问题出现现象
【线上问题监控】新版本如果老用户升级后 触发获取转写语言崩溃。
问题复现:

a. 环境:Android 已经下载V3.4.4老版本;
b. 操作:打开录音助手app V3.4.4版本,连接录音笔,进行实时录音,切换语言为英文;升级到V3.4.5版本,升级完成后,连接录音笔,APP端发起实时录音;

问题出现原因
代码层面
老版存在配置文件里的语言是int值,对应中文英文。新的需求需要支持所有语言,开发设计如果用int 值去做就要遍历几十个,不合理,类型改成了String,采用后端语言码的映射开发直接存后端语言码简单的处理方式。
V3.4.4老版本实时录音language设置
V3.4.5修改实时录音language设置类型
代码修复
V3.4.6修改后实时录音language设置
wifi和4G切换失败问题
问题出现现象
产品转发反馈的问题【能录不能听,而且批量转写失败】
问题复现:
a. 环境:
手机周围当前没有可用的wifi网络,使用4G网络。
手机未连接周边的wifi网络(设置里忽略掉当前能连上的所有wifi),使用4G网络。
b. 操作:打开录音助手app,蓝牙连接C1 Pro录音笔;从笔端发起wifi连接,app显示wifi连接成功;笔端从wifi切换到蓝牙,手机状态栏显示4G网络,此时录音助手app无法联网;切换到浏览器等其它app是可以联网的。杀掉录音助手app再启动,就可以联网了。
问题出现原因
代码层面
App为了提高wifi连接成功率和稳定性,将录音笔wifi网络绑定到录音笔app,录音笔wifi断开,手机切换到其它wifi会重置网络绑定,但切换到4G网络没有触发重置逻辑,导致app无法联网。
开发继续优化wifi连接,加入强绑定,解决新增bug,提交了强绑定的优化变量赋值。releaseNetworkRoute()这句话应该在每次socket断开的时候加上,现在只是加在了切换到其他wifi网络时。
总结
测试覆盖度
用例设计层面,开发实现方案了解不够充分。
测试执行层面,覆盖安装测试,没有老版本上用户配置项切换后覆盖安装验证,测试覆盖不足。
测试重点关注新功能的核心流程,没有对用户实际场景网络切换的可用性重点关注,测试覆盖不足。
沟通配合
开发修改了配置项的类型,没有同步测试;
反思
后续改进
1、一轮测试过程中,对于有配置项的功能模块,除了模块功能重点关注外,新旧版本配置项兼容,需补全覆盖安装测试;覆盖安装测试,应该放在每个模块的测试中,而不仅是最后回归阶段。
2、模块相对独立情况下,除了模块功能重点关注外,用户实际使用的各种实际场景,需补充覆盖;测试环境构造方面,吸取教训;
3、除了关注数据库的升级还要关注sharedpreference 是否有修改;
4、代码类型改变的影响范围,一定要求开发务必和测试沟通同步;
5、代码优化部分的影响范围,以及解决bug的代码影响,多当面沟通,深入理解。