APP测试面试题(一)

1、开场问题:(自由发挥)python

一、请自我介绍一下;linux

二、为何离开上一个公司呢?android

三、作测试多久了?之前作过哪些项目?大家之前测试的流程是怎样的?用过哪些测试工具?web

四、你以为为何要在一个团队中开展软件测试工做,测试的价值提如今哪里?shell

 

2、技术方面:数据库

一、代码能力:编程

1.一、请用本身最擅长的编程语言,将一个字符串反转并输出?vim

python实现:方法一、使用[::-1],安全

方法二、使用reverse()方法。服务器

1.二、针对数十个安卓应用市场渠道包,请问如何进行大致的功能验证,简单叙述一下思路?

参考答案:能够自动化遍历某个目录下面的全部渠道包apk,而后循环:安装——》登陆——》**操做——》退出——卸载

二、测试思路:

2.一、给你一个模块,好比注册模块,你会怎么样设计与执行测试?

参考答案:数据——》从哪里来(入口)——》到哪里去(出口)——》数据库(检验数据的正确性)

需求分析(输入分析,处理分析,输出分析),数据构造,编写用例

输入分析:长度,类型,组成规则,是否为空,是否重复

处理分析:正常处理,异常处理

输出分析:前台,后台,数据

 

2.二、请说一下你之前公司功能测试经过的标准?(自由发挥)

 

2.三、你认为app测试过程当中,相对于web,要更多注意哪些测试点?或者说app测试和web测试有哪些不一样之处?

参考答案:

一、“点击加载更多”的分页处理技术,是否有重复的数据,数据显示是否完整,到达最后一页后是否还有数据进行显示;

二、数据的排序方式;

二、界面跳转是否正确;

三、出现异常状况是否有提示,是否跳转到已经设定好的默认页面,如断网状况下,显示网络未链接,数据加载失败,或者若是此页面没有数据显示,显示友好提示信息;

四、图片处理的地方,是否容易出现程序崩溃现象,主要是图片压缩机制;

五、前台展现的数据,后台进行变更(增、删、改),是不是实时更新仍是app一开始运行再进行加载;

六、前台主动发出请求,后台数据库中是否存在相应的数据同时包括数据的关联性(商家的会员进行下订单,数据库中生成一条订单的记录的同时,生成一条积分记录,该会员的积分进行相应的变化);

七、手机app网络环境测试重点:主要是针对2G、3G、4G、wifi三种网络环境进行测试 ;

八、手机app兼容性测试:主要是针对android各个系统版本进行测试,及测试屏幕分辨率进行测试;

 

三、测试技术:

3.一、说说会用哪些抓包工具?怎么用的?

参考答案:好比fiddler,主要用来作app抓包使用,先在fiddler客户端作好各项配置,端口设置为8888,而后在手机上设置代理,就能够抓包了,主要看的是服务器返回的值、还可以修改传入参数、传出的参数、模拟网络延时,去构造不一样场景。

3.二、什么是alpha测试和beta测试?

alpha测试:在公司场地,由员工主导的测试行为;beta测试:在客户场地,由客户主导进行的测试。

3.三、SQL查询语句    3.四、linux经常使用命令有哪些?  cd命令:切换到某个目录    ls命令:列出当前目录的全部文件、文件夹pwd命令:列出当前目录的路径  cp命令:复制

mv命令:剪切          grep命令:管道

find命令:查找          rm命令:删除

ps命令:查看进程          kill命令:杀掉某个进程

cat命令:查看某文件          tar命令:打包

chmod命令:赋权限          chown命令:改变文件的全部者

vim命令:文本编辑

tail -f:查看日志          netstat -aux :查看状态
 

3.五、请说明Android手机和IOS手机,系统有什么区别?

一、二者运行机制不一样:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。

二、二者后台制度不一样:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。

三、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

3.六、请简要介绍一下安卓系统四层架构?

从上到下,依次是:应用程序层——》应用程序框架层——》系统运行库层——》Linux核心层

 

3.七、简单介绍一下Android SDK中自带的几个工具/命令的功能?

参考答案:

ddms:Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik[虚拟机]调试监控服务。

monkey:Android中的一个命令行工具,能够运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

uiautomator:UIAutomator是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击、滑动、输入文本等操做。

monitor:同uiautomator

adb:ADB的全称为Android Debug Bridge,就是起到调试桥的做用。经过ADB咱们能够在Eclipse中方面经过DDMS来调试Android程序,就是debug工具。

 

3.八、经常使用的adb命令有哪些?请随便写一个monkey脚本,并解释其中参数的含义?

参考答案:

(1)adb devices、adb install、adb uninstall、adb shell pm 、adb shell am

(2)adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt

-p:app包名、

--throttle:每一个操做的间隔时间,单位ms

--ignore-crashes:忽略崩溃

--ignore-timeouts:忽略超时

--ignore-security-exceptions:忽略安全异常

-v -v -v:日志详细等级,3个v表明最详细等级的日志

d:\xnonline-monkey-test1.txt:表明将产生的日志,放到本地PC的D盘,并命名为:xnonline-monkey-test1.txt

 

3.九、测试过程当中遇到app出现crash或者ANR,你会怎么处理?

参考答案:能够先把日志过滤出来: adb logcat | findstr xxxxx(过滤日志信息) ,而后再搜索其中的关键字,好比:exception、crash,看看是那些方法或者异常致使了问题的发送,初步定位问题缘由后,能够交给开发人员去具体查找深层缘由并修复。

 

3.十、请说一下以往工做中都曾具体作过哪些工做?其中最擅长哪部分工做(功能,自动化(UI和接口),性能)?这部分你是怎么作的?(自由发挥)

 

3.十一、请简单介绍一下实用过的安卓UI自动化测试工具?

参考答案:

appium:是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。

robotium:是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各类手势操做(点击、长按、滑动等)、查找和断言机制的API,可以对各类控件进行操做。

 

3.十二、你以为app的性能测试,即专项测试,须要重点关注那些方面?

参考答案:内存、cpu占用、耗电量、流量、流畅度等

 

3.13 什么是埋点测试 

相关文章
相关标签/搜索