Tech Note · 2023-01-11 0

记录:app从0到上线

项目背景:安卓端出海休闲小游戏,基于已有项目提取、修改需求。服务端/数据库均使用原项目

全流程:

前期项目准备:

codeup:新建代码库
云效:

  • 新建项目,关联已有代码库,放置文档(设计、翻译、埋点文档等)
  • 为项目第一版新建迭代
  • PM新建需求,设计埋点,Tech leader分发任务
  • Designer:原型设计
  • 运营提供翻译

临近提测:

Google Play: 联系公司负责人在GP注册app
Google Play Developer:添加测试人员的google账号
Jenkins: 为项目编写流水线,包括debug流水线和release流水线
云效:测试理解需求,编写冒烟测试用例分发给开发
PM验收需求,开发执行冒烟用例后提测

提测:

功能测试,先测稳定的模块?还是先测关联性大的模块?(此处踩坑,先把最边缘的功能测完了,导致重要的功能堆在后面)
数据同步测试,客户端与服务端交互的上传下载,这个是一个测试重点
埋点测试,翻译测试。
广告测试,由广告组的同学负责

发版前一天,功能趋于稳定:

  • 回顾云效需求细节,检查有无漏测
  • Jenkins 打线上release包:
  • 线上release包做性能测试(monkey)
  • 服务端先上线,如果有其他app共用一套服务端或者之前已有迭代的话,需要在线上release包做一些兼容测试。
  • 兼容性测试完可以继续做覆盖安装测试,多语言测试等

全部没问题后准备发版:

  • 云效流水线触发Jenkins job:将最新打bulid的结果传到生产环境+aab包传到Google送审+合并代码分支+群消息推送
  • 云效关闭当前迭代未关闭的需求,任务,缺陷
  • 云效将测试用例添加至用例库分组
  • 去Google Play 查看发版是否成功,内部发测试报告

复盘 :

测试时间: 1.3-1.10
1.3之前熟悉需求设计,测试用例编写 jenkins流水线设置
1.3设置页测试
1.4收藏页测试,成就页测试服务端收藏记录
1.5数据集测试;参加测试周会,项目复盘会
1.6数据集测试,广告测试,发现服务端社区活动链接还没有做
1.7订阅测试,账号数据同步测试
1.8周末
1.9服务端上线,打点测试50%
1.10 打点 问题验收 monkey 上线 发测试报告

出问题的比较多的地方:

1.数据同步,尤其分页加载、需要累加的地方
2.调用其他项目的地方,如FB登录,谷歌支付、广告SDK等
3.该触发刷新页面的操作
4.支付

印象比较深刻的问题:

1.签到逻辑:刚登陆当时没记录,关闭app重打开才记录
2.数据同步:先产生数据后同步账号,数据进入了服务端中转表里并且没有下一步处理
3.覆盖安装:线上和线下环境同一个fb用户的userid openid token完全相同,造成数据混乱
4.分页加载排序:应该是所有数据按时间倒序展示
5.输入框加正则

晚的原因:

(无影响)monkey第一次跑过(下午)后有崩溃,改进后没有及时打包跑(五点该跑)
(主要原因)1.10临近上线(八点),release包点不动广告,联系广告组同学检查到九点半

保证上线时间,可改进的地方:

  • 先测能产生数据的地方,不要先测边缘功能
  • 功能已经基本实现后不用等改动安全且无关紧要的小功能,直接打Release包做预生产测试
  • Monkey尽早跑,因为发现问题还需要重新跑
  • 临近时间线后,遗留小问题列清单,追开发进度
  • 云效任务 :打release包时过一遍,确定没问题的尽早关闭
  • 时刻排手头工作优先级,先把紧急的事情做好
  • 别人讲的话一定不要忽视!