持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情
Android APP内存不足时, 系统如何结束进程获得内存?
系统优先结束被挂起(暂停)的进程,释放内存
APP测试常见的严重问题有哪些? 分别引起的原因有哪些?
常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄漏、代码编写错误
请简单介绍你曾使用过的一款 APP 自动化测试工具 ?
开放性问题,带点主观意见
1.对比其他熟悉的自动化工具的优缺点
2.自动化的简要方案(简要的同时关键内容请具体)。(提示: appnium 等)
Android测试与 web 测试有什么区别?
相同点:
1.设计测试用例均依据等价类、边界值等方法,测试原理相同;
2.大多数都采用黑盒测试方法来验证业务功能;
3.需要检查界面布局、风格和按钮是否美观、统一等(UI测试);
4.测试页面载入和翻页的速度、登录时长是否溢出等问题(性能测试)
5.测试应用系统的稳定性;
不同点:
1.手机作为通信工具,通信等一些行为会对APP产生(中断测试)
2.手机用户对app 产品的安装卸载操作:从上一版本/上两个版本直接升级到最新版本(安装卸载测试);
3.web自动化测试使用的工具较常用的是selenium,而android手机自动化测试比较常用的自动化工具是monkey、monkeyrunner、Appium(测试工具不一样)
app测试有哪几种环境?
-
本地环境: app 安装的手机环境和电脑搭建的自动化测试环境(比如安卓 SDK 等等) 。
-
服务器环境: war 包部署的服务器, 服务器可以通过浏览器访问, 也可以通过 app 去访问。(访问的是 web 程序的接口)
简单介绍一下 Android SDK 的安装步骤
-
下载 jdk 和安卓 sdk
-
安装 jdk, 配置环境变量(java_home、 classpath、 path)
请简要介绍一下移动应用及其服务端的测试点?
-
移动应用主要有权限、安装运行卸载、UI、功能、性能、中断、兼容性、安全性、回归、升级更新、用户体验。(app 的 11 大测试点)
-
服务端有接口测试、性能测试、安全测试。
如何判断 app 的 bug 是客户端问题还是后台问题
这个要根据业务来,一般数据的问题前端的问题多些,一般做法是有问题提给前端开发, 他们知道是他们自己的问题还是后台返回的数据问题。
安卓中如何取出日志信息?
-
把安卓系统日志信息实时导入到本地: adb logcat -v time > d:\mylog.log
-
运行使用某个 app,实时获取该 app 的日志信息(cmd 里面的返回信息) :
adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log
常见的 adb 命令
-
查看当前连接的设备: adb devices
-
安装软件: adb install 路径\xx.apk
-
卸载软件: adb uninstall <包名>
-
从电脑上发送文件到设备: adb push <本地路径> <远程路径>
adb push C:\test1.txt /sdcard/
- 从设备上下载文件到电脑: adb pull <远程路径> <本地路径>
adb pull /sdcard/test1.txt D:
-
实时获取日志: adb logcat -v time > D:\mylog.log
-
登录终端设备 shell: adb shell
-
查找包名/活动名: adb logcat | findstr START
(脚本中, cmp= 后面的值就是 包名/activity 名称)
- 启动 APP 启动
adb shell am start -n packageName/activity
- 关闭 app
语法: adb shell am force-stop 包名
- 监控 APP 启动时间
adb shell am start -W packageName/activity
- Monkey 命令:
adb shell monkey -v -p mypackage 50
APP这么多主流机型如何测试 ?
我们公司就买了, 魅族, 华为, 小米, iphone7、 iphone8 、 iphone8plus 、 iphone x 测试兼容性,有些没有的机型,先借用同事的手机进行测试,同时申请公司购买,或者采用云真机。