一、问:app测试与web测试的区别
参考答案:
1)、系统架构:web端的服务器更新后,客户端会自动同步更新;如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍;
2)、兼容性。Web端要考虑不同的浏览器内核进行测试(IE、chrome、Firefox),APP的兼容性要考虑选择主流的机型,不同的分辨率、尺寸, 以及不同的操作系统;
3)、性能:APP客户端的性能,要考虑电量,流量,GPU渲染(用GPU来在屏幕上显示图像);
4)、交叉事件测试,安装、卸载、更新,前后台切换;
5)、界面操作,如:横竖屏切换,多点触控,事件触发区域。
二、问:APP的兼容性怎么测试,测了哪些机型?哪些版本?那又怎么测Android的兼容性、怎么测手机的兼容
三、问:app测试点有哪些?
参考答案:功能,兼容性,用户体验,安全性,安装卸载升级测试,交叉事件,UI测试,性能测试。
四、问:app项目做了多久
参考答案:一直在做,现在app的主体需求已经完成了,后期都是一些零零散散的需求,测试工作量比较少。
五、问:你测了app哪些模块
参考答案:所有功能都测
六、问:你怎么做app测试的 参考答案:参考本文档后面的“APP项目介绍参考思路”
七、问: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:\share\logcat.log
5、使用monkey运行被测应用:adb shell monkey -p your.package.name -v 500 > E:\share\monkey.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大测试点,并举例子说明)
APP项目介绍参考思路: 我负责的app项目叫“及时达借款” 主要模块有立即借款,客服,我的资料模块,主要的业务流程是用户在我的资料模块填写好个人信息,然后在立即借款模块借款,如果有不明白需要帮助的地方,可以通过客服模块联系客服解决。 测试前,先熟悉app的原型图和业务需求,确定测试点,app开发好后,先做一个冒烟测试,看看软件的基本功能是否可用,如果正常,我们再做功能测试,UI测试,兼容性测试,交叉事件测试,安装卸载测试等。
如果面试官问具体某个测试类型怎么,就要举例子加以说明。
功能测试:注册时用户名密码是否有长度限制,已存在的用户名是否还可以注册;
登录:合法用户是否可以登录,是否可以用第三方登录,登录超时的处理
离线浏览:在离网的情况下是否可以浏览本地数据
安全测试:敏感数据是否加密,密码过于简单是否有提醒
用户体验测试:界面是否简洁,是否符合用户的习惯
交叉事件测试:安装升级卸载以及前后台的切换是否正常
兼容性测试:在不同的操作系统,不同分辨率,尺寸上是否兼容
性能测试:流量,电量,cpu,内存是否符合性能指标
安装升级卸载测试:是否能一键安装,卸载后是否还有残余文件没有删除,卸载后能否重新再安装。
UI测试:检查app的UI是否和原型图一致