软件测试面试题(App 测试)

本文详细探讨了App测试的关键方面,包括Android四大组件、启动流程、测试内容和方法、兼容性测试、安装功能测试点、ADB命令使用、日志分析、崩溃原因、性能监控和弱网测试。同时,解释了XPath表达式的意义和Appium的启动方式,为App测试人员提供了全面的指南。

1、什么是Android四大组件?

在Android开发中,四大组件是Android应用程序框架的核心组成部分,它们分别是:

  1. 活动(Activity)

    • 它是用户与手机屏幕交互的一个界面,每个活动都会展示一个用户界面供用户执行不同的操作。例如,一个邮件应用可能有一个活动来显示邮件列表,另一个活动来撰写新邮件。正常情况下,一个活动代表了一个屏幕。
  2. 服务(Service)

    • 服务是一种运行在后台的组件,不提供用户界面。它用于在后台执行长时间运行的操作或者为其他应用程序组件提供功能,即使用户切换到其他应用,服务仍然可以运行。例如,音乐播放器的后台播放就是通过服务来实现的。
  3. 广播接收器(Broadcast Receiver)

    • 广播接收器是用于接收来自Android系统或应用程序的广播消息(Intents)的组件。例如,应用可以注册一个广播接收器来监听设备屏幕关闭或者电池电量低等系统事件。
  4. 内容提供者(Content Provider)

    • 内容提供者管理应用间共享的数据集。应用可以对这些数据进行查询、修改,甚至可以跨不同的应用共享。例如,Android系统提供了联系人、日历等内容提供者,它们允许不同的应用读取或写入用户的联系人信息和日历数据。

这四大组件是Android应用程序的基石,它们各自独立地处理不同的用户和系统交互,并通过Intent在组件之间传递消息。开发者可以在manifest文件中声明这些组件,并指定它们如何协同工作来为用户提供流畅的应用体验。

2、当点击 APP 图标启动程序,说明将要发生那些过程?

当你点击一个APP图标启动程序时,Android系统会执行一系列的操作来启动并显示应用程序的用户界面。以下是大致的过程:

  1. 启动Intent:

    • 用户点击图标后,启动器(Launcher)应用会创建一个Intent,这个Intent是一个包含了要启动应用的主Activity信息的消息对象。
  2. Intent解析:

    • Android系统接收到这个Intent,并通过它查找对应的Activity。这个过程涉及到Intent过滤器和AndroidManifest.xml文件,系统会从中找到匹配的Activity。
  3. 创建Activity实例:

    • 一旦找到匹配的Activity,系统会启动一个新的进程(如果应用未在运行)并在该进程中创建这个Activity的一个新实例。
  4. 调用生命周期回调方法:

    • 系统会调用Activity的生命周期方法onCreate(), onStart(), 和onResume()。在onCreate()方法中,Activity通常会进行用户界面的初始化,包括加载布局资源和初始化必要的数据。
  5. 渲染布局:

    • Activity的视图被创建和渲染到屏幕上。此时用户可以看到应用的UI界面,并与之交互。
  6. 用户交互:

    • 现在,Activity处于运行状态,用户可以开始与应用交互,Activity会处理用户输入、生命周期变化等。
  7. 处理后续的Intent:

    • 如果应用程序包含多个组件,如其他的Activity、Service等,用户与应用的交互可能会触发更多的Intent,从而调用和启动应用程序中的其他组件。
  8. 保存状态和清理:

    • 如果用户离开应用(比如按Home键),系统会调用onPause()onStop()生命周期方法。如果系统需要回收资源(比如内存不足时),系统可能会决定终止应用进程,在这之前系统会调用onSaveInstanceState()方法来保存当前状态,以便用户返回时能恢复这个状态。

这个过程涵盖了从用户点击APP图标到应用界面呈现给用户的主要步骤,涉及到Android应用程序管理的关键部分,包括Intent处理、Activity生命周期管理、用户界面渲染和用户交互。

3、APP 测试的内容主要包括哪些,如何开展?

APP测试的内容主要包括以下几个方面:

  1. 功能性测试

    • 验证APP的所有功能是否按照需求规格书正常工作。这包括测试各个功能模块、用户界面元素、用户输入、数据处理、网络请求等。
  2. 性能测试

    • 检查APP在不同条件和负载下的表现,包括响应时间、资源消耗(CPU、内存、电池)、网络性能等。
  3. 兼容性测试

    • 确保APP能够在不同的设备、操作系统版本、屏幕尺寸、分辨率和其他硬件配置上正确运行。
  4. 安全性测试

    • 评估APP在数据保护、认证、权限管理、安全漏洞和恶意攻击方面的强度。
  5. 界面和用户体验测试

    • 确保APP界面友好,用户体验流畅,包括元素布局合理、配色一致、文字可读、导航清晰等。
  6. 安装和部署测试

    • 测试APP的安装过程、配置和部署步骤是否顺畅,以及卸载过程是否干净无遗留。
  7. 中断测试

    • 验证中断情况下APP的行为,例如来电、短信、网络丢失、电量不足时APP的反应。
  8. 恢复和断点续传测试

    • 测试APP从错误或中断中恢复的能力,例如网络重连后是否能继续之前的操作。
  9. 本地化和国际化测试

    • 对多语言APP验证不同语言和地区设置下的功能和显示。

如何开展APP测试:

  1. 需求分析

    • 根据需求文档和设计规范,理解APP的功能和用户场景。
  2. 测试计划

    • 制定详细的测试计划,明确测试目标、范围、策略、时间表和资源分配。
  3. 测试用例设计

    • 基于测试计划,设计详细的测试用例和脚本。
  4. 测试环境搭建

    • 准备测试环境,包括所需的硬件设备、操作系统、网络环境等。
  5. 测试执行

    • 根据测试用例执行测试,记录结果并报告问题。
  6. 问题跟踪和管理

    • 使用缺陷跟踪工具记录、跟踪并管理发现的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值