前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >金九银十招聘季, APP测试面试题助你拿高薪Offer

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

作者头像
ITester软件测试小栈
发布2022-11-11 19:07:44
6260
发布2022-11-11 19:07:44
举报
文章被收录于专栏:全栈测试全栈测试

VOL 417

15

2022-08

今天距2023年139天

ITester软件测试小栈第417次推文

点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 09:00准时推送,每月不定期赠送技术书籍

微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“微信交流群”、“内推群”一起进群打怪。

本文3440字,阅读约需7分钟

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

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

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

  1. 根据需求说明书编写测试计划;
  2. 制定测试方案,主要是测试任务、测试人员和测试时间的分配;
  3. 测试准备,包括搭建测试环境,准备测试数据,确定测试方法;
  4. 测试用例的设计与编写,进行用例评审及补充完善;
  5. 执行测试时首先进行冒烟测试,然后对主功能流程进行测试,包括客户端的单个功能模块,及功能业务逻辑功能交互,回归测试;
  6. 提交测试结果,包括测试用例,测试计划;

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~👋

以上

That‘s all

更多系列文章

敬请期待


ITester软件测试小栈(ID:ITestingA),专注于软件测试技术和宝藏干货分享,每周准时更新原创技术文章,每月不定期赠送技术书籍,愿我们在更高处相逢。喜欢记得星标⭐我,每周及时获得最新推送,第三方转载请注明出处。

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

本文分享自 ITester软件测试小栈 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (1) GT
  • (2) Perfdog
  • (1) TestIn
  • (2) 腾讯优测
  • (3) 百度 MTC
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档