品质管理 增量更新问题排查

陈子昂 · 2016年09月03日 · 最后由 陈子昂 回复于 2016年09月04日 · 2306 次阅读

1.增量更新环节

测试服(不限制 ip)验证完成,到正式服(限制 ip)开白名单验证,然后在线上灰度,正式对外,灰度是要看情况的。


测试要求:
要求是

Appversion 1.0.2  Resversion 1031 -> 升级后Appversion不变Resversion 1032

当时测试组有人配置了 1 个补丁,每次由 1 个人来操作,平时这个流程很成熟的,这次也出了问题,卡了一会,这里做分享


补丁包更新确保以下是正确的
文件正确上传 ftp 文件管理位置(国外对应国外的,国内也是)
资源版本号和文件数量正确并且合法
文件大小正确,补丁路径个事正确。
整个 patch 路径正确 - 可支持 url 复制下载到资源
对应版本版本号也在合法区间内


一切通过后,patch 文件里做文件差异,有运行游戏后做 ptach 检查,发现补丁更新失败。

2.问题处理

步骤如下:
1) 启动游戏,初始化 sdk,启动 sdk 加载平台账号 ok
2) 获取服务器列表 ok,客户端文件匹配

Resversion 1321  Appversion 1.0.2

,触发更新
3) 时光机步骤过了壳到游戏的部分,patch 条一直在转,然后提示更新失败(平台自定义的文本提示)


当时没有直接连线调式打 log,选择先检查后台,发现资源地址配置

xxx.com/ file path/filenamepatch_1032_4.hl

前面缺少 http://
这是 1 个疏忽性的问题,直接把资源地址配置放在 url 里,也是可以下载,但在配置里是需要写完整的,不支持自动解析。


Ip 解析的域名带下划线,当时觉得有点奇怪,测试组修改了 patch 名称后,就可以更新了。

发现可以更新后,完成 smoke 和特征测试后就发布上线了,当时渠道方也在登陆测试,也出现了补丁包更新失败,模拟器步骤更新失败和 android 更新失败。

3.游戏增量更新需要保证

1.如果更改了库文件,特殊载体需要验证。根据实际情况一定比例
2.ios,android 需要上线验证。
3.对模拟器操作上线验证。根据实际情况一定比例


当时提示对方也在更新,所以建议对方需要在设置 - 应用管理 - 指定应用 - 清除数据和关闭之前进程,在开 1 次才可以更新到 patch。这里需要了解在什么情况下,文件变更或者驱动变更才可以生效。

但是我们这边没有复现没法打 logcat,对方一时也找不到人打 logcat,所以我根据经验要求对方一起做了很多验证(重新安装包,内存剩余空间检查,模拟器清除数据等),这里略过。

4.最终原因

对方抓了 log 发回来,发现 java 解析补丁文件失败,也有几个 system.err() 系统异常的。
最后发现是 ip 转换域名里使用下划线导致的,会导致部分手机中 http 读写失败,会进行自动拒绝不合法域名,最早的 dns 语法里没有包含下划线,这个是失误了。
Java 本身也自带了方法

url url String

对方处理过程就不描述了。

5.总结

对于已经成熟环节,但在质量比较重要环节有点投入轻视。
游戏较多,不清楚的配置可以检查上一份版本的配置,做为参考。之前配置的应该在后台有一份,在本地 txt 也需要留一份。
本地不可复现,尽快让对方传 log 回来。
同安装软件路径地址一样,绝对路径不使用中文和特殊符号,特别留意下划线_,连接符-,多余的点号.。

乱入图片一张,除了技术,还有吃的
山药饭,主要喜欢海苔

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 4 条回复 时间 点赞

你的配图没有美感。。。

当时提示对方也在更新,所以建议对方需要在设置 - 应用管理 - 指定应用 - 清除数据和关闭之前进程,在开 1 次才可以更新到 patch。对方是谁啊?

#2 楼 @Lihuazhang 配图下次我换个好吃的,对方是一个妹纸...,然后周六又发生了其他事。。

#2 楼 @Lihuazhang 这次我这边测试组也有一些失误,没检查清楚。最后还是和渠道方妹纸一起解决了。。😂

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册