做 Android 测试,如何搭建模拟不同平台的模拟环境(例如华为、小米、三星等等)?

2024-05-17 12:09:06 +08:00
 MirageTurtle

本人 Android 小白,课题需要,最近在学习相关知识,想咨询一下环境搭建上的问题。

Y:

研究课题可能需要研究某些软件在不同平台上的行为(考虑到软件监测平台然后表现不同的行为),所以可能需要搭建模拟不同平台的测试环境。 另外可能还需要安装不同的 ROM 来进行测试,或者研究 ROM 本身。

简单的搜索结果看上去似乎并不太现实?

X:

具体到现在要做的东西就是,观察到某个华为(型号+版本)的某个行为(可能软件可能系统),现在要复现。

其他

老板是愿意买真机的,实验室也有两台机器(非华为),但考虑到如果要做很多平台的测试的话,买真机可能确实是一笔大开销。

希望各位大佬能提供一些方向和思路,关键词也行,感激不尽!

期望的实验平台是 Linux ,当然其他的也行,能解决模拟环境的话,这东西感觉不是大问题。

本人真的小白,可能有些名词使用不当或表达不清,还请各位大佬见谅。(真的尽力在提好问题了

9556 次点击
所在节点    Android
31 条回复
phpfpm
2024-05-17 12:10:04 +08:00
买甄姬吧
lisongeee
2024-05-17 12:15:23 +08:00
可以首先制定详细的测试流程,然后花几百块钱招募几个持有对应手机的测试者

优点就是不用买手机,缺点是每次都得几百

咸鱼直接买二手机行不
AoEiuV020JP
2024-05-17 12:18:27 +08:00
华为开发工具有官方免费的云手机,虽然镜像少还不一定可用,但有就不错了,
MirageTurtle
2024-05-17 12:18:48 +08:00
@phpfpm 真机的话,我担心不同平台硬件也会有影响(就比如华为机子刷了小米这种然后表现可能不一致),换句话说,如果有影响,模拟器也有影响,那么我倾向于模拟器(因为组里不是所有课题都逆向,我担心 root 了之后对别的同学有影响)。

所以,我想确定一下,我是否可以通过买一个比较好的测试机,然后通过刷不同系统来做到比较高还原度的测试嘞?
MirageTurtle
2024-05-17 12:20:19 +08:00
@lisongeee 可能不太行,这个测试偏安全测试,不像开发,所以可能得 root 啊之类的。二手机器倒是不错的选择,到时候跟老板聊聊,不过不知道走报销流程好不好走。
MirageTurtle
2024-05-17 12:21:10 +08:00
@AoEiuV020JP 对,我搜的时候也注意到了来着,但还没仔细调研,这两天看看能不能用。但感觉做安全测试可能不太方便。
lm930129
2024-05-17 12:31:53 +08:00
一般是写测试脚本,然后跑云真机,云真机按次付费的,所以还行,然后你也可以选择版本,手机型号等,可以测试兼容性。测试脚本也可以使用混沌测试,关于这块,最早是雪球的测试大佬搞了一个测试脚本,可以登录页自定义脚本,其他页面完全由脚本自行判断层级关系,自动测试,并截图。然后可以用截图对比等功能,判断是否有错误。

然后如果是客户上报的那种指定机型错误的,也可以用云真机的在线操作功能,等于你租用云真机,进行在线调试,云真机是你上传 apk 后,他自动帮你安装好,然后启动,你远程操作 app 。
idonttellyou
2024-05-17 12:32:06 +08:00
买买买
iOCZS
2024-05-17 12:32:35 +08:00
有那种云测试平台,可以提供各种机型,但是要花钱租时长
davin
2024-05-17 13:04:02 +08:00
一堆真机的话,充电维护都费事费力,各种云测平台是首选
wwxwlw
2024-05-17 14:01:32 +08:00
pckillers
2024-05-17 14:04:56 +08:00
曾经用过云测平台,bug 浮现率低,后来再次打开网站发现不是转型就是倒闭了。

主要是特定机型+老系统版本的 Bug 多,以及各种依赖微信登录,第三方跳转的 bug 五花八门。

还是做好远程日志采集自动上报吧,想换手机复现 Bug 太难了。
paopjian
2024-05-17 14:20:35 +08:00
还研究 ROM 研究 Root 研究华为装 MIUI,这已经不是一般的开发者了
kimzn33251
2024-05-17 14:31:41 +08:00
手机不想买还可以租
flyqie
2024-05-17 15:14:04 +08:00
华为刷小米?

我没听错? 你自己好好学习下 aosp 吧,aosp 这边并不像你想的各厂商之间这么开放。

你刷进去大概率就是可逆性砖块
MirageTurtle
2024-05-17 15:24:16 +08:00
@flyqie 首先哥们,没别要攻击性这么强,我承认我是小白,我也提前表态了,您建议我学习某个东西我也一定会虚心接受,但我希望您下次建议新手学习某项知识时不是这种方式。

回到问题,我也确实了解到如今的环境不想快十年前我自己玩安卓刷机子那么容易了,所以我一直在问虚拟机类似的方案能否实现,因为实现不了我就只能每个厂商买个机子。
qianxaingmoli
2024-05-17 15:43:52 +08:00
支付宝租
653513754
2024-05-17 15:56:30 +08:00
@MirageTurtle 虚拟机类似的方案都是模拟接口返回数据,和真机还是有很大区别的
okakuyang
2024-05-17 17:06:34 +08:00
做 app 开发一般是去淘宝租真机 一周 一个月 ,或者咸鱼买二手 ,财大气粗公司会直接买新机 ,出一台买一台 ,一般是做手机相关硬件的厂。乱刷机当然是不行的,一个是没有 rom 包 ,rom 包收费 ,rom 包被魔改,刷进去变砖头总总。
sevenyangcc
2024-05-17 17:16:32 +08:00
买一堆二手机,之后你还会发现,还要买不同的型号,再之后发现,还要买同型号不同的 android 版本才能基本覆盖测试需求。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1041585

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX