前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >APP测试工程师岗位面试题

APP测试工程师岗位面试题

作者头像
测试小兵
发布2022-11-18 15:26:20
4860
发布2022-11-18 15:26:20
举报
文章被收录于专栏:猪圈子猪圈子

一、你们公司研发团队采用敏捷开发模式的原因?

由于版本节奏比较快,开发与测试几乎并行,一个版本周期内会有两版在推动,也就是波次发布,波次发布用于尝试新加入的功能,做小范围快速的开发,验证和发布,为下个大版本的功能做实验和调研。快速发版的需求要求测试快速响应,敏捷测试模式适应项目需求。

二、你觉得采用敏捷开发模式有哪些优势和劣势,简单谈谈你的理解?

1.优点

  • a.工作任务划分清晰,工作效率高
  • b.与开发和产品沟通紧密,团队协作性强
  • c.测试介入到整个项目的所有会议中,对整体版本信息情况把控全面

2.缺点

  • a.模块提交较快,测试时有压迫感
  • b.项目规划要合理,不然测试时会出现复测的现象,加大工作量

三、简要说说你们公司的测试流程?

1.需求评审

  • a.发布与测试报告总结
  • b.从经验角度,分析设计是否存在风险
  • c.联合其他模块分析,设计是否存在漏洞

2.测试计划制定

  • a.测试用例设计
  • b.测试用例评审和测试时间评估
  • c.测试资源申请

3.测试计划执行

  • a.用例执行
  • b.Bug修复验证和推动版本进度
  • c.压力测试、性能监控、兼容测试

4.发布与测试报告总结

  • a.版本发布和线上质量监控,用户反馈实时响应
  • b.测试用例更新整合,测试计划评估
  • c.提供版本最终测试报告,包括用例覆盖率,bug数据分析等

四、针对以上几点详细的说下每个阶段你们测试都在做什么?

需求:全程跟进需求变更,与产品无缝沟通,在测试阶段有需求变更要第一时间了解改动范围,如果影响版本的质量要说明风险,评估需求是否必须更改以及是否影响发布上线的时间线

计划制定:规划测试项目需要的功能开发和自动化开发人员比例,规划整个测试流程需要的时间,要预留处理紧急事件的buffer。

计划制定:规划测试项目需要的功能开发和自动化开发人员比例,规划整个测试流程需要的时间,要预留处理紧急事件的buffer。

测试阶段:总体走向,接口测试>>功能测试(第一轮回归)>>性能测试和压力测试>>Bug修复验证(第二轮回归)>>灰度放量>>验收测试

  • 接口测试:接口上传参数的正确性,和服务器返回值的正确性,容错性验
  • 功能测试:主要是黑盒测试,验收证需求的可能性,对新需求的兼容性测试也会设计,包含了top的厂商,机型,ROM,分辨率兼容
  • 性能测试:主要是对应用的功耗测试,内存占用,CPU占用,耗电量,响应时间进行测试,每个大版本统计一次数据
  • 压力测试:使用Monkey进行随机性事件的压力测试,每日任务,机型分布按照厂商,Rom,分辨率覆盖
  • 小结:测试工作占有率:压力测试:10%;接口测试:10%;性能测试:20;功能测试:65%
  • 灰度放量:分局后台打点数据,收集活跃用户的版本分布,以百万级为衡量标准,对小范围用户进行新版本的放量操作,根据用户使用体验收集数据,知道版本bug修复和用户体验的提升
  • 灰度放量:分局后台打点数据,收集活跃用户的版本分布,以百万级为衡量标准,对小范围用户进行新版本的放量操作,根据用户使用体验收集数据,知道版本bug修复和用户体验的提升

五、朋友圈发送功能进行设计测试用例?

主要从功能,界面/易用性,中断,断网,兼容性,安全性,性能测试几个方面聊聊

1.功能

  • 只发送文本
    • 考虑文本长度1-1500个字符(该数据为百度数据),超出最大字符长度
    • 考虑文本类型:纯中文,纯数字,纯字母,纯表情(微信表情/手机自带表情),混合类型,包含URL链接因为过长纯类型需要管行很容易出现边框问题,所以这里先考虑过长纯类型情况。
    • 文本是否支持复制粘贴
    • 为空验证
    • 用空格验证(前中后分别进行验证)
  • 只发送图片
    • 本地相册选择/拍照
    • 图片数量验证:1-9张图片,超出9张
    • 图片格式验证:常见图片格式jpg, png(以实际微信需求支持的格式为准),动态gif图片,不支持的图片格式
    • 图片尺寸验证:最大700*800像素,超出最大尺寸范围是否压缩
    • 图片大小验证:1-300Kb,超出大小
    • 图片的预览验证:点击支持预览大图,多张图片支持左右滑动预览
    • 图片的增删改操作
    • 为空验证
  • 只发送视频
    • 本地相册选择/拍照
    • 视频秒数验证:1-10S,超出10S
    • 视频个数验证:1个,超过1个
    • 视频格式验证:支持的视频格式,例 mp4,不支持的视频格式
    • 视频大小验证:苹果400kb以内,Android200-300kb,超出规定大小
    • 视频预览增删改操作
    • 视频为空
  • 发送文件+图片
    • 输入满足要求的文本,图片进行一次验证
  • 发送文本+视频
    • 输入满足要求的文本,视频进行一次验证
  • 发送图片+视频
    • 不支持发送
  • 朋友圈发送内容是否有限制
    • 例如一些敏感字
  • 所在位置
    • 不显示位置:发送到朋友圈动态不显示位置
    • 选择对应位置:搜索支持,自动定位,手动编辑
    • 点击取消,返回上一级页面
  • 谁可以看
    • 设置公开:所有朋友可见
    • 设置私密(仅自己可见):自己查看朋友圈-可见,好友查看朋友圈-不可见
    • 设置布恩可见(选中的朋友不可见):不被选中的朋友-可见,被选中的朋友-不可见,是否有人数上限
    • 点击取消,返回发送页面
  • 提醒谁看
    • 提醒单人/提醒多人:被提醒的朋友-收到消息提醒,违背提醒-唯有消息提醒
    • 是否有人数上限
    • 点击取消,返回发送页面
  • 取消发送朋友圈操作
    • 选择相机,点击取消,返回朋友圈页面
    • 进入朋友圈发送页面,选择文本图片,点击取消
  • 朋友圈当天发送次数是否有限制

2.朋友圈浏览功能

  • 文本查看
    • 过长文本内容是否隐藏,并支持查看全文
    • 右键选择复制,收藏,翻译
    • url链接是否支持点击跳转页面
  • 图片查看
    • 小图片右键支持收藏/编辑
    • 点击支持大图浏览
    • 选择发送给朋友、收藏、保存图片,编辑
    • 多正图片支持左右滑动浏览
  • 视频查看
    • 右键视频支持静音播放/收藏
    • 点击视频播放案件支持播放视频
    • 选择发送给朋友,收藏,保存视频,编辑
  • 分享动态浏览
    • 公众文章/非腾讯产品分享后朋友圈是否正常显示
    • 点赞,取消点赞
  • 评论
    • 评论长度:评论字数合理长度,评论超过字数上限
    • 评论类型:纯中文,纯数字,纯字母,春字符,纯表情(微信表情/手机自带表情),混合类型,博阿含url链接
    • 评论是否支持复制粘贴
    • 为空验证
    • 发表评论后删除
    • 评论回复操作
  • 删除朋友圈动态
  • 更换相册封面
  • 刷新是否正常获取新动态
  • 上滑是否加载更多

3.界面/易用性测试

  • 1.技术人员角度:页面布局设计是否根产品原型图/ui效果一致
  • 2.单除了考虑1之外,我们同样要考虑到用户使用:功能操作是否简便,页面布局排版风格是否美观合理,提示语相关信息是否易于理解

4.中断测试

  • 1.主要考虑核心功能;当钱功能存在实时数据交换,例发朋友圈,浏览朋友圈进行中断,是否容易出现崩溃
  • 2.中断包括:前后台切换,锁屏解锁,断网重连,app切换,来电话/来短信中断,拔插耳机线/数据线

5.网络测试

  • 1.三大运营商不同分别进行测试
  • 2.网络切换测试:Wi-Fi/4G/3G/2G
  • 3.无网络测试:对于缓存在本地的数据,部分朋友圈信息是否支持浏览
  • 4.弱网测试
    • 延迟:页面响应时间是否可以接受,不同网络制式持否区分超时时长,出现请求超时,是否给予相应的提示
    • 丢包:有无超时重连机制,如果未相应,是否给予相应提示
    • 页面呈现的完整性验证

6.兼容性测试

  • 1.Android手机端,苹果手机端,pad版(主流)功能界面显示是否正常
  • 2.多个平台朋友圈展示数据是否一致

7.安全性测试

  • 发送朋友圈时,文本输入脚本代码,是否出现异常

8.性能测试

  • 服务器型测试:可通过loadrunner/jmetergongj实现,主要关注TPS,响应时间,吞吐量,CUP,内存等
  • app客户点性能测试:可通过GT工具实现,运行时关注cup,内存,流量,电量等占用率

9.APP压力测试稳定性测试

  • 通过monkey工具实现,频繁发送朋友圈,浏览朋友圈请求,是否容易发生崩溃

六、说说Android常见的几种Runtime Exception(运行异常)情况?

  1. Null Pointer Exception - 空指针引用异常
  2. Class Cast Exception - 类型强制转换异常
  3. Illegal Argument Exception - 传递非法参数异常
  4. Arithmetic Exception - 算术运算异常
  5. Arithmetic Exception - 算术运算异常
  6. Index out of Bounds Exception - 下标越界异常
  7. Negative Array Size Exception - 创建一个大小为负数的数组错误异常
  8. Number Format Exception - 数字格式异常
  9. Security Exception - 安全异常
  10. Unsupported Operation Exception - 不支持的操作异常
  11. File Not Found Exception - 文件未找到异常

七、说说常用的adb 命令

  1. adb version: 查看手机是否链接,版本号
  2. adb install: 安装,绝对路径
  3. adb uninstall:卸载
  4. adb version:查看手机是否链接,版本号
  5. adb kill-server:结束服务
  6. adb star-server:开启服务
  7. adb push:从电脑复制到手机
  8. adb pull:从手机复制到电脑
  9. adb shell top –m 2 –n 1:查看进程(-m 2 显示进程2行的内容,-n1 显示一次)
  10. adb shell logcat | grep 文件名 :过滤日志
  11. adb logcat | find 软件名称 电脑磁盘的路径:导出日志
  12. adb shell top | grep 文件名:实时监控
  13. cpu内存查看方法
  • top –m 5 –n 1 | grep 软件包名 (-n 刷新几次;-d 刷新间隔;-m 显示最大数据量;-t显示进程名称;-s按指定行排序)

八、说说常用的Linux命令?

  1. 查看进程:ps –ef | grep (grep +文件名 过滤文件)
  2. 查看实时更细日志:tail –f
  3. 显示文件头部:head 文件名(之显示10行)
  4. 创建文件:touch 文件名
  5. 修改文件:vi +文件名
  6. 查看当前目录下有哪些文件ls /ls –al
  7. 复制 :cp 源文件 目标路径
  8. 压缩文件:tar zcvf
  9. 解压文件:tar zxvf
  10. 查看用户权限:groups 用户名
  11. 查看文件权限:ll | grep 用户
  12. 查看网卡信息:vi /etc/sysconfig/network-scripts/ifconfig-ens33

九、你日常使用的抓包工具,如何篡改请求?

  • 你们来答~

以上为该面试人员过程的面试问题及答案记录,非正确标准答案,欢迎测试大佬们各抒己见,给出自己的答案,留言区等你们!想看下一篇请点赞、留言、再看!支持小编一下!


- End -

文 | 整理Python测试社区,转发请备注来源!

Python测试社区博主介绍:7年测试人,某大厂高级系统测试工程师,坐拥1.5W粉丝守护,感谢大家一直以来的支持,个人IP信条:分享真实生活,做个有温度的测试

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、你们公司研发团队采用敏捷开发模式的原因?
  • 二、你觉得采用敏捷开发模式有哪些优势和劣势,简单谈谈你的理解?
  • 三、简要说说你们公司的测试流程?
  • 四、针对以上几点详细的说下每个阶段你们测试都在做什么?
  • 五、朋友圈发送功能进行设计测试用例?
  • 六、说说Android常见的几种Runtime Exception(运行异常)情况?
  • 七、说说常用的adb 命令
  • 八、说说常用的Linux命令?
  • 九、你日常使用的抓包工具,如何篡改请求?
  • 文 | 整理Python测试社区,转发请备注来源!
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档