金九银十招聘季, APP测试面试题助你拿高薪Offer

2390 篇文章 33 订阅
1785 篇文章 17 订阅

Hi,大家好,马上进入金九银十,很多小伙伴有被动跳槽的打算,所以更新一些相关的APP面试题,希望能帮到大家。

一 请介绍一下,APP测试流程?

APP测试流程与web测试流程类似,分为如下七个阶段:

根据需求说明书编写测试计划;

制定测试方案,主要是测试任务、测试人员和测试时间的分配;

测试准备,包括搭建测试环境,准备测试数据,确定测试方法;

测试用例的设计与编写,进行用例评审及补充完善;

执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;

提交测试结果,包括测试用例,测试计划;

7.日常维护性测试;

思维导图如下:

图片

二 APP原生开发、H5开发和混合开发的区别?

1 原生开发

原生开发(Native App开发), 利用官方提供的开发语言、开发类库、开发工具进行App开发。比如Android是利用Java;IOS是利用Objective-C进行开发。

原生开发优点:

运行速度快、性能高,绝佳的用户体验;

支持大量图形和动画,不卡顿,反应快;

兼容性高,每个代码都经过程序员精心设计,一般不会出现闪退的情况,还能防止病毒和漏洞的出现;

比较快捷地使用设备端提供的接口,处理速度上有优势。

原生开发缺点:

开发时间长;

制作费用高昂,成本较高;

可移植性比较差,一款原生的App,Android和IOS都要各自开发,同样的逻辑、界面要写两套;

必须等下载完毕用户才可以打开,获得新版本时需重新下载应用更新。

2 H5开发

HTML5应用开发,是利用Web技术进行的App开发,可以在手机端浏览器里面打开的网站就称之为webapp。Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML、CSS、Javascript以及jQuery、Vue、React等JS框架。

H5开发优点:

支持设备范围广,可以跨平台,编写的代码可以同时在Android、IOS、Windows上运行;
开发成本低、周期短;

适合展示有大段文字(如新闻、攻略等),且格式比较丰富(如加粗,字体多样)的页面;
用户可以直接使用最新版本(自动更新,不需用户手动更新)。

H5开发缺点:

由于Web技术本身的限制,H5移动应用不能直接访问设备硬件和离线存储,所以在体验和性能上有很大的局限性;

对联网要求高,离线不能做任何操作;

APP反应速度慢,页面切换流畅性较差;

图片和动画支持性不高;

用户体验感较差。

3 混合开发

混合开发(Hybrid App开发),是指在开发一款App产品的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用。通俗点来说,这就是网页的模式,通常由“HTML5云网站+APP应用客户端”两部份构成。

混合开发优点:

开发效率高,节约时间。同一套代码Android和IOS基本上都可使用;

更新和部署比较方便,每次升级版本只需要在服务器端升级即可,不再需要上传到App Store进行审核;

代码维护方便、版本更新快,节省产品成本;

比web版实现功能多;

可离线运行。

混合开发缺点:

功能/界面无法自定:所有内容都是固定的,不能换界面或增加功能;
加载缓慢/网络要求高:混合APP数据需要全部从服务器调取,每个页面都需要重新下载,因此打开速度慢,网络占用高,缓冲时间长,容易让用户反感;
安全性比较低:代码都是以前的老代码,不能很好地兼容最新手机系统,且安全性较低,网络发展这么快,病毒这么多,如果不实时更新,定期检查,容易产生漏洞,造成直接经济损失。

三 app上线之后很卡,要从哪些方面考虑原因呢?

如果是当前升级的这个功能很卡的话,可能的原因:

可能是当前功能的资源太多了,所以加载起来比较慢,从而很卡;

可能是请求用户太大了,所以导致卡。

如果是整个app操作都很卡的话,大概有如下的几个原因:

可能是网络问题,要检查一下你的网络;

可能是app的占用内存太大了,导致的内存不足;

可能是与手机的其他软件,或者是手机系统有不兼容的问题;

可能是服务器的资源不足了。

四 说下你了解的APP测试工具

1 APP自动化测试工具

(1) appium

Appium 是一个开源的、跨平台的自动化测试工具。支持自动化 iOS,Android 和 Windows 桌面平台上的原生、移动 Web 和混合应用。开发者可以使用 WebDriver 兼容的任何语言编写测试脚本,如 Java,OC,JS,PHP,Python,Ruby,C#,Clojure 和 Perl 语言。是做 UI 自动化测试必须要掌握的工具之一。

官网传送门: http://appium.io/

(2) Airtest

Airtest 是网易游戏推出的一个 UI 自动化测试工具,适用于游戏和应用,支持的平台为 Windows,Android 和 iOS。Airtest 提供了跨平台的 API,包括安装应用、模拟输入、断言等。基于图像识别技术定位 UI 元素,你无需嵌入任何代码即可进行自动化测试。并且测试脚本运行后可以自动生成详细的 HTML 测试报告。

官网传送门: http://airtest.netease.com/

(3) uiautomator2(python)

uiautomator2 是一个可以使用 Python 对 Android 设备进行 UI 自动化的库。其底层基于 Google uiautomator,Google 提供的 uiautomator 库可以获取屏幕上任意一个 APP 的任意一个控件属性,并对其进行任意操作。

官网传送门:

https://github.com/openatx/uiautomator2

2 APP 稳定性测试工具

(1) Monkey

Monkey 是一个在模拟器或设备上运行的程序,可生成伪随机用户事件(例如点击、轻触或手势)流以及很多系统级事件。使用 Monkey 以随机且可重复的方式对正在开发的应用进行压力测试。

官网传送门:
https://developer.android.google.cn/studio/test/monkey

(2) MonkeyRunner

monkeyrunner 工具提供了一个 API,用于编写可从 Android 代码外部控制 Android 设备或模拟器的程序。使用 monkeyrunner,可以编写一个 Python 程序去安装 Android 应用或测试软件包,运行它,向其发送按键,截取其界面的屏幕截图,并将屏幕截图存储到工作站中。monkeyrunner 工具主要用于在功能/框架级测试应用和设备以及运行单元测试套件,但也可以自由地将其用于其他目的。

官网传送门:

https://developer.android.google.cn/studio/test/monkeyrunner

(3) Maxim

Maxim 是基于 monkey 做的二次开发,相较原生 monkey,相对智能。除了保留原生 monkey 已有的功能外,可深度遍历控件,可自定义黑白名单,可设定执行时长,增加防睡眠/防假死机制、防跳出/防误点状态栏及下拉状态栏等。

官网传送门:

https://github.com/zhangzhao4444/Maxim

3 APP 性能测试工具

(1) GT

腾讯开源的 APP 的随身调测平台,支持 iOS 和 Android。直接运行在手机上,可对 APP 进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash 日志查看、网络数据包的抓取、APP 内部参数的调试、真机代码耗时统计等。

官网传送门:https://gt.qq.com/

(2) Perfdog

腾讯游戏部门开发的移动全平台 iOS/Android 性能测试、分析工具平台。手机无需 ROOT/越狱,手机硬件、游戏及应用 APP 也无需做任何修改,极简化即插即用。

PerfDog 支持 iOS 和 Android,支持移动平台所有应用程序(游戏、APP 应用、浏览器、小程序、小游戏、H5、后台系统进程等)、Android 模拟器、云真机等性能测试。PC 上 PerfDog 可多开,单 PC 可同时测试多台手机。目前免费体验,谁用谁香。

官网传送门: https://perfdog.qq.com/

4 APP 兼容性测试工具

(1) TestIn

Testin 是国内较早涉足云测试领域的平台之一。终端种类及数量都比较全面。提供远程真机测试、标准/深度/遍历兼容测试、自动化测试、测试专家驻场等。支持 Android 与 iOS 系统。但目前仅少部分服务为免费,绝大多数服务为收费项目。

官网传送门: https://www.testin.cn/

(2) 腾讯优测

腾讯旗下的云测试服务平台,拥有超过 3000 台真机实验室,覆盖市面 99% 主流机型。拥有十年终端测试服务经验,提供兼容性测试、自动化测试、云真机、设备分享等多种服务方式。

官网传送门: https://utest.21kunpeng.com/home

(3) 百度 MTC
百度 MTC 是百度开放平台旗下的移动云测试中心。提供超过 1500 款热门机型。提供的测试服务种类有兼容性测试、性能测试、功能测试。并且提供了脚本录制工具,类似 Testin。百度 MTC 的服务目前主要为收费服务。

官网传送门: http://mtc.baidu.com/

五 APP偶然出现anr和crash,你是怎么处理的?

APP偶然出现anr和crash是比较头疼的问题,由于偶然出现无法复现步骤,这也是一个测试人员必备的技能,需要抓日志。查看日志主要有3个方法:

① 一般app在测试阶段会开发debug版本,出现anr和crash的时候会自动把日志保存到本地实际的sd卡上,去对应的app目录取出来就可以了

② 当出现偶然的crash时候,手机连上开发的开发代码的环境,有ddms会抓日志,这时候出现crash就会记录下来日志。

③ 测试人员自己通过adb logcat保存日志到本地。

以上就是今天的全部内容,希望对大家有所帮助,也希望大家多多留言、点赞、在看、转发四连爱❤️ 支持。 咱们下篇文章见,Bye~👋

最后: 可以在公众号:【伤心的辣条】 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值