一、问:app测试与web测试的区别
参考答案:
1)、系统架构:web端的服务器更新后,客户端会自动同步更新;如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍;
2)、兼容性。Web端要考虑不同的浏览器内核进行测试(IE、chrome、Firefox),APP的兼容性要考虑选择主流的机型,不同的分辨率、尺寸, 以及不同的操作系统;
3)、性能:APP客户端的性能,要考虑电量,流量,GPU渲染(用GPU来在屏幕上显示图像);
4)、交叉事件测试,安装、卸载、更新,前后台切换;
5)、界面操作,如:横竖屏切换,多点触控,事件触发区域。
二、问:APP的兼容性怎么测试,测了哪些机型?哪些版本?那又怎么测Android的兼容性、怎么测手机的兼容
三、问:app测试点有哪些?
参考答案:功能,兼容性,用户体验,安全性,安装卸载升级测试,交叉事件,UI测试,性能测试。
七、问:App的性能测试怎么做的
参考答案:App的性能分为服务器端的性能和手机端的性能。我先说服务器端的性能,再说手机端的性能。
服务器端的性能,我们可以用LoadRunner或Jmeter工具进行测试,我以Jmeter工具为例子说一下App服务器端的性能测试,首先,确定app的性能测试功能点,比如,查询,提交数据,登陆这些用户常用的功能,一般会被选来做性能测试,然后,根据该功能点的接口测试需求,或使用fiddler抓包,在jmeter上构造向服务器发送的请求数据,配置好相的设置,并做好服务器的监控(我们的App项目是搭建在linux上的,用的是nmon工具做监控),然后运行测试,测试完之后,收集CPU,内存等信息,集合聚合报告的内容,分析性能测试结果。
手机端的性能测试步骤是:
1、在服务器上安装监控工具(iTest/GT)
2、启动监控工具,监控被测应用
3、清空logcat日志:adb logcat -c
4、获取logcat日志:adb logcat -v time > E:sharelogcat.log
5、使用monkey运行被测应用:adb shell monkey -p your.package.name -v 500 > E:sharemonkey.log
6、根据监控图,检查CPU,内存,流量,电量是否符合性能指标。如果不符合,就把不符合指标的报表和对应的logcat发给开发定位。
八、问:adb命令有哪些?
九、问:你这个app测试人员有几个?怎么分工?
参考答案:2个。按测试的手机类型分工,每个人负责几种测试机型,每个人都要测试app的所有测试点。
十、你做APP用过monkey,能具体讲一下吗?
参考答案:我们用monkey模拟用户的伪随机操作(点、触摸、滑动等),对APP的稳定性进行测试。
一般我们会用到命令 adb shell monkey -p 包名 -v 次数
十一、那如果monkey测试过程中,出现crash你怎么定位?
参考答案:crash一般是空指针导致的,在logcat日志中输入“nullpoint”搜索到相关的日志,然后把日志给开发定位。
十二、那问题开发修复了你怎么验证?(意思就是,monkey怎样做回归测试)
参考答案:我们会进行回归测试,会按照之前的轨迹(seed)去跑monkey,命令是:adb shell monkey -p 包名 -s seed值 -v 次数
十三、面试官:看你写有用MONKEY做APP测试,怎么做的?如果有问题的话怎么定位?
我:(1)用adb命令,adb logcat -c清空日志,再获取日志 adb logcat -v time 导到要保存日志的地方
(2)再使用monkey命令adb shell monkey -p 包名 -v 次数,不过次数的话我一般都是算时间来跑,比如说我跑个5分钟大概要多少次,然后直接跑个1小时的次数这样,然后跑完就看monkey日志,如果说它跑的次数跟我设的次数不一样.就说明monkey中途跑失败了。那我就要去看看logcat日志有没有null point,或anr in的关键字,如果有null point,就表示app在测试过程中crash了,然后把null point前后的日志截取下来,发给开发定位;如果有anr in,表示app在测试过程中出现了ANR(程序无响应),我们要把/data/anr/traces.txt文件取下下来,再把ANR进程号对应的日志发给开发定位问题。(日志具体的信息,我们看不懂)
APP出现ANR的原因:
1、线程阻塞的
2、内存不足
3、CPU满负荷
APP出现CRASH的原因:
1、空值指针
2、内存不足
3、CPU满负荷
******************************************************************
APP项目介绍参考思路:
我负责的app项目叫“xxxxxx”
主要模块有xx,xx,xx,xx,xx,主要的业务流程是xxxxxx。
测试前,先熟悉app的原型图和业务需求,确定测试点,app开发好后,先做一个冒烟测试,看看软件的基本功能是否可用,如果正常,我们再做功能测试,UI测试,兼容性测试,交叉事件测试,安装卸载测试等。
如果面试官问具体某个测试类型怎么,就要举例子加以说明。
比如:
UI测试:检查app的UI是否和原型图一致。
功能测试:xxxx
兼容性测试:xxxx
用户体验测试:xxxx
(补上app的8大测试点,并举例子说明)