当前位置: 首页 > news >正文

APP测试工程师岗位面试题

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

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

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

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(运行异常)情况?

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

七、说说常用的adb 命令

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

八、说说常用的Linux命令?

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

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

你们来答~

 

相关文章:

APP测试工程师岗位面试题

一、你们公司研发团队采用敏捷开发模式的原因? 由于版本节奏比较快,开发与测试几乎并行,一个版本周期内会有两版在推动,也就是波次发布,波次发布用于尝试新加入的功能,做小范围快速的开发,验证…...

如何进行 AWS 云监控

什么是 AWS? Amazon Web Services(AWS)是 Amazon 提供的一个全面、广泛使用的云计算平台。它提供广泛的云服务,包括计算能力、存储选项、网络功能、数据库、分析、机器学习、人工智能、物联网和安全。 使用 AWS 有哪些好处&…...

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设…...

提升效率!ArcGIS中创建脚本工具

在我们日常使用的ArcGIS中已经自带了很多功能强大的工具,但有时候遇到个人的特殊情况还是无法满足,这时就可以试着创建自定义脚本工具。 一、编写代码 此处的代码就是一个很简单的给图层更改别名的代码。 1. import arcpy 2. input_fc arcpy.GetParam…...

无人机之报警器的作用

一、紧急救援与辅助搜救 紧急救援:在事故或紧急情况下,无人机报警器可以迅速发出警报,指引救援人员前往事故地点,提高救援效率。 辅助搜救:无人机搭载报警器可以辅助寻找失踪人员或其他需要搜救的场景,通…...

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。…...

python文件自动化(4)

接上节课内容,在开始正式移动文件到目标文件夹之前,我们需要再思考一个问题。在代码运行之前,阿文的下载文件夹里已经存在一些分类文件夹了,比如图例中“PDF文件”这个文件夹就是已经存在的。这样的话,在程序运行时&am…...

HTTP 方法

HTTP 方法 1. 引言 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的协议之一。它定义了客户端和服务器之间交换信息的格式和规则。在HTTP通信中,客户端(通常是浏览器)向服务器…...

通过redis-operator 来部署 Redis Cluster 集群

安装 Redis Operator 首先,需要安装 redis-operator。可以通过 Helm 或直接应用 YAML 文件来安装。 使用 Helm 安装: helm repo add ot-helm https://ot-container-kit.github.io/helm-charts/ helm install redis-operator ot-helm/redis-operator --…...

vue3集成sql语句编辑器

使用的是codemirror 安装 pnpm add codemirror vue-codemirror --savepnpm add codemirror/lang-sqlpnpm add codemirror/theme-one-dark使用 <template><codemirror v-model"configSql" placeholder"Code goes here..." ref"codemirrorR…...

Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著

Optuna这个备受欢迎的超参数优化框架在近期发布了其第四个主要版本。自2018年首次亮相以来&#xff0c;Optuna不断发展&#xff0c;现已成为机器学习领域的重要工具。其用户社区持续壮大&#xff0c;目前已达到以下里程碑&#xff1a; 10,000 GitHub星标每月300万 下载量16,00…...

https和harbor仓库跟k8s

目录 https 做证书 harbor仓库 https https是加密的http&#xff0c;它的端口是443&#xff0c;它的协议是tcp协议。建立连接和普通的tcp是一样的&#xff0c;都是三次握手和四次挥手&#xff0c;但是它三次握手之后有一个步骤&#xff1a;SSL或者TLS握手的过程&#xff0c…...

云计算之网络

目录 一、VPC&#xff1a;云网络的基石 1.1 VPC产品介绍 1.2 vswitch交换机 1.3 vrouter路由器 1.4 产品架构 1.5 常见问题解答及处理 1.5.1 VPC内如何查询某个IP归属? 1.5.2 网络ACL阻断导致ECS访问CLB不通 1.5.3 EIP秒级突发/分布式限速丢包 1.5.4 NAT网关的流量监…...

MySQL Workbench 的入门指南

前言 MySQL Workbench 是一个官方的图形化工具&#xff0c;用于开发、管理和设计 MySQL 数据库服务器。它提供了丰富的功能&#xff0c;可以帮助数据库管理员、开发者以及DBA们高效地工作。下面是一个MySQL Workbench的入门指南&#xff0c;介绍如何安装和使用它。 安装 MyS…...

【SpringBoot】使用Nacos服务注册发现与配置管理

前提&#xff1a;需要提前部署好nacos服务&#xff0c;这里可以参考我的文章&#xff1a;Windows下Nacos安装与配置 0. 版本信息 Spring Boot3.2.8Spring Cloud2023.0.1Spring Cloud alibaba2023.0.1.0nacos2.3.2本地安装的nacos2.3.0 Spring Boot、Spring Cloud、Spring Clo…...

Leetcode面试经典150题-210.课程表II

这个题是图的问题&#xff0c;因为图的拓扑排序在实际应用中有非常多的用途图&#xff0c;所以最近考的越来越多 解法都在代码里&#xff0c;不懂就留言或者私信 看这个题之前一定要好好看看207题我写的题解&#xff0c;也许207看懂了的话&#xff0c;210只是一个coding问题了…...

视频汇聚平台LntonAIServer视频质量诊断功能--偏色检测与噪声检测

随着视频监控技术的不断进步&#xff0c;视频质量成为了决定监控系统性能的关键因素之一。LntonAIServer新增的视频质量诊断功能&#xff0c;特别是偏色检测和噪声检测&#xff0c;进一步强化了视频监控系统的可靠性和实用性。下面我们将详细介绍这两项功能的技术细节、应用场景…...

Vue 使用接口返回的背景图片和拼图图片进行滑动拼图验证

一、背景 前两天发了一篇 vue-monoplasty-slide-verify 滑动验证码插件使用及踩坑_vue-monoplasty-slide-verify 引用后不显示-CSDN博客 这两天项目又需要通过接口校验&#xff0c;接口返回了背景图片和拼图图片&#xff0c;于是在网上找了一篇帖子&#xff0c;vue 图片滑动…...

1-7 掩膜的运用 opencv树莓派4B 入门系列笔记

目录 一、提前准备 二、代码详解 num_pixels np.sum(mask 255) contours, _ cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) c max(contours, keycv2.contourArea) x, y, w, h cv2.boundingRect(c) M cv2.moments(contours[0]) if contours…...

EG边缘计算网关连接华为云物联网平台(MQTT协议)

需求概述 实现一个流程&#xff1a;EG8200mini采集Modbus RTU数据&#xff0c;通过MQTT协议连接华为云物联网平台 Modbus RTU采集此处不做过多赘述&#xff0c;可参考其他案例&#xff08;串口读取Modbus传感器数据&#xff09;介绍。下文默认已经采集到Modbus RTU数据。 要…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...