一、常用的adb命令有哪些?
命令 | 含义 |
adb devices | 展示当前电脑连接的设备,如果电脑上有多个手机,需要adb -s指定对应设备 |
adb install xxx.apk | 直接安装xxx.apk到手机中,注意:必须打开手机设置里的USB安装 |
adb install -r xxx.apk | 替代存在的应用,不会删除应用数据,用于更新应用 |
adb shell am monitor | 获取当前活动状态的app包名,需要先启动app,再执行命令 |
adb uninstall com.xxx.application | 直接删除应用和所有数据 |
adb shell pm list packages | 展示应用列表 |
adb pull 远程文件 本地路径 | 从android设备上下载某文件到本地电脑中 |
adb push 本地文件 远程路径 | 从本地电脑上上传文件到android设备的某文件夹里 |
adb logcat | 查看android设备的日志 |
二、用过monkey吗?用monkey来做什么?发现过什么问题吗?
monkey是用来对安卓app进行稳定性测试的一个工具;
之前用monkey测app的稳定性时,发现过一些crash的情况,当时通过查看monkey日志,找到了一些空指针异常报错,将报错发给了开发,后来开发判断是因为兼容性的问题,修复后就没问题了。
三、iOS系统和Android系统的区别(高)
- iOS稳定性比较高,Android相对差一些,就看厂商的优化了
- Android因为开源而导致碎片化严重,每个厂商都定制了自己的rom
- Android更容易出现信息泄露,权限问题,安全性漏洞等问题
- iOS的开发语言是Swift和Objective-C,运行效率高,android的开发语言为Java,运行效率低
- 做兼容性测试时,Android要做的设备比较多,iOS相对少一些
四、怎么测试APP的兼容性?(高)
主要看客户那边对兼容性的要求高不高
如果要求不高的话,部门内有一些主流的安卓和iOS机型,大概七八台,平时主要用这些来进行测试;
如果要求高的话,一般会购买一些第三方测试服务,如WeTest、Testin之类的,他们的机型更多,而且最终会提供一个测试报告。
五、工作中都用到了抓包工具的什么功能,分别是在什么场景下使用的?(高)
分析前后端Bug :
发现bug后,对bug做基本的定位,判断是客户端还是服务器的问题
请求断点:
拦截客户端发送的请求,修改某些参数,测试服务端接收到异常参数后的处理逻辑
响应断点:
拦截服务器返回的响应,修改某些数据(如状态码),测试客户端接收到异常响应后的处理逻辑
拦截服务器返回的响应,修改某些数据(响应json),构造出一些特殊场景(如返回大量数据,测试分页情况)
弱网:
为了测试APP在弱网情况下,核心功能是否可用,如果不可用,是否有友好提示,是否会出现闪退,崩溃的情况
Mock:
当服务器没开发完成,使用fiddler模拟服务器来返回有效的响应内容,可以先测试APP端是否功能正常
六、APP某个功能失效了,如何排查是客户端还是服务器的问题?(高)
- 检查客户端网络是否有问题,可以查看其他APP能否正常使用
- 检查是否是版本问题,可以换个操作系统(安卓、iOS),或者换个其他软件版本试试
- 检查是否是兼容性的问题,可以换个手机试试
- 抓包进行分析,如果APP没有向服务器发送请求,或者请求参数不对,那么技术APP的问题,如果服务器响应数据不对,那么技术服务器的问题
七、有做过H5的测试吗?(中)
我们的APP里有些页面是H5的,测试的时候就是通过APP界面来操作的,没有单独对H5做过测试
八、APP冷启动和热启动的区别(中)
- 冷启动:指APP被后台杀死后,在这个状态打开APP,这种启动方式叫做冷启动
- 热启动:指APP没有被后台杀死,仍然在后台运行,通常我们再次去打开这个APP,这种启动方式叫做热启动
- 热启动比冷启动速度更快
九、测试过APP的push推送吗?都要考虑哪些测试点?(中)
- 什么场景下会触发push
- push消息内容的准确性
- push推送的用户是否准确(全部推送、部分推送、指定用户推送)
- push推送消息的点击跳转是否正常
- APP在前台运行和后台运行,用户是否都能收到push消息
- 用户未登录,是否能接收到push消息
- 用户长时间未登录,后续第一次登录时,是否会收到历史推送消息
十、针对APP的安装功能,写出测试点(中)
- 正常安装测试,检查是否安装成功
- APP版本覆盖测试,如先安装一个1.0版本的APP,再安装一个高版本(1.1)的APP,检查是否被覆盖
- 回退版本测试。如先装一个2.0版本的APP,再安装一个1.0版本的APP,正常情况下版本是可以回退的
- 安装时内存不足,弹出提示
- 安装过程中的意外情况,如强行断电、断网、来电话了、查看信息等,检查会发生的情况
- 在不同型号、系统、屏幕大小、分辨率上的手机进行安装
- 安装时是否识别有SD卡,并默认安装到sd卡上
- 安装完成后,重启手机能否正常启动应用程序
- 安装完成后,是否对其他应用程序造成影响
- 安装完成后,杀毒软件是否会对其当做病毒处理
- 在安装过程中,所有的提示信息中不能出现代码、符号、乱码等
- 是否支持第三方安装
在安装中点击取消按钮或杀掉进程,是否还能重新安装
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。