APP测试面试题总结
面试中怎么分析面试官对你的提问
面试官问你什么内容的时候,其根本是为了了解你对这个东西的理解程度
1、讲自己的了解(知识)
2、讲自己的理解你在面试官心目中,会是一个具有独立思考能力的人
问题1:你做过IOS测试吗?android和ios测试有哪些区别?
操作系统上的不同:
ios基于Unix的系统
Android基于Linux的系统各个方向:
操作
Android长按Home键呼出应用列表和切换应用,然后滑动终止应用
ios是向上滑动,终止应用渲染
Android是在数据层渲染应用
ios是在UI层渲染应用安装
Android是apk Android的权限给的是底层的root权限
ios app ios 给的仅仅是应用权限兼容
... 其实就是在讲渲染
问题2:Android的重要组件有几个?分别是干嘛的?
4个重要组件:
1、Activity 监听用户屏幕操作,调用app底层操作的 一个枢纽--》用户和APP互动的枢纽
2、BroadcastReceiver 广播接收者 它是负责底层操作对Activity指令接受的普通广播:广播类型、有序广播、无序广播
广播接收者会在Activity关掉之后,对应的广播失效广播接受者运行的机制是被运行,不会主动调起
3、 service 服务
服务类型
通过startService启动的服务
服务周期: onstart--》onstartCommand---》onDestroy
通过onBind启动的服务
服务周期: onBind-》onUnBind---》onDestroyservice管理进程构建 举例: 音乐应用 后台播放 ,游戏应用 后台暂停
4、Content Provider(内容提供者)实现不同应用程序直接的数据共享
它不仅仅可以对应用程序实现数据共享,还可以选择性的共享;(安全性的考虑)
举例:当你登录的时候选择微信登录,会调用微信获取微信的用户数据
问题3:app测试和传统软件测试有什么不同?
1、页面布局
APP是负载在移动设备上(屏幕小)
pc屏幕大
所以测试的侧重点也不同2、操作方式
app
触控
语音
键位pc
鼠标
键盘
3、输入方式
app
屏幕的触控压力输入
语音识别输入
键位操作输入pc
鼠标输入
键盘输入
4、使用场景
pc 电源稳定 电量 、场景固定 网络
app 电源不稳定 充电使用 、场景不固定 网络干扰较多
问题4:app闪退,如何给开发提供对应的日志
APP闪退会销毁原有进程;
所以APP闪退导致的问题,很多时候,在APP构建的源码中添加日志,无法确定异常所在;
首先要看设备日志;
获取Android崩溃日志
1、 logcat导出
搜索:begin crash Exception fatal 注意:要过滤包名
2、adb bugreport3、手机的本地文件 问开发路径在哪 然后导出
4、手机监控平台 记录手机的cpu 、io、memoryinfo
问题5:app出现ANR,你会先从哪个角度去分析?
ANR 全称:application not responding
分析思路:使用排除法去分析问题,对用的内容需要开发提供对应的日志监控,重现这个过程,去获取这个日志
1、触发机制
服务超时 20s
广播超时 10s内容提供者超时 5-10s
输入事件的超时 5s
2、日志
a.Trace日志: 广播超时阻塞
b. logcat :搜索关键字:anr in 、low_memory、slow_operation
c.分析kernel:搜索日志中的lowmemorykillerd.cpuinfo:监控,复查,确定问题的存在 内存、IO、cpu %
e.meminfo: 内存消耗偏高导致的问题
问题6:app出现crach/崩溃,你会先从哪个角度去分析?
1、内存消耗
APP调用的所需内存超过了可用内存;
内存是有管理进程的---》每个APP在调用之前,是由内存管理者分配内存大小的---》内存分配的限制小于APP所需2、程序的逻辑错误(代码的不严谨,或者考虑的不够周到导致的)
逻辑处理错误:数组越界、堆栈溢出、并发操作、逻辑错误
3、设备兼容性
APP在不同的设备上有不同的体现
4、网络因素
网速不好,导致APP所需的响应时间不足;所以导致crash
网络切换可能会导致
crash是可以被修复的,出现关闭或等待两个操作,进程还在
但是闪退不能被修复,进程被销毁了。
面试中常见的一些工具的使用
jmeter
jmeter怎么运行测试用例
运行方式:
GUI运行:点击启动按钮
非GUI运行/命令行运行: jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
单线程提起多线程运行
鉴权怎么处理/测试?
鉴权:
cookie 配置元件 ---》 HTTP Cookie管理器
session 配置元件 ---》 HTTP Cookie管理器
session生效方式是在cookie中 添加一个session_id字段
token 从上个接口的响应提取出来,传递给下个接口
签名(加密)
加密规则
1、拼接(时间戳,随机数,令牌,请求数据)后加密 所以我们根据加密规则伪造加密数据即可
2、排序后拼接后再加密 所以我们根据加密规则伪造加密数据即可
跨线程数据怎么处理
跨线程的数据传递 原理是:将私域变量声明为全局变量,从而可以全局引用
函数助手对话框 ${__setPropeyty(,,)} 声明 , ${__P(,)} 调用
注意实现,声明和调用有先后关系;一定要声明在前,调用在后
jmeter中怎么使用函数和变量${函数名}
${__V(函数拼接名${函数名}}
jmeter录制脚本的流程,和录制的原理是什么?
流程
启动http代理 注意事项,在启动前要设置好目标控制器
设置计算机网路代理运行被测项目
停止http代理
恢复计算机网路代理
原理:
网络代理的原理
理解:理解:好像BOSS和员工A之间传话的秘书(秘书能知道BOSS对员工A说了什么
,也知道员工A对BOSS 说了什么)jmeter测试报告的生成
1、界面生成 查看结果树 聚合报告
2、命令行生成 jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
3、antJMETER 持续集成 jenkins CI / CD
fiddler
有一个已经上线的APP项目,你怎么测试?
就是网络代理拦截数据,修改数据,然后传递服务器的过程
如果要测一个APP的不同的网络情况下的使用,你怎么测试?
fiddler的弱网测试 网络代理 + 设置不同的网络传输字节情况
弱网测试执行步骤:
操作步骤1.设置要模拟的网络速度
(1)选中需要设置弱网的接口,自定义规则。Rules ->Customize Rules
( 2) ctrl+F 输入m_SimulateModem或者300,找到m_SimulateModem
(3)更改上行、下行网络速度,Ctrl+S 保存注:
request-trickle-delay:代表每KB的数据被上传时会被延时多少毫秒
response-trickle-delay:对应下载时每KB的数据会被延时多少毫秒2.开启网络延时
( 1 ) Rules->Performance->Simulate Modem Speeds
(2)测试项目并记录数据3.测试项目
注:测试完成后需恢复设置
postman高级部分
数据驱动 参数化
接口关联
断言
token sesssion cookie
持续集成 jenkins CI / CD
总结:
涉及的内容很多
定义层面的内容 如:操作系统
系统的详情
整体的了解
象征性意义的异常情况
比如:api
1、协议是什么?接口是什么?什么是接口自动化
2、对每个协议的理解
3、api测试和传统的测试有什么不同?
4、鉴权、接口加解密、接口关联、签名
APP测试面试题总结相关推荐
- 接口测试自动化测试app测试面试题
接口测试自动化测试app测试面试题_笔经面经_牛客网 接口自动化面试题 接口自动化面试题 · Python / Linux / Mysql / 软件测试等等 · 看云 1.json 和字典的区别? j ...
- 测试者出的APP测试面试题
测试者出的APP测试面试题 作者:kaige201314 最近公司可能要招聘测试了,老大让我出几个面试题,网上搜到了一些,还有自己想了几个,如下: 一.开场问题:(自由发挥) 1.请自我介绍一下: 2 ...
- 【面试-八股文】万字app测试 面试题,助你吊打面试官系列
大家好,我是温大大. 最近温大大的读者们问我有没有app相关的面试题, 作为「平易近人」的大大怎么能忍心说没有呢, 这不继续爆肝 输出app测试工程师专项面试题, 本篇从:app测试基础.app 测试 ...
- 带答案APP测试面试题分享,助攻你的面试!面试官都惊呆了..
基础篇 1.请介绍一下,APP测试流程? APP测试流程与web测试流程类似,分为如下七个阶段: 1.根据需求说明书编写测试计划: 2.制定测试方案,主要是测试任务.测试人员和测试时间的分配: 3.测 ...
- 正厚软件 | App测试面试题及参考答案
正厚软件-陈老师的干货分享 最近整理了一些关于App测试的面试题. 本参照答案是本人在工作实践中总结,仅代表个人观点,如有错误,请谅解. 问:说一些你在测试过程中常用到的adb命名 答:回答本问题时, ...
- security面试_17道APP测试面试题分享带参考答案
1.Android四大组件 Android四大基本组件:Activity.BroadcastReceiver广播接收器.ContentProvider内容提供者.Service服务. Activity ...
- APP测试面试题汇总,面试必考一定要看
目录 一.基础篇 1.请介绍一下,APP测试流程? 2.APP测试需要提前准备哪些测试资源? 3.APP测试和Web测试的区别? 4..相对于 Wed 项目,APP有专项测试 4.Android手机和 ...
- APP测试面试题汇总基础+进阶
目录 一.基础篇 1.请介绍一下,APP测试流程? 2.APP测试需要提前准备哪些测试资源? 3.APP测试和Web测试的区别? 1.系统结构方面 2.性能方面 3.兼容性方面 4.相对于 Wed 项 ...
- APP测试面试题汇总
一.基础篇 1.请介绍一下,APP测试流程? APP测试流程与web测试流程类似,分为如下七个阶段: 1.根据需求说明书编写测试计划: 2.制定测试方案,主要是测试任务.测试人员和测试时间的分配: 3 ...
- 互联网寒潮,特送来 “App测试面试题“ 暖汤一份
专人专事,各自其责才能把控质量:如果做不到质量内建就踏踏实实专人专事. 正文开始 相关系列优选文章: 干了这么久的APP测试,能回答上APP测试面试问题吗? 一 web测试和app测试的相同点和区别? ...
最新文章
- ANSI和UNICODE字符串处理函数
- Make Them Equal
- Linux内核地址空间为什么1GB,为什么Windows为其系统地址空间预留1Gb(或2 Gb)?
- 『设计模式』撩妹秘籍竟是使用设计模式的抽象工厂模式
- 地图投影系列介绍(四)----投影坐标系
- 雷军99亿人民币薪酬创世界纪录,相当于100个库克
- 【Tensorflow】深度学习实战01——Tensorflow实现简单的卷积网络(MNIST)
- 2017.3.29 越狱 思考记录
- python中bd是什么属性_python数据类型及其特有方法
- 任务方案思考:序列标注(NER)篇
- JavaScriptjQuery.HTML5事件
- 类图中表达总体与局部的关系_软件工程测试题3
- 基于asp.net338医院体检信息管理系统
- ES6对比ES3\ES5
- Linux三剑客(grep、sed、awk)
- Linux基础知识小结(一)
- 在Chrome中使用非应用商店安装的扩展程序
- 五金模具设计常见的二十一块模板作用,一起学起来
- 2023届暑期实习华为面试手撕题
- 软件工程与计算机科学的联系与区别