1. 什么是压力面试:
    a) 压力面试是指有意制造紧张,以了解求职者如何面对压力
    b) 提出生硬的、不礼貌的问题故意使候选人感到不舒服
    c) 针对某一事项或问题做连串的发问,直至无法回答

  2. 压力面试的目的:
    a) 确定求职者对压力的承受能力
    b) 确定求职者在压力前的应变能力
    c) 确定求职者在压力前的人际关系能力

  3. 压力测试的适用范围:
    a) 高级管理人员

  4. 如何处理压力面试
    a) 秉持真诚
    b) 控制语速
    c) 控制情绪

  5. 什么是非压力面试
    a) 非压力面试和压力面试正相反,面试官营造良好沟通范围
    b) 面试官让面试者尽可能多的表达,以获得有用的信息

  6. 非压力面试的目的是什么
    a) 获取更多的有用信息,技术能力、管理能力、沟通能力
    b) 全方位观察应试者,以确定性格、情绪控制、态度等

  7. 如何处理非压力面试
    a) 通过语言表达各项的能力
    b) 通过语调、手势和眼神,表现各项素质

  8. N对1面试都有哪些情况
    a) 1对1面试,一般是技术面试
    b) 2对1面试,技术和HR
    c) 2对1面试,多轮

  9. 群面都包含那些内容
    a) 多个面试官,有明确的打分标准
    b) 形式:问题讨论,分组对抗
    c) 时间:半小时左右

  10. 群面可能的评价标准是什么
    a) 应试者发言次数
    b) 是否能创造一个好的沟通范围
    c) 在团队中起到的作用,提出了哪些建议
    d) 是否尊重他人,是否倾听他人
    e) 语言表达能力和总结能力
    f) 是否具备很强的自信心

  11. 什么是情境面试
    a) 给定一个情景,看应聘者在特定的情境中是如何反应的
    b) 情景模拟面试的理论依据是动机理论中的目标设置理论

  12. 情景模式的目的是什么
    a) 给应试者设置一系列工作中可能会遇到的事件
    b) 询问“在这种情况下你会怎么做”
    c) 鉴别应试者与工作相关的行为意见

  13. 情景面试可能问题
    a) 从用户角度看是问题,从技术方面 看开发认为不是,如何处理
    b) 如何处理开发认为测试误报的bug过多的问题
    c) 开发提测后,频繁改动代码,影响测试进度怎么处理

  14. 什么情况下会出现电话面试
    a) 简历在可以与不可以之间时
    b) 面试公司与面试距离较远
    c) 面试者比较强势,被挖时

  15. 电话面试都应该注意哪些问题
    a) 应试者比较被动,尤其逻辑思维弱,不能短时间show自我的
    b) 准备好纸和笔,随时准备记录一些重要信息
    c) 把握提问的机会,提出具有深度思考的问题

  16. 什么是开放式问题
    a) 需要较长的答案,面试官希望尽可能的详细
    i. 如何处理开发和产品之间的关系
    ii. 详细介绍一下你使用过的自动化测试框架及原理

  17. 开放式问题的一般特征是什么
    a) 寻求求职者的想法和反应
    b) 获取求职者的观念和感觉
    c) 将谈话控制权交给求职者

  18. 什么是封闭式面试
    a) 求职者仅需用一个词或短语回答,回答的内容具体明确
    i. 你今年多大
    ii. 写过多少行自动化代码

  19. 封闭式问题的一般特征是
    a) 获取更多的事实
    b) 持续掌握谈话的控制权
    c) 缓解沟通气氛
    d) 快速获取答案

  20. 什么是首因效应
    a) 第一印象作用或先入为主效应
    b) 第一印象作用时间长且重要

  21. 什么是近因效应
    a) 主要取决于后来出现的刺激
    b) 面试过程中,我们对他疼最近、最新的认知占了主体地位

  22. 如何打造和人气质
    a) 着装得体,给人可信任的感觉
    b) 口腔清洁,主要口腔异味
    c) 注意服装清洁,避免有异味
    d) 勤刮胡子、鼻毛,保持清洁
    e) 不要躲闪对方的眼光
    f) 语调不急不慢,适当停顿,确认对方已经听清楚
    g) 自信的交流,即使能力不足,也要给人一种坚定的感觉

  23. 沟通过程包括
    a) 倾听
    b) 理解
    c) 反馈

  24. 面试官需要知道什么

  25. 我需要说什么

  26. 我到底想说什么

  27. 哪些信息需要一定包含

  28. 哪些信息可以忽略

  29. 传达信息需要保持:清晰、积极、简洁、正确、礼貌、完整

  30. 初级岗位应该具备哪些能力
    a) 了解测试过程、bug处理流程、测试用例设计方法
    b) 文档总结能力、测试报告编写能力
    c) 常用工具Fiddler、Firebug、postman、jmeter、idea
    d) 熟悉计算机、网络相关的基础知识、linux、http、web等
    e) 抗压能力

  31. 中级岗位应该具备哪些能力
    a) Bug’分析定位能力,独立解决问题能力
    b) 数据分析能力,发现流程中存在的问题
    c) 编写脚本的能力,实现自动化测试
    d) 为改进测试流程提出有效建议
    e) 掌握数据库相关知识,了解mysql、redis等
    f) 了解内存、CPU、QPS、响应时间等概念
    g) 可以使用脚本采集数据、分析
    h) 熟练使用Loadrunner、Jmeter等压力工具

  32. 高级岗位应该具备哪些能力
    a) 自动化框架开发
    b) 测试平台开发
    c) 推动测试流程改进
    d) 较强的沟通能力
    e) 较好的团队合作能力
    f) 较好的表达、演讲能力

  33. 资深专家的能力
    a) 制定测试方案,选择或研发测试工具、平台
    b) 对各个测试内容进行有效的度量分析
    c) 解决测试过程中的技术需求
    d) 在领域内有一定的影响力,主导产品的测试质量

  34. 测试页面输入框,有什么测试内容
    a) 大的范围
    i. 功能性、兼容性、稳定性、性能、安全、接口、线上监控、自动化
    b) 小的范围
    i. 功能、兼容性、安全
    c) 确认面试的题目
    i. 如果时间允许的话,我想从各个方面说一下我考虑到的内容
    d) 功能性测试
    i. 常规可输入的内容、数字、字符串、特殊字符、转义字符等
    ii. 非常规有一定含义的,html标签,css,js代码,url,sql语句等
    iii. 输入内容的边界,空字符、超长文本(边界值+1,-1)
    e) 兼容性测试
    i. 根据用户分布,手机品牌、分辨率、选择topN机型
    ii. Web端测试不同浏览器
    iii. 关注的问题,页面渲染、页面布局等,借助firebug调试
    f) 稳定性测试
    i. 并发用户访问同一请求或者同一页面不同请求
    ii. 多次查询,返回的内容相对稳定
    g) 性能测试
    i. QPS,Query Per Second每秒处理的请求数
    ii. 载入界面耗时情况
    iii. 加载的页面大小,资源的数量等

  35. 简历表现
    a) 技术能力
    b) 管理能力
    c) 学习能力
    d) 沟通能力
    e) 创新能力
    f) 团队协作

  36. 好的简历
    a) 文案简洁,格式清晰
    b) 概括重点,重点突出
    c) 多用数据,多用图表

  37. 测试流程(参考就行)
    a) 需求沟通
    b) 制定测试方案
    c) 设计测试用例
    d) 准备测试环境
    e) 测试执行
    f) Bug处理
    g) 回归验证
    h) 跟进上线

  38. Bug处理流程
    a) 新建待修改待验证已验证关闭或遗留或误报

  39. Bug处理流程
    a) Bug分级,优先级(高中低)、严重程度(高中低)
    b) Bug分类,UI,系统,接口
    c) Bug状态,新建,待修改,待验证,已验证,遗留,关闭

  40. 沟通的对象和方法
    a) 产品,开发,UED
    b) 市场,运维,运营
    c) 领导,下属
    d) 面对面沟通
    e) 邮件沟通
    f) 即时通讯软件(微信QQ)

  41. 常用的测试工具
    a) 网络调试工具:fiddler
    b) 页面调试工具:chrome inspector firebug
    c) Web自动化工具:QTP,selenium
    d) 移动端工具:ADB,Monkey,monkeyrunner
    e) 移动端自动化框架:appium,robotium, uiautomator,selendroid
    f) 平台知识:window,ios,Android,linux
    g) 服务端压力测试工具:loadrunner,jmeter
    h) 数据库工具:navicat

  42. 如何设计测试用例,管理测试用例
    a) 测试用例设计原则
    b) 测试用例设计方法
    c) 测试用例管理方式

  43. 工作效率如何,都有什么成果
    a) 如何安排任务,提高测试效率
    b) 工作中的成果都有哪些
    c) 如何团队间协调工作

  44. 问题背后的意图是什么
    a) 通过问题看能力
    b) 通过回答看人品
    c) 通过表现看态度

  45. 测试阶段
    a) 单元测试集成测试系统测试验收测试

  46. 如何做好测试计划
    a) 明确测试什么(app还是服务端)
    b) 明确测试目标(性能或者功能点)
    c) 明确项目开始,结束时间
    d) 明确测试方案(自动化,手工,性能)
    e) 明确资料的位置

  47. 常见的测试用例设计方法
    a) 等价类划分法(将集合的数据用某几个数据代表)
    b) 边界值分析法(大于小于等于边界值)
    c) 错误推测法(以测试人员经验推测)
    d) 正交表分析法(横纵坐标影响元素交错)
    e) 场景分析法(登录场景或者购买场景)
    f) 因果图法(集合输入输出)

  48. 一条bug记录包含哪些内容
    a) 测试工程师,开发人员,bug日期
    b) Bug标题,bug正文,复现步骤
    c) Bug优先级,bug严重等级
    d) Bug所属模块
    e) Bug状态(新建,已修复,已验证,遗留等)
    f) Bug处理记录

  49. 如何分层自动化测试
    a) UI自动化回归
    b) 接口自动化
    c) 单元测试-白盒测试

  50. 如何保证脚本有效性
    a) 保证定位有效性,封装处理异常
    b) 保证流程有效性,封装独立方法
    c) 保证数据有效性,数据备份和回复

  51. 如何降低自动化维护成本
    a) UI自动化,针对不长变的页面
    b) 接口自动化,周期短,变动频繁
    c) 框架分层,用例与框架分离

  52. 常见测试覆盖类型
    a) 语句覆盖
    b) 判定覆盖
    c) 条件覆盖
    d) 判定/条件覆盖
    e) 条件组合覆盖
    f) 路径覆盖

  53. B/S和C/S架构有什么区别
    a) C/S是client/server或客户/服务器模式,如:杀毒软件
    b) B/S是Browe/Server的缩写,如:慕课网网站

  54. 安全性测试都包含哪些内容
    a) 用户访问认证
    b) 传输数据加密
    c) 安全防护策略:如安全日志,入侵检测,隔离防护,漏洞扫描
    d) 数据备份与恢复
    e) 防病毒系统
    f) SQL注入,JS注入

  55. 测试报告都包含哪些内容
    a) 测试背景说明
    b) 测试范围说明
    c) 测试环境说明
    d) 测试方法说明
    e) 测试结果结论
    f) 质量或风险评估

  56. Alpha测试与beta测试的区别
    a) Alpha测试是由一个用户在开发环境下进行的测试
    b) Beat测试在用户真实环境测试,通过后进入发布阶段

  57. Bug的类型有哪些
    a) Bug,有代码编写错误导致的功能问题
    b) Defect即缺陷,实现与需求不一致
    c) Fault即故障,由于环境系统问题引发运行失败
    d) Error即错误,语法错误,逻辑错误,不易发现

  58. 面向对象的概念
    a) 面向对象编程,简称OOP,是一种程序设计思想
    b) 主要包括:类,继承,多态,实例,属性,方法

  59. 什么是进程,线程,协程
    a) 进程:独立数据空间,进程间不共享数据,系统调度。(from multiprocessing import Process)
    b) 线程:执行程序的最小单元,进程内线程间共享资源,系统调度。(threading.Thread(target=show,args(I,))
    c) 协程:程序员调度,分解一个线程成为多个“微线程”(gevent.spawn(class))

  60. 如何使用python实现 socket编程
    a) Socket又称套接字,应用程序通过套接字向网络发出请求
    b) 应用程序通过套接字应答网络请求
    c) 使主机间或者一台计算机上的进程间可以通讯
    d) 个人理解:两台计算机的进程通过IP+port端口进行通讯

  61. 什么是lambda表达式
    n = lambda x: x ** 2 + 10
    print(n(10))
    结果:110

  62. Tuple和list区别
    a) Tuple为元组,list为列表
    b) 元组不可修改,列表可以修改

  63. Range函数的用法
    a) 返回一系列连续增加的整数
    b) 工作方式类似于分片
    c) 可以生成一个列表对象
    d) 示例:range(0,101) ; range(0,101,2)

  64. 字符串的拆分方法有哪些
    a) String的split方法,不允许有多个分隔符
    b) 函数re.split(“”,“”),允许为分隔符指定多个正则模式

  65. 单引号,双引号,三引号的区别
    a) 单引号双引号没有区别,都可以用来表示字符串
    b) 三引号,字符串内可以直接换行

  66. *args,**kwargs什么作用
    a) *args,可变的参数列表
    b) **kwargs,键值对参数列表
    def test_kwargs(first, *args, **kwargs):
    print(first)
    for i in args:
    print(“args %s” % i)
    for k, v in kwargs.items():
    print(“kwargs”, (k, v))
    test_kwargs(1, 2, 3, 4, a0=1, a1=2, a3=4)
    1
    args 2
    args 3
    args 4
    kwargs (‘a3’, 4)
    kwargs (‘a1’, 2)
    kwargs (‘a0’, 1)

  67. Python中pass语句的作业
    a) 占位符

  68. Re模块中match和search方法的不同
    a) Search,扫描整个字符串查找匹配
    b) Match,只在字符串开始位置匹配

  69. 解释一下WSGI和faseCGI的关系
    a) CGI:公共网关接口(CommonGeteway Interface)
    i. HTTP服务器与机器上的程序进行交互的一种工具
    ii. 程序必须运行在网络服务器上,和语言无关
    iii. 个人理解:对页面端信息的处理
    b) WSGI:Python Web Server Gateway Interface
    i. Python应用程序和web服务器之间的一种接口
    c) FastCGI:像是一个常驻(long-live)型的CGI,它可以一直执行

  70. Python是如何操作文件的
    a) With open(“test.txt”, “at”) as f:
    f.write(“\nhello mook”)
    追加内容自动关闭文件

  71. Python的内存管理机制
    a) 引用计数
    i. From sys import Getrefcount Getrefcount (a1)
    b) 垃圾回收
    c) 内存池

  72. Dici的items与iteritems区别
    a) Items方法类似以列表方式返回,返回时没有特殊顺序 (不可迭代)
    b) Iteritems方法类似,但返回的是一个迭代器对象 (可迭代)

  73. 排序
    a) 从小到大排序:sorted(list) ;改变真实顺序:list.sort()
    b) 从大到小排序:sorted(list, reverse=True) ;改变真实顺序:list.sort(reverse=True)

  74. 冒泡
    a) 比较相邻的元素,如果第一个比第二个大,就交换
    b) 一轮遍历,每两相邻元素,重复对比,最大的放队尾

  75. 快排
    a) 从列表中挑出一个元素,作为基准值key
    b) 小于key’的放左边,大于key的放右边

  76. 堆排序
    a) 堆排序指利用堆的数据结构设计的一种排序算法
    b) 堆近似一个完全二叉树结构
    c) 子节点的键值小于(或者大于)它的父节点

  77. 二分查找
    a) 折半查找
    b) 必须采用顺序存储结构
    c) 必须按关键字大小有序排列

  78. 素数
    a) 除了1和它自身外,不能被其他自然数整除的数

  79. OSI七层模型指的是哪些内容
    a) 物理层:建立,维护,断开物理连接
    b) 数据链路层:逻辑连接,硬件地址寻址,差错校验
    c) 网络层:逻辑地址寻址,不同网络之间的路劲选择,IP
    d) 传输层:传输数据的协议,TCP,UDP
    e) 会话层:建立,管理,终止会话,本地与远程主机的会话
    f) 表示层:数据的标示,安全,压缩,JPEG,ASCII等
    g) 应用层:与最终用户的接口,HTTP,HTTPS,SMTP等

  80. http协议中get,post的区别
    a) 功能差异(get适合查询,post适合修改)
    b) 数据查询(get明文显示,post内容都在body)
    c) 安全性(post比get安全)

  81. Tcp和udp的区别
    a) Tcp
    i. 面向连接
    ii. 可靠的
    iii. 传输大量的数据
    iv. 慢
    b) Udp
    i. 面向非连接
    ii. 不可靠
    iii. 少量数据
    iv. 快

  82. TCP连接三次握手具体过程
    a) 主机A发送SYN信息(序列号=x)
    b) 主机B接收SYN信息并发送SYN,ACK信息(序列号=y,确认号=x+1)
    c) 主机A接收SYN,ACK信息(序列号=y,确认号=x+1)并发送ACK信息(确认号=y+1)
    d) 主机B接收ACK信息(确认号=y+1)
    e) 在此期间AB持续进行交流

  83. TCP四次挥手过程
    a)

  84. Socket建立连接的过程
    a) 服务器建立监听,socket,bind,listen
    b) 客户端发送请求,connect,send
    c) 连接确认,accept,response

  85. 进程与线程的区别
    a) 进程:独立数据空间,进程间不共享数据,系统调度。
    b) 执行程序的最小单元,进程内线程间共享资源,系统调度。
    c) 一个进程可以有多个线程,多个线程也可以并发执行。

  86. 进程都有哪些状态
    a) 就绪状态:已获处理机以外所需资源,等待分配处理机资源
    b) 运行状态:占用处理机资源运行,此状态进程数<=CPU数
    c) 阻塞状态:进程等待某种条件,在条件满足之前无法执行
    d)

  87. 进程同步与互斥的区别
    a) 互斥:
    i. 某一资源同时只允许一个访问者对其进行访问
    ii. 具有唯一性和排它性
    iii. 互斥无法限制访问者对资源的访问顺序,即访问是无序的
    b) 同步:
    i. 基于互斥,经其它机制实现访问者对资源的有序访问
    ii. 大多数情况下,同步已经实现了互斥,写入资源是互斥的
    iii. 少数情况下,可以允许多个访问者同时访问资源

  88. 进程间通信都包括哪些
    a) 管道:半双工通信方式,数据单项流动,父子进程间
    b) 命名管道:半双工通信方式,无亲缘关系进程间通信
    c) 信号量:是计数器,锁机制,控制多进程对资源访问
    d) 消息队列:消息链表,存放在内核中由消息队列标识符标识
    e) 信号:比较复杂的通信方式,通知进程某个事件已经发生
    f) 映射一段能被多个进程可访问的内存

  89. 进程的调度算法都有哪些
    a) 先来先服务
    b) 短作业优先
    c) 时间片轮转调度算法
    d) 高响应优先
    e) 优先权调度算法
    f) 多级队列调度算法

  90. 死锁产生的原因
    a) 资源竞争
    b) 进程推进顺序不当
    c) 必要条件:互斥,不剥夺,请求与保持,环路等待
    d) 预防死锁,破坏四个必要条件之一

  91. 页面的置换算法都有哪些
    a) 最佳置换算法
    b) 先进先出置换算法
    c) 最近最久未使用置换算法
    d) Clock置换算法,也叫最近未使用算法
    e) 最少使用置换算法

  92. Makefile作用是什么
    a) 定义规则,指定哪些文件先编译,后编译,重新编译
    b) Makefile的好处,自动化编译
    c) Makefile需要make关于解释执行

  93. 什么是虚存,实存,共享内存
    a) 虚存(VIRI = SWAP + RES):
    i. 进程“需要的”虚拟内存大小
    ii. 包括进程使用的库,代码,数据,以及malloc,new分配的堆空间和分配的栈空间等
    iii. 申请10MB,使用1MB,增长10MB
    b) 实存(RES = CODE + DATA):
    i. 包括使用中的malloc,new分配的堆空间和分配的栈空间,但不包括swap out量
    ii. 申请10MB,使用1MB,增长1MB
    c) 共享内存(SHR)
    i. 自身,也包括其他进程的共享内存
    ii. 进程只使用了几个共享库的函数,但包含整个共享库大小
    iii. 某个进程所占的物理内存大小:RES – SHR

  94. 如何创建一个数据库
    a) Create database 数据库名

  95. 如何创建一个数据表
    a) Create table 表名

  96. 如何操作数据表中的数据
    a) Select * from table where tiaojian
    b) Update class set ziduan = xinziduan where tiaojian
    c) Insert into table values
    d) Delete from table where tiaojian
    e) Drop table tablename

  97. Fiddler 抓包
    a) PC打开fiddler代理,设置 端口
    b) 移动端连接同一WIFI,打开手动代理
    c) 输入PC端ip地址以及端口号
    d) 手机访问PC的IP地址下载证书设置一个密码

  98. 设置请求过滤
    filters
    a)

  99. 慢网速设置
    a) RulesPerformanceSimulate Modem Speeds 打开
    b) FiddlerSsciptGo to: OnBeforeRequestm_SimulateModem 设置

  100. Android的四大组件是什么
    a) Activity:程序与用户的交互窗口
    b) Service:在程序后台,完成用户的操作
    c) ContentProvider:提供数据的统一访问格式
    d) BroadcastReceiver:应用程序之间传输信息的机制

  101. Activity的生命周期是什么
    a) onCreate:activity正在被创建,执行一些初始化工作
    i. 如:调用setContentview加载界面布局资源,初始化activity所需数据
    b) onStart:activity正在被启动,这时activity已经可见(对应用可见),只不过在后台,用户还看不到;
    c) onResume:表示activity已经出现在前台,用户可见
    d) onPause:activity正在停止,可以执行存储数据,停止动画等不太耗时的工作
    e) onStop: acticity即将停止,可以做一些稍微重量级的工作,同时不能太耗时
    f) onDestory:axticity即将被销毁,执行回收工作和资源释放
    g) onRestart:activity正在重启,执行顺序为:onPauseonStoponRestartonStartonResume
    h)

  102. 什么是ANR
    a) Application Not Responding
    b) Activity 的最长执行时间是5秒
    c) 用户可以选择“等待”让程序继续运行,或“强制关闭”

  103. Android常见的五种布局是什么
    a) FrameLayout(框架布局)
    b) LinearLayout(线性布局)
    c) AbsoluteLayout(绝对布局)
    d) RelativeLayout(相对布局)
    e) TableLayout(表格布局)

  104. Android中动画有哪几种类型
    a) Tween动画,组件移动,缩放,透明度的变化
    b) Frame动画,通过顺序播放来实现,类似电影

  105. 如何重启adb服务
    a) adb kill-server
    b) adb start-server

  106. App的安装和卸载
    a) Adb -s ip或者设备名 install -r
    b) Adb -s ip或者设备名 uninstall

  107. 如何在电脑和手机之间传输数据
    a) Adb push D:\test.apk /data/local/tmp/test.apk
    b) Adb pull /data/local/tmp/test.txt D:\

  108. 如何静默安装app
    a) Adb push D:\test.apk /data/temp/test.apk
    b) Adb shell pm install -f /data/temp/test.apk

  109. 如何使用adb启停一个app
    a) Adb shell am start -W -S package/activity
    b) Adb shell am force-stop package

  110. 如何通过某个关键字查找已安装的包
    a) Adb shell pm list package -f keyword

  111. 如何截屏,录屏
    a) Adb shell screencap /data/local/tmp/screen.png
    b) Adb shell screenrecord /data/local/tmp/demo.mp4

  112. 如何抓取logcat日志
    a) Adb logcat
    b) Adb shell logcat

  113. 如何获取当前cpu,内存状态
    a) Adb shell dumpsys meminfo package
    b) Adb shell dumpsys cpuinfo | findstr package

  114. Monkey 进行压力测试的命令
    a) Adb shell monkey -p -vvv

  115. 如何重现Crash, ANR过程
    a) Adb shell monkey -s 6789 -p -vvv
    i. (保证触发序列一样)
    b) Crash:程序崩溃或闪退
    c) ANR:程序未响应

  116. 如何提取Crash,ANR的信息
    a) 将monkey执行过程中的日志重定向到文件
    i. adb shell monkey -v -v -v -p com.hyt.meeting.plus -vvv 100 > 20200707.log
    b) 测试班app连接第三方统计平台

  117. 如何设置monkey运行8小时
    a) 添加参数 –throttle
    b) Adb shell monkey -v -v -v -s 6789 –throttle 300 -p com.hyt.meeting.plus 1000

  118. 在crash/ANR后,如何继续执行
    a) 添加忽略crash参数 –ignore-crashes
    b) 添加忽略ANR参数 –ignore-timeouts

  119. 如何让monkey执行指定的事件
    a) 触摸事件 --pct-touch
    b) 动作事件 –pct-motion
    c) 轨迹球事件 –pct-trackball
    d) 基本导航事件 –pct-nav
    e) 主要导航事件 –pct-majornav
    f) 系统导航事件 –pct-syseys
    g) 应用启动事件 –pct-appswitch
    h) 其他类型事件 –pct-anyevent

  120. Instrumentation原理是什么
    a) 基于JUnit,因此既可以直接使用Junit 进行测试,也可以使用Instrumentation 来测试Android 组件

  121. Instrumentation测试什么
    a) 功能性测试
    b) Activity生命周期的测试
    c) 模拟数据库操作的测试和兼容性测试

  122. 什么情况使用Instrumentation?
    a) 使用Java Junit框架
    b) 需要进行白盒测试时
    c) 需要使用Mock技术模拟系统对象时

  123. UIAutomator原理是什么
    a) UIAutomator是Android UI自动化测试工具
    b) 不需要源码,基于Java开发语言
    c) UiDevice, UiSelector, UiScrollable, UiObject, UiCollection (类库)

  124. UIAutomator可以测试什么
    a) App UI层的交互操作
    b) 不需要源码,可以模拟跨进程过程
    c) 基于Java Junit框架,黑盒UI自动化

  125. 如何识别App视图内的元素
    a) UIAutomatorViewer
    b) 可以识别元素的id,classname,bounds等

  126. Selendroid的原理是什么
    
a)   四大组件
i.  Selendroid Client:Webdriver + 移动特性的实现
ii. Selend Server: 一个Instrumentation APK
iii.    AndroidDriver-APP:一个WebViewActivity,即浏览器
iv. Selendroid-Standalone: 大总管,负责准备环境
  1. Robotium的原理是什么
    a) 基于Instrumentation进行封装,实现的Android测试框架
    b) 封装了一个Solo类库,提供自动化测试API
    c) 由于是基于Instrumentation,测试时需要源码
  2. 什么是Appium
    a) 一个开源的移动端UI自动化测试框架
  3. Appium的理念是什么
    a) 不需要app源码
    b) 不局限于语言或者框架
    c) 接口统一,不需要重复开发
    d) 必须是开源的
  4. Appium 概念
    a) C/S架构,appium核心是一个web服务器
    b) Session, 客户端初始化session于服务端交互
    c) Desired Capabilites, 初始化时的键值对组合
    d) Appium Server, 操作与驱动手机
    e) Appium Client,支持多语言调用
  5. Appium 环境
    a) Android SDK,JDK,Appium
    b) Pycharm, python环境
    c) 库:Selenium, Appium-Python-Client
  6. Appium 支持哪些语言
    a) Java,Javascript,PHP,Python
    b) Ruby,C#,Perl,Object,C
  7. Appium初始化需要配置哪些内容
    a) platformName,目标设备平台Android/IOS
    b) platformVersion,目标设备的平台版本
    c) deviceNmame,目标设备名称
    d) appPackage,App包名(Android)
    e) appActivity,App Activity名称(Android)
    f) automationName,自动化驱动类型Seledroid/Appium
    g) unicodeKeyboard,是否使用Appium输入法
    h) resetKeyboard,是否恢复默认键盘
  8. Appium测试Native App的原理是什么
    a) PythonappiumAndroid uiautomator手机app
  9. Appium 测试Hybrid App的原理是什么
    a) Pythonappiumselendroid手机app
  10. Appium测试IOS app的原理是什么
    a) Test ScriptsJSON wire protocolAppium serverWebDriverAgentwda app
  11. 元素的定位,识别工具
    a) UIAutomatorViewer
    b) Appium的Inspector
    c) WebView部分,Chrome浏览器的调试模式
  12. 定位元素的API
    a) Find_elemet_by_id
    b) Find_element_by_name
    c) Find_element_by_xpath
    d) Find_element_by_class_name
    e) Find_element_by_link_text
    f) Find_element_by_class_name
  13. 脚本的编写规则
    a) LOVE规则
    i. L:Locate 定位
    ii. O:Operate 操作
    iii. V:Verify验证
    iv. E:Exception异常处理
  14. 初始化注意事项
    a) Native
    i. 不需要指定app的包路劲
    ii. 默认使用appium驱动
    iii. 如果需要输入中文,需要加入输入法相关配置
    b) Hybrid
    i. 需要指定驱动名称为:Selendroid
    ii. 需要指定app的路径,因为需要重新签名
  15. Selenium测试WEB环境准备
    a) 工具:pycharm,chrome
    b) 包:selenium,Python
    c) Webdriver:chrome driver/firefox driver/ie driver等
  16. Appium测试WEB页面
    

    a) 其他配置都一样,追加参数:
    b) ‘browserName’: ‘Chrome’

  17. Unittest框架都包含哪些内容
    a) TestFixture
    i. SetUp
    ii. TestCase
    iii. TearDown
    b) TestCase
    c) TestSuite
    d) TestRunner
  18. 什么是数据驱动测试
    a) 黑盒测试,又称功能测试
    b) 数据驱动单元测试为数据源中的每行重复进行一种单元测试
    c) 数据驱动单元测试,常用情况是使用多个输入值测试API
  19. DDT的原理是什么
    a) @data(测试用例)
    b) Python下的数据驱动框架名称也叫DDT
    c) 效果:使用多个数据运行一条用例,使其表现为多条用例
    d) 原理:通过python的装饰器,装饰每条用例
  20. 数据驱动测试的意义
    a) 代码复用率高,一次编写多条数据复用逻辑
    b) 异常排查效率高,测试执行隔离,数据间无影响
    c) 代码的可维护性高,提高了代码的易读性
  21. 什么是行为驱动
    a) 行为驱动开发简写:BDD
    b) BDD是敏捷软件开发的技术
  22. Lettuce的原理是什么
    a) Lettuce是基于Python语言的行为驱动测试框架
    b) Lettuce将测试用例和自动化测试代码分离
    c) Lettuce写测试用例就像写文本一样清晰
  23. 行为驱动的实现
    a) 使用feature定义测试用例,导入Lettuce模块
    b)
  24. 什么是关键字驱动
    a) 关键字驱动测试也成为表格驱动测试或行为驱动测试
    b) 它将创建测试程序的步骤分为规划及实现两个阶段
    c) 关键字驱动使不懂代码的人可以完成自动化过程
  25. Robot Framework的原理
    a) 基于RIDE可视化工具,导入appiumLibrary
    b) 使用appiumLibrary中提供的关键字,实现用例过程
    c) 使用RIDE完成用例的执行与结果的管理
  26. 如何手机测试结果
    a) 使用HTMLTestRunner.py生成HTML测试报告
  27. 如何管理测试报告
    a) 以时间戳作为报告的名称
  28. 如何定义自己的邮件服务
    a) 在所使用的邮箱中打开服务
  29. 如何自动发送测试报告
    a) 使用SendReport.py发送测试报告
  30. 抓取的手机数据包中都包含哪些内容
    a) 状态码,协议类型
    b) Request(Header:User-Agent, Cookies, Referer)
    c) Response(Header, Data)
  31. 如何设置AutoResponder
    a) 抓取请求
    b) 制作数据
    c) 设置规则
  32. 如何使用Fiddler发送Get/post请求
    a) 构造URL (Get&Post)
    b) 构造参数 (Get&Post)
    c) 构造数据 (Post)
  33. 如何使用Fiddler构造慢网速
    a) RulesPerformancesSimulate Modem Speeds
    b) 修改代码,配置需要的速度
  34. 如何使用Fiddler抓取https包
    a) Fiddler https相关设置
    b) 在浏览器中安装证书
  35. 如何使用PostMan发送Get/post请求
    a) 构造URL (Get&Post)
    b) 构造参数 (Get&Post)
    c) 构造数据 (Post)
  36. 如何实现一个API测试框架
    a) 用例层TestCases DDT
    控制层Unittest TestReport Email
    驱动层PythonRequests
  37. 什么是持续集成
    a) 持续集成是指开发阶段,对项目进行持续性自动化编译,测试,以达到控制代码质量的手段
    b) 持续集成是一种软件实践理念
  38. 持续集成都包括哪些内容
    a) 开发人员,版本控制
    b) CI服务器,构建脚本
    c) 反馈机制,集成构建
  39. 持续集成的意义是什么
    a) 减少风险,减少重复过程
    b) 任何时间,任何地点生成可部署的软件
    c) 增强项目的可见性,建立团队对开发产品的信心
  40. 持续集成工具都有哪些
    a) Jenkins,Buildbot
    b) Travis CI,Strider
    c) Go,Integrity
  41. 如何搭建Jenkins持续集成平台
    a) 下载jenkins.wat
    b) 命令行运行:java -jar Jenkins.wat
    c) 在浏览器窗口打开:http://localhost:8080
  42. 使用Jenkins都需要做哪些配置
    a) 系统级配置
    b) 工程级配置
  43. 如何配置一个APP打包的过程
    a) 开发配合
  44. 如何持续执行脚本
    a) 配置shell,python,java根据需求在平台配置脚本1
  45. 如何使用持续基础工具执行Monkey
    a) 平台下载monkey插件,自己配置
  46. 服务端的压力工具都包含哪些
    a) LoadRunner
    b) JMeter
    c) 自主研发的工具
  47. 服务端测试的指标
    a) CPU
    b) 内存(虚存,实存)
    c) QPS(每秒请求),平均响应时间
    d) 吞吐量
    e) 磁盘I/O
  48. 如何开展服务端的压力测试
    a) 搭建服务端模块,并启动服务
    b) 监控进程相关指标,内存,CPU
    c) 监控模块的执行情况,QPS,平均响应时间
    d) 收集数据并分析,生成曲线图
    e) 根据分析结果得到测试结论
  49. app兼容性测试都考虑哪些因素
    a) 系统版本(Android&IOS平台,不同版本)
    b) 分辨率(大屏,小屏,全屏)
    c) 手机品牌(华为,小米)
  50. Wap兼容性测试考虑哪些因素
    a) 不同平台的不同浏览器(safari,chrome等)
    b) 分辨率(大屏,小屏,全屏)
    c) 转发到QQ,微信,微博等第三方平台
  51. PC页面兼容性测试都考虑哪些因素
    a) 操作系统(Windows,mac os, 平板)
    b) 浏览器(IE系列,firefox,chrome等)
    c) 分辨率(笔记本,台式机,窗口缩放等)
  52. 调试app相关的bug常用哪些工具
    a) 网络相关工具,fiddler,wareshark,Charles
    b) Adb,am,logcat等
    c) 云平台,bug复现

python移动化测试开发面试相关推荐

  1. python开发面试题目_Python测试开发面试笔试题

    Python 测试开发面试笔试题 一,中文单项选择题(30 分,每个 3 分) 1.下列哪个语句在 Python 中是非法的? A.x = y = z = 1 B.x = (y = z + 1) C. ...

  2. 一道大厂测试开发面试真题,你需要几分钟解答?

    又到一年年底!年底其实是跳槽换坑的绝佳时机,毕竟可以「年前面试,年后入职」,而且面试越早,好坑位较多,可选择的余地也较大.对于做好准备的测试同学来说,是绝对要鼓励多发简历,多找找面试机会的.哪怕为接下 ...

  3. 测试开发面试技巧_面试技巧将给您带来信心并帮助您获得开发工作

    测试开发面试技巧 by John Cobb 约翰·科布(John Cobb) 面试技巧将给您带来信心并帮助您获得开发工作 (Interview tips that will give you conf ...

  4. 【骐程】【深信服测试开发面试】首次面试互联网

    [骐程][深信服测试开发面试]首次面试互联网 面试中出现的问题.主要就是 一面: 主要对自己的项目中使用的技术不是很熟悉,尤其是对自己项目中的hashmap等这些东西的基础底层原理没有看,也没有掌握, ...

  5. python测试开发自学教程-【光荣之路】Python全栈测试开发课程

    5 个月,收获涨薪5-10K Python 编程.UI自动化.接口自动化.性能测试 报名咨询: 微信 fosterwu 吴老师 hhq8286 卓越老师 一. 为什么要学习测试开发自动化 解决手工测试 ...

  6. python行为驱动测试开发_行为驱动开发在 Python 开发测试中的应用

    行为驱动开发 (BDD) 简介 行为驱动开发是什么? 说到行为驱动开发(BDD),无可避免的要提到敏捷里面的测试驱动开发(TDD),TDD 的主要思想是"代码即文档",其倡导的流程 ...

  7. 美团 测开|测试开发 面试真题|面经 汇总

    美团测开一面 时长:1小时 介绍一下项目 说一下为什么选择测开 项目中用到的ES说一下 你项目实现过程中有没有遇到什么问题? 微信朋友圈的功能性测试,要从那些方面考虑 测试的一般流程 linux用的多 ...

  8. python全栈测试开发工程师_全栈测试工程师

    不久前,一位朋友让帮忙推荐个测试工程师,于是聊到了他们对测试工程师的诉求. 朋友公司是一家做教育软件的公司:Web端.App端产品都有涉及. 最初的诉求就是想找一位有1-2年相关产品测试经验的人即可. ...

  9. 银行 测试|测试开发 面试真题|面经 汇总

    招银测开面经 一面 1.面向对象3大特征 2.java是否能多继承,怎么实现多继承 3.抽象类 4.数据库特性,隔离级别 5.sql语句查找 6.static关键字的使用 7.手撕:寻找字符串出现频率 ...

最新文章

  1. matlab画CDF曲线
  2. SAP SD如何将销售订单其它ITEM加入到一个已创建好的交货单里
  3. Android SQLiteDatabase的使用
  4. optional判断是否为空_乐字节Java8核心特性之Optional
  5. ajax 填充,自动填充ajax请求
  6. mysql查看表的两列_MySQL查询来计算表列中的0和1的数量,并在两列中显示?
  7. 初级图像混合——线性混合操作
  8. workflow java_workflow java实现的activity工作流实例 Develop 238万源代码下载- www.pudn.com...
  9. [react] 你有用过哪些React的UI库?它们的优缺点分别是什么
  10. python逻辑表达式是什么_如何在Python中处理逻辑表达式?
  11. 用户画像-标签体系(dwt层)
  12. Android服务查询完整过程源码分析
  13. 牛客小白月赛4 J 强迫症 思维
  14. h264编解码器知识点
  15. FlyMcu开始连接一直未接收到的解决方案
  16. Android TTS实现简单阅读器(一)
  17. 福昕pdf阅读器,怎么将pdf文件中的某一页,提取出来,即分页保存?
  18. gaussian09使用教程linux,Gaussian-09-GaussView5.0使用教程.ppt
  19. 如此沙雕的代码注释,原来程序员都是段子手
  20. 地理信息系统(GIS)系列——ArcGIS 开发的各种示例

热门文章

  1. win10电脑开机出现“Error code:0xc000014c”的解决
  2. hough变换检测圆周_用点Hough变换实现圆检测的方法
  3. 智能盘点,Yolo用于钢筋检测计数
  4. 锂离子电池储能系统安全标准(1)
  5. 4.起步时最重要的是什么?
  6. 达内html5是什么,Web前端工程师应该知道的HTML5相关知识有哪些
  7. python旅游小项目
  8. [EOS源码分析]6.EOS特殊智能合约eosio
  9. 文科思维 VS 理科思维
  10. php随机生成用户昵称