一、开场问题:(自由发挥)
  1、请自我介绍一下;为什么离开上一个公司呢?
  2、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具?
  3、你觉得为什么要在一个团队中开展软件测试工作,测试的价值提现在哪里?
二、技术方面:
  1、代码能力:
  1.1、请用自己最擅长的编程语言,将一个字符串反转并输出?
  参考答案:
  (1)python实现:
  方法1、使用[::-1]:
  s = 'python'
  print s[::-1]
  方法2、使用reverse()方法:
integer和int区别  l = list(s)
  l.reverse()
  print ''.join(l)
  (2)java实现:
  方法1、使用StringBuffer,一点技巧也没有:
  public String reverse(String s){
  return new StringBuffer(s).reverse().toString();
  }
dubbo架构设计  方法2、灵活运用了字符串功能:
  public String reverse(String s){
  char[] CharArray();
  char temp;vue js 教程 阮一峰
  int len=letters.length;
  for(int i=len/2-1;i>=0;i--){
  temp=letters[i];
  letters[i]=letters[len-1-i];
  letters[len-1-i]=temp;
  }
  return new String(letters);
  }
  1.2、针对数十个安卓应用市场渠道包,请问如何进行大体的功能验证,简单叙述一下思路?
  参考答案:可以自动化遍历某个目录下面的所有渠道包apk,然后循环:安装——》登录——》**操作——》退出——卸载
  2、测试思路:
  2.1、给你一个模块,比如注册模块,你会怎么样设计与执行测试?
  参考答案:数据——》从哪里来(入口)——》到哪里去(出口)——》数据库(检验数据的正确性)
  2.2、请说一下你以前公司功能测试通过的标准?(自由发挥)
  2.3、你认为app测试过程中,相对于web,要更多注意哪些测试点?或者说app测试和web测试有哪些不同之处?
系统架构方面:
web项目,一般都是b/s架构,基于浏览器的
app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。
性能方面:
web页面主要会关注响应时间
而app则还需要关心流量、电量、CPU、GPU、Memory这些。
它们服务端的性能没区别,都是一台服务器
兼容方面:
web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容
app测试则要看分辨率,屏幕尺寸,还要看设备系统。
web测试是基于浏览器的所以不必考虑安装卸载。
而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑
到异常场景。包括安装时的中断、弱网、安装后删除安装文件
此外APP还有一些专项测试:如网络、适配性。。。
  三、测试技术:
  3.1、说说会用哪些抓包工具?怎么用的?
  参考答案:比如fiddler,主要用来做app抓包使用,先在fiddler客户端做好各项配置,端口设置为8888,然后在手机上设置代理,就可以抓包了,主要看的是服务器返回的值、还能够修改传入参数、传出的参数、模拟网络延时,去构造不同场景。
  3.2、什么是alpha测试和beta测试?
  alpha测试:在公司场地,由员工主导的测试行为;beta测试:在客户场地,由客户主导进行的测试。
  3.3、请写出一个SQL来查询分数前五5的所有人?
  mysql:select * from 分数表 order by 分数 desc limit 5;
  oracle:select top 5 * from 分数表 order by 分数 desc;
  3.4、linux常用命令有哪些?
  cd命令:切换到某个目录
  ls命令:列出当前目录的所有文件、文件夹
  pwd命令:列出当前目录的路径
  cp命令:复制
  mv命令:剪切ostrich policy
  grep命令:管道
  find命令:查
  rm命令:删除
  ps命令:查看进程
  kill命令:杀掉某个进程浮点数表示实例
  cat命令:查看某文件
  tar命令:打包
  chmod命令:赋权限
  chown命令:改变文件的所有者
  vim命令:文本编辑
  3.5、请说明Android手机和IOS手机,系统有什么区别?
  1、两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
  2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
  3、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。
mysql面试题常问  3.6、请简要介绍一下安卓系统四层架构?
  从上到下,依次是:应用程序层——》应用程序框架层——》系统运行库层——》Linux核心层
  3.7、简单介绍一下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.8、常用的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:\
  -p:app包名、
  --throttle:每个操作的间隔时间,单位ms
  --ignore-crashes:忽略崩溃
  --ignore-timeouts:忽略超时
  --ignore-security-exceptions:忽略安全异常
  -v -v -v:日志详细等级,3个v代表最详细等级的日志
  d:\:代表将产生的日志,放到本地PC的D盘,并命名为:
  3.9、请说一下以往工作中都曾具体做过哪些工作?其中最擅长哪部分工作(功能,自动化(UI和接口),性能)?这部分你是怎么做的?(自由发挥)
  3.10、请简单介绍一下实用过的安卓UI自动化测试工具?
  参考答案:
  appium:是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。
  robotium:是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查和断言机制的API,能够对各种控件进行操作。
  3.11、你觉得app的性能测试,即专项测试,需要重点关注那些方面?
  参考答案:内存、cpu占用、耗电量、流量、流畅度等

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。