Skip to content

App 功能测试初级面试题

如何做 App 兼容性测试?

面试题目

  • 级别: L1
  • 知识模块: App 测试

如何做 App 兼容性测试?

公司

  • 优酷外包

招聘类型

  • 社招
  • 校招

题目解析

这个问题主要考察候选人对移动应用兼容性测试的理解和具体实施方法。候选人需要展示出对不同设备、操作系统版本、网络环境等方面的兼容性测试的认识,并且能够描述出具体的测试步骤和工具。

答案

为了确保我们的 app 能在不同设备和操作系统上正常运行,我们会做一系列的兼容性测试。

  1. 选择设备和操作系统版本:根据市场份额选择常见的设备和系统版本进行测试。
  2. 测试不同的网络环境:在 Wi-Fi、4G、3G 等不同网络条件下测试应用。
  3. 界面和功能测试:确保应用在不同设备上的界面和功能一致。
  4. 性能测试:测试应用在不同设备上的性能,确保在低端设备上也能流畅运行。

通过这些步骤,我们可以确保我们的 app 在各种环境下都能稳定运行,给用户带来良好的体验。

有没有测试过埋点?如何测试的?

面试题目

  • 级别: L1
  • 知识模块: App 测试

有没有测试过埋点?如何测试的?

公司

  • 小米

招聘类型

  • 社招

题目解析

考察对埋点(也称为事件跟踪)测试的理解和实际操作经验。埋点测试是为了确保在用户操作时,应用程序能够正确记录和报告预期的事件数据。

基础知识介绍:埋点是产品运营⽤来分析产品的⼀个重要⼿段,运营通过埋点来分析⽤户的使⽤习惯。

什么是数据埋点?

  • 数据埋点包括:客户端前端埋点和服务端后端埋点
  • 客户端前端埋点是⽤户在客户端上的操作记录
  • 服务端后端埋点是⽤户在线请求服务器的⽇志
  • 数据埋点:其实就是在产品功能代码后⾯加上统计代码,记录⽤户操作⾏为,当⽤户进⾏某个操作时,如点击某个按钮、呈现某个⻚⾯等,开发会在相应地⽅加上统计代码,埋点会⽣成⼀条⽇志或数据库记录。

答案

是的,我有测试过埋点。具体步骤是这样的:

  1. 确认埋点需求:首先,我会跟产品经理或者数据分析团队确认埋点需求,确保我知道需要记录哪些事件和属性。
  2. 确认埋点实现:然后,我会跟开发人员确认这些埋点已经在代码中实现了。
  3. 设计测试用例:根据埋点需求,我会设计一些测试用例,确保所有需要记录的事件都被覆盖到。比如用户点击按钮、页面加载、表单提交等。
  4. 手动测试:我会手动操作应用,触发这些事件。同时用网络抓包工具(如 Charles、Fiddler)来捕捉网络请求,检查发送的埋点数据是否正确。
  5. 验证数据:最后,我会在数据分析平台上验证上报的数据是否正确,确保事件名称、参数和数值都符合预期。

通过这些步骤,可以确保埋点数据的准确性和完整性,帮助我们更好地分析用户行为。

怎么抓取⼿机 App 客户端的报⽂?

面试题目

  • 级别: L1
  • 知识模块: App 测试

怎么抓取⼿机 App 客户端的报⽂?

公司

  • 小米

招聘类型

  • 社招
  • 校招

题目解析

考察对手机 APP 客户端与服务器之间通信报文的抓取方法和工具的掌握情况。通常,这些报文包括 HTTP 请求和响应,可以通过代理工具或调试工具来捕获。

答案

  1. ⾸先确定电脑和⼿机在同⼀个局域⽹,例如同⼀个 WiFi。
  2. 配置手机网络:在手机的 Wi-Fi 设置中,将网络代理设置为手动模式,输入电脑的 IP 地址和 Charles 的端口号(默认是 8888)
  3. 设置完成后会弹窗,点击 Allow,则能正常抓取 APP 客户端报⽂。
  4. 在手机浏览器中访问 http://chls.pro/ssl,下载并安装证书。
  5. 在 Charles ⼯具中设置 SSL 代理。

Android 与 iOS 在 App 测试时有哪些区别?

面试题目

  • 级别: L1
  • 知识模块: App 测试

Android 与 iOS 在 App 测试时有哪些区别?

公司

  • 小米

招聘类型

  • 社招
  • 校招

题目解析

考察对 Android 和 iOS 平台特性的了解,以及如何在这两种不同平台上进行应用测试。你需要展示你对两个平台在硬件、操作系统、用户界面、开发工具和测试工具等方面的区别的理解,并能够解释如何在测试中应对这些差异。

答案

在 Android 和 iOS 平台上测试应用时,有一些显著的区别:

  • 第一点:安装测试。这里分为两个版本,测试版本与线上版本。
  • 对于线上版本,Android 系统的安装渠道比较多,比如:各个手机自带的应用市场或者第三方的手机助手等。iOS 可以通过 AppStore 或者 iTunes 进行下载安装。
  • 对于测试版本,Android 非常简单,只需要提供一个 apk 文件就可以在任何设备上进行安装。iOS 较为复杂,没有经过苹果审核是不允许安装的,所以要安装 iOS 的测试版本,需要将设备添加到开发者帐号,或者使用 testlight 工具。
  • 第二点:兼容性测试。
  • Android 操作系统是开源的,很多不同厂商在这个基础上进行了二次开发,所以导致出现的操作系统类型以及版本都非常多,比较常见主流的有:华为、小米、OPPO,Vivo 等,还有很多比较小众非主流的操作系统;而且每个系统都有很多的版本,包括大版本和小版本;以及每个厂商的手机屏幕大小也差异比较大,所以 Android 应用的兼容性测试就会比较复杂一些。
  • 相对于 iOS 就只有单一的苹果系统,虽然也经常更新版本,但是随着苹果官方系统版本的升级,一般我们只需要维护最新的几个主流版本的兼容性测试即可;选取的主流系统版本,再覆盖 iOS 的几款主流的屏幕大小的机型,兼容性测试会相对来说简单很多。
  • 第三点:升级测试。
  • iOS 限制也比 Android 多一些。iOS 有严格的降级限制,最开始只能单向升级,不能降级。
  • Android 系统的降级限制没有那么严格,通过一定的工具都可以降级成功。
  • 第四点:权限测试。
  • Android 众所周知的就是 Android 的个人信息泄露比较严重的,比如很多 app 在安装时会要求很多权限,Android 系统会提示是否允许获取手机的某个权限,但是即使用户不给,Android 也有各自手段偷偷的获取这些权限,所以 Android APP 的这种权限测试不是很严格。
  • 而 iOS 一般情况下权限管理的很严格,用户没有同意的权限,APP 是一定没有办法绕过并获取的,所以应用不会去获取一些没有意义的权限;而且应用要上线苹果商店时,苹果官方的审核机制也是比较严格,经常会出现审核不通过的情况。所以 iOS 的权限一般情况下会要的很少。
  • 第五点:消息推送测试。由于两个操作系统的消息推送渠道不同,Android 一般使用第三方或者自建的平台进行消息推送,iOS 消息推送渠道是由苹果官方提供的。

Android APP 内存不足时, 系统如何结束进程获得内存

面试题目

  • 级别: L1
  • 知识模块: App 测试

Android APP 内存不足时, 系统如何结束进程获得内存?

公司

  • 优酷外包

招聘类型

  • 社招
  • 校招

题目解析

主要考察面试者对 Android 系统内存管理机制的理解。面试者需要了解 Android 系统是如何监控和管理内存的,以及在内存不足时采取什么措施来释放内存。答案应该包括 Android 系统的低内存杀死机制、进程优先级管理以及进程结束的策略

当 Android 设备内存不足时,Android 系统会采取以下步骤来结束进程以腾出内存:

  1. 监控内存:Android 系统会定期监控设备内存的使用情况。
  2. 低内存杀死机制:当内存达到一定阈值时,系统会触发低内存杀死机制,该机制会根据一定的算法和策略来释放内存。
  3. 进程优先级:系统会根据进程的优先级和重要性来维护和结束进程。通常会选择那些长时间未使用的后台进程、空闲状态的进程或者优先级较低的进程来释放内存。
  4. 通知应用:在结束进程之前,系统会向应用发送通知,让应用有机会保存数据或执行清理操作。
  5. 进程结束:系统发送终止信号给应用进程,应用需要在一定时间内保存状态或执行必要的清理操作。如果应用未能及时响应,系统将强制关闭应用进程。

答案

当 Android APP 内存不足时,系统会根据优先级(前台、可见、服务、后台等)从低到高逐步结束进程,首先终止空进程和低优先级的后台进程,以释放内存确保系统稳定运行。

APP 测试与 web 测试的区别?

面试题目

  • 级别: L1
  • 知识模块: App 测试

APP 测试与 web 测试的区别?

公司

  • 优酷外包

招聘类型

  • 社招
  • 校招

题目解析

旨在考察求职者对于移动 App 测试与 Web 测试之间的区别和特点的了解。App 测试和 Web 测试虽然都是软件测试的一种,但由于移动应用和 Web 应用在平台、技术、用户交互等方面存在差异,因此在测试方法、工具和重点上也有所不同。

  1. 平台和环境差异:
  2. App 测试针对移动平台(iOS、Android)上的应用程序,需要考虑不同设备、不同操作系统版本、不同分辨率等因素。
  3. Web 测试主要针对 Web 应用,可以在不同浏览器、不同操作系统上运行,相对平台和环境要求较为松散。
  4. 用户交互特点:
  5. 移动 App 具有更多的本地功能和用户交互性,需要考虑触摸屏、滑动等用户操作方式,以及在离线状态下的应用表现。
  6. Web 应用主要基于浏览器,用户交互相对简单,主要涉及页面跳转、表单提交等操作。
  7. 性能和兼容性要求:
  8. 移动 App 对性能要求较高,需考虑加载速度、资源占用等因素,同时需要适配不同网络环境。
  9. Web 应用相对较轻量,但需要考虑跨浏览器兼容性、响应速度等问题。
  10. 测试工具与方法:
  11. App 测试通常会使用专门的移动应用测试工具,如 Appium、Calabash 等,用于测试移动 App 的功能性、性能等方面。
  12. Web 测试常使用 Web 自动化测试工具,如 Selenium、WebDriver 等,用于测试 Web 应用在不同浏览器下的兼容性和功能性。
  13. 测试范围和重点:
  14. App 测试通常需要考虑移动硬件设备的特性、本地缓存数据、推送通知等特点。
  15. Web 测试更注重页面渲染、链接跳转、表单提交等 Web 特有的功能和页面行为。

答案

APP 测试主要关注移动设备的兼容性、性能、电池消耗、网络切换、离线功能等,而 Web 测试则主要关注不同浏览器的兼容性、响应速度、页面布局、功能验证等,两者在测试环境、工具和侧重点上有所不同。

App 兼容测试有哪些维度?

面试题目

  • 级别: L1
  • 知识模块: App 测试

App 兼容测试有哪些维度?

公司

  • metaAPP

招聘类型

  • 社招
  • 校招

题目解析

考察对兼容性测试的理解以及对不同维度的考虑。兼容性测试的目的是确保应用程序在不同设备、操作系统、浏览器、网络条件等环境下都能正常运行。因此,你需要展示对各种影响因素的全面认识,并解释这些因素在测试中的具体考虑。

答案

App 兼容测试的维度包括设备类型兼容性、功能兼容性、操作系统版本兼容性、分辨率适配、网络环境适应性等。

APP 兼容性怎么测?怎么覆盖这么多机型?

面试题目

  • 级别: L1
  • 知识模块: App 测试

APP 兼容性怎么测?怎么覆盖这么多机型?

公司

  • 小米

招聘类型

  • 社招
  • 校招

题目解析

考察你在进行 APP 兼容性测试时的策略和方法,特别是如何在有限的资源下覆盖尽可能多的设备类型和操作系统版本。你需要展示你对兼容性测试的理解,包括测试工具、测试方法以及如何高效地进行覆盖。

答案

  • 根据公司的要求,⼀般都使⽤真机,真机不够时或⼈⼒不⾜时也可能找第三⽅平台进⾏测试。
  • 如果时间充裕或⼈⼒资源满⾜时,每个⼈使⽤公司发放的不同⼿机进⾏测试,个⼈测试完成后,互换测试 机进⾏测试。

App 兼容测试做过哪些?

面试题目

  • 级别: L1
  • 知识模块: App 测试

App 兼容做过哪些?

公司

  • 优酷外包

招聘类型

  • 社招
  • 校招

题目解析

App 兼容性测试包括不同设备、不同系统版本、不同分辨率等方面的测试,确保 App 在各种情况下正常运行。

答案

在负责 APP 兼容测试的过程中,进行了多平台和设备的测试,包括 Android 和 iOS 系统下的主流品牌和型号的手机,以确保 APP 在不同操作系统版本、屏幕尺寸和分辨率下都能正常运行。同时,也模拟了不同的网络环境,测试了 APP 在网络波动、弱网和无网络环境下的表现,以确保用户在不同网络条件下都能获得良好的体验。

App 冷启动和热启动有什么区别?

面试题目

  • 级别: L1
  • 知识模块: App 测试

App 冷启动和热启动有什么区别?

公司

  • 小米

招聘类型

  • 社招
  • 校招

题目解析

考察对移动应用启动过程的理解,以及冷启动和热启动的区别。你需要展示你对应用生命周期的了解,并能够解释冷启动和热启动在技术和用户体验上的不同。

答案

  • 冷启动:从离线状态,打开 APP 直到进⼊⻚⾯的过程。冷启动时会使⽤较多的流量及较多的请求,请求服务器的各种资源例如(图⽚,数据等)。
  • 热启动:从后台运⾏状态,打开 APP 直到进⼊⻚⾯的过程。热启动时则会在冷启动时从服务器获取的资 源保存⾄本地,就不会再使⽤过多的流量及请求了,同时相⽐于冷启动流畅度会提升。

App 专项测试怎么做?

面试题目

  • 级别: L1
  • 知识模块: App 测试

App 专项测试怎么做?

公司

  • 优酷外包

招聘类型

  • 社招

题目解析

考察在 App 特定方面的测试策略和方法,通常是针对某一个具体的功能或性能指标进行深入的测试。你需要展示你对专项测试的理解,包括测试目标、测试范围、测试方法和测试工具等方面的知识。

答案

  1. 确定测试目标:明确专项测试的目标,如性能、兼容性、安全性、功能等。
  2. 确定测试范围:定义具体的测试范围,例如性能测试包括启动时间、内存和 CPU 占用等。
  3. 制定测试策略:
  4. 测试方法:结合手动测试和自动化测试。
  5. 测试工具:如 Android Studio(Android),Xcode Instruments(iOS)。
  6. 测试环境:准备不同设备、操作系统版本、网络条件。
  7. 测试数据:准备充分的测试数据,覆盖各种边界情况。
  8. 执行测试:准备环境和数据,执行测试用例,记录结果,分析问题并修复,进行回归测试。