常见的 Android app 测试面试题

news2025/2/27 8:38:08

一、开场问题:(自由发挥)

  1、请自我介绍一下;

  2、为什么离开上一个公司呢?

  3、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具?

  4、你觉得为什么要在一个团队中开展软件测试工作,测试的价值提现在哪里?

  二、技术方面:

  1、代码能力:

  1.1、请用自己最擅长的编程语言,将一个字符串反转并输出?

  python实现:

  方法1、使用[::-1],

  方法2、使用reverse()方法。

  1.2、针对数十个安卓应用市场渠道包,请问如何进行大体的功能验证,简单叙述一下思路?

  参考答案:可以自动化遍历某个目录下面的所有渠道包apk,然后循环:安装——》登录——》**操作——》退出——卸载

  2、测试思路:

  2.1、给你一个模块,比如注册模块,你会怎么样设计与执行测试?

  参考答案:数据——》从哪里来(入口)——》到哪里去(出口)——》数据库(检验数据的正确性)

  需求分析(输入分析,处理分析,输出分析),数据构造,编写用例

  输入分析:长度,类型,组成规则,是否为空,是否重复

  处理分析:正常处理,异常处理

  输出分析:前台,后台,数据

  2.2、请说一下你以前公司功能测试通过的标准?(自由发挥)

  2.3、你认为app测试过程中,相对于web,要更多注意哪些测试点?或者说app测试和web测试有哪些不同之处?

  参考答案:

  1)“点击加载更多”的分页处理技术,是否有重复的数据,数据显示是否完整,到达最后一页后是否还有数据进行显示;

  2)数据的排序方式;

  3)界面跳转是否正确;

  4)出现异常情况是否有提示,是否跳转到已经设定好的默认页面,如断网情况下,显示网络未连接,数据加载失败,或者如果此页面没有数据显示,显示友好提示信息;

  5)图片处理的地方,是否容易出现程序崩溃现象,主要是图片压缩机制;

  6)前台展示的数据,后台进行变动(增、删、改),是否是实时更新还是app一开始运行再进行加载;

  7)前台主动发出请求,后台数据库中是否存在相应的数据同时包括数据的关联性(商家的会员进行下订单,数据库中生成一条订单的记录的同时,生成一条积分记录,该会员的积分进行相应的变化);

  8)手机app网络环境测试重点:主要是针对2G、3G、4G、wifi三种网络环境进行测试;

  9)手机app兼容性测试:主要是针对android各个系统版本进行测试,及测试屏幕分辨率进行测试;

  3、测试技术

  3.1、说说会用哪些抓包工具?怎么用的?

  参考答案:比如fiddler,主要用来做app抓包使用,先在fiddler客户端做好各项配置,端口设置为8888,然后在手机上设置代理,就可以抓包了,主要看的是服务器返回的值、还能够修改传入参数、传出的参数、模拟网络延时,去构造不同场景。

  3.2、什么是alpha测试和beta测试?

  alpha测试:在公司场地,由员工主导的测试行为;beta测试:在客户场地,由客户主导进行的测试。

  3.3、SQL查询语句

  3.4、linux常用命令有哪些?

  cd命令:切换到某个目录

  ls命令:列出当前目录的所有文件、文件夹

  pwd命令:列出当前目录的路径

  cp命令:复制

  mv命令:剪切

  grep命令:管道

  find命令:查找

  rm命令:删除

  ps命令:查看进程

  kill命令:杀掉某个进程

  cat命令:查看某文件

  tar命令:打包

  chmod命令:赋权限

  chown命令:改变文件的所有者

  vim命令:文本编辑

  3.5、请说明Android手机和IOS手机,系统有什么区别?

  1)两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。

  2)两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。

  3)IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。

  3.6、请简要介绍一下安卓系统四层架构?

  从上到下,依次是:应用程序层——》应用程序框架层——》系统运行库层——》Linux核心层

  3.7、简单介绍一下AndroidSDK中自带的几个工具/命令的功能?

  参考答案:

  ddms:DalvikDebugMonitorService,是Android开发环境中的Dalvik[虚拟机]调试监控服务。

  monkey:Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试

  uiautomator:UIAutomator是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击、滑动、输入文本等操作。

  monitor:同uiautomator

  adb:ADB的全称为AndroidDebugBridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,就是debug工具。

  3.8、常用的adb命令有哪些?请随便写一个monkey脚本,并解释其中参数的含义?

  参考答案:

  (1)adbdevices、adbinstall、adbuninstall、adbshellpm、adbshellam

  (2)adbshellmonkey-pcom.xiaoniu.finance-s123--throttle500--ignore-crashes--ignore-timeouts--ignore-security-exceptions-v-v-v2000>d:\xnonline-monkey-test1.txt

  -p:app包名、

  --throttle:每个操作的间隔时间,单位ms

  --ignore-crashes:忽略崩溃

  --ignore-timeouts:忽略超时

  --ignore-security-exceptions:忽略安全异常

  -v-v-v:日志详细等级,3个v代表最详细等级的日志

  d:\xnonline-monkey-test1.txt:代表将产生的日志,放到本地PC的D盘,并命名为:xnonline-monkey-test1.txt

  3.9、测试过程中遇到app出现crash或者ANR,你会怎么处理?

  参考答案:可以先把日志过滤出来:adblogcat|findstrxxxxx(过滤日志信息),然后再搜索其中的关键字,比如:exception、crash,看看是那些方法或者异常导致了问题的发送,初步定位问题原因后,可以交给开发人员去具体查找深层原因并修复。

  3.10、请说一下以往工作中都曾具体做过哪些工作?其中最擅长哪部分工作(功能,自动化(UI和接口),性能)?这部分你是怎么做的?(自由发挥)

  3.11、请简单介绍一下实用过的安卓UI自动化测试工具?

  参考答案:

  appium:是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。

  robotium:是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。

  3.12、你觉得app的性能测试,即专项测试,需要重点关注那些方面?

  参考答案:内存、cpu占用、耗电量、流量、流畅度等

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1585323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【攻防利器】Dirsearch 扫描工具

Dirsearch工具引言: Dirsearch是一个用Python编写的开源工具,用于在目标网站上执行基于字典的目录/文件枚举。它可以帮助渗透测试人员和安全研究人员识别目标网站上可能存在但未公开的目录或文件,从而发现潜在的安全风险。 Dirsearch下载地址…

day02 VS Code开发单片机

VS Code开发单片机 1.1 安装 MinGW-w64 1)MinGW-w64介绍 VS Code 用于编辑 C 代码,我们还需要 C 编译器来运行 C 代码,所以安装 VS Code之前我们需要先安装 C 编译器。这里我们使用 MinGW-w64(Minimalist GNU for Windows 64-bit)。 MinGW-w64 是一个用于Windows操作系…

关于IP定位功能问题

前言 近期,微信、抖音、微博、公众号等平台,统统上线用户 IP 属地功能,简单的说,就是在互联网发文、发言时,都会带上自己的地址信息。举个栗子,在公众号发文、在公众号留言,都会带上地址。 IP …

域控软件安全隔离关键技术剖析:MCU域 VS SOC域

安全隔离的需求 功能安全开发中,软件阶段由软件V模型左边的软件安全需求SSR开始。SSR是从技术安全需求TSR中提取出软件的功能安全需求,大多数情况下具有不同的ASIL等级。 图1 功能安全软件开发V模型 随后,软件安全需求会被分配到软件架构中的…

我国量子信息科技创新发展面临的挑战及建议——基于中美对比视角的分析

2024年2月,中国科学技术发展战略院慕慧娟博士、丁明磊研究员及光子盒顾成建一起在《科技管理研究》上发表文章——《我国量子信息科技创新发展面临的挑战及建议:基于中美对比视角的分析》。 在此,我们整理并发布这篇文章,欢迎感兴…

10.java openCV4.x 入门-特殊的Mat类汇总(二)

专栏简介 💒个人主页 📰专栏目录 点击上方查看更多内容 📖心灵鸡汤📖我们唯一拥有的就是今天,唯一能把握的也是今天建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫 🧭文…

web APIs总结(1)

1. 根据CSS选择器来获取DOM元素 (重点) 获取一个DOM元素我们使用谁?能直接操作修改吗?querySelector() 可以返回值:CSS选择器匹配的第一个元素,一个 HTMLElement对象。如果没有匹配到,则返null 获取多个DOM元素我们使…

数字安全证书是什么?怎么申请?

数字安全证书,也被称为SSL证书、TLS证书或HTTPS证书,是一种基于公钥基础设施的电子文件,用于验证在线实体(如网站、服务器、电子邮件用户等)的身份,并建立安全的加密连接。具体来说,数字证书包含…

LeetCode——622设计循环队列

. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/design-circular-queue/ 1.题目 设计你的循环队列实现。 循环队列是一…

前端开发攻略---Vue通过自定义指令实现元素平滑上升的动画效果(可以自定义动画时间、动画效果、动画速度等等)。

1、演示 2、介绍 这个指令不是原生自带的,需要手动去书写,但是这辈子只需要编写这一次就好了,后边可以反复利用。 3、关键API IntersectionObserver IntersectionObserver 是一个用于监测元素是否进入或离开视口(viewport&#x…

Python零基础从小白打怪升级中~~~~~~~文件和文件夹的操作 (1)

第七节:文件和文件夹的操作 一、IO流(Stream) 通过“流”的形式允许计算机程序使用相同的方式来访问不同的输入/输出源。stream是从起源(source)到接收的(sink)的有序数据。我们这里把输入/输…

邮件群发提高成功率的技巧?如何群发邮件?

邮件群发有哪些注意事项?怎么有效分析邮件群发效果? 邮件群发已经成为一种高效的信息传递手段。然而,很多人发现,尽管发送了大量的邮件,但回应率却并不理想。那么,如何才能在邮件群发中提高成功率呢&#…

SWM341系列应用(LVGL应用)

SWM341系列之LVGL应用 1、LVGL 缓冲区的应用 现象:客户使用SWM34SRE时 ,客户不使用LVGL的前提下需要手动切换缓冲区,但是切换的时候显示不正常; 分析与解决:需要客户手动切换的时候VBPRELOAD寄…

el-tree基础渲染

el-tree 每个节点左右布局鼠标经过接电视&#xff0c;左边文字变色&#xff0c;右边不变 <el-tree:data"list":props"defaultProps"default-expand-all:expand-on-click-node"false"><template #default"{ data }"><e…

无线网络2.4和5G的区别

无线网络2.4和5的区别 无线网络2.4GHz和5GHz的主要区别在于频率、覆盖范围、传输速度、干扰能力和穿透性。以下是详细介绍&#xff1a;12 频率不同。2.4GHz的频率较低&#xff0c;而5GHz的频率较高。频率越低&#xff0c;信号在传播过程中的损失越小&#xff0c;因此覆盖范围…

【科研】搜索文献的网站

文章目录 paperswithcode【最新论文&#xff0c;代码】huggingface【大语言模型&#xff0c;最新论文】dblp【关键词搜索】arxiv【最新文章】semanticscholar【相关引用查询】connectedpapers【相关引用查询】github【工程&#xff0c;代码&#xff0c;论文开源代码】 paperswi…

[蓝桥杯 2018 国 C] 迷宫与陷阱

题目&#xff1a; 思路&#xff1a; 代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N1e310; char g[N][N];//输入&#xff1a;图的数组 int vis[N][N]; /* 剪枝&#xff1a;记录magic的个数&#xff08;一个点经过两次&#xff0c;magic越大…

高性能计算与深度学习结合;提升云人工智能基础设施可靠性;基于心理测量学的通用型人工智能评估;模仿人脑思维模式的视觉语言规划框架

编者按&#xff1a;欢迎阅读“科研上新”栏目&#xff01;“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里&#xff0c;你可以快速浏览研究院的亮点资讯&#xff0c;保持对前沿领域的敏锐嗅觉&#xff0c;同时也能找到先进实用的开源工具。 本期内容速览 …

福克斯有什么明显的优缺点吗?

福克斯有什么明显的优缺点吗&#xff1f; - 知乎 https://www.zhihu.com/question/22125956/answer/554288301 作者&#xff1a;赵小瑚 链接&#xff1a;https://www.zhihu.com/question/22125956/answer/554288301 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作…

【Unity】组件组合使用心得(单行可自动拓展Scroll View)

在这之前&#xff0c;一直是在使用Scroll View进行滑动内容设置&#xff0c;但设置的都是不明不白的&#xff0c;而且有的时候设置好了之后也不知道是为什么&#xff0c;总感觉哪里不对劲&#xff0c;而且好也不知道为什么好&#xff0c;可能是长时间在做管理上的内容&#xff…