移动测试 - 应用


移动应用程序测试的简单定义如下:“移动应用程序测试是测试为手持移动设备开发的应用程序软件的功能、可用性和一致性的过程。移动应用程序测试可以是自动化或手动类型的测试。”

- 为了更好地理解,我们假设我们正在测试在线机票预订系统的移动应用程序。

功能测试

功能测试是任何应用程序最基本的测试,以确保其按照定义的要求工作。与其他基于用户界面的应用程序类似,移动应用程序需要在用户场景中进行大量的人机交互。

测试场景示例 -

  • 验证是否仅显示选定日期的选定源目的地的航班可用性。

  • 验证搜索结果中是否不包含过去的日期。

兼容性测试

在移动应用程序测试方面,兼容性测试占据了最高的地位。一般来说,移动应用程序兼容性测试的目的是确保应用程序的关键功能在特定设备上按预期运行。兼容性本身只需几分钟,并且可以提前计划好。

决定应执行哪些移动设备兼容性测试并不是一件容易的事(因为对所有可用设备进行测试根本不可能)。因此,准备一个包含每种可能组合的测试矩阵,并由客户确定其优先级。

测试场景示例 -

  • 验证 Android 设备是否成功执行航班搜索。
  • 验证 Apple iPad 的航班搜索是否成功执行。

本地化测试

如今,大多数应用程序都是为全球使用而设计的,关心语言、时区等区域轨迹非常重要。当有人更改时区时,验证应用程序的功能非常重要。必须考虑到,有时西方设计可能不适合东方国家的观众,反之亦然。

测试场景示例 -

  • 验证当我们使用不同语言(或者说非英语)的移动应用程序时不存在 UI 或数据截断问题。

  • 验证您的移动应用程序是否能够妥善处理时区更改。

实验室测试

实验室测试通常由网络运营商进行,通过模拟完整的无线网络来完成。执行此测试是为了找出移动应用程序使用语音和/或数据连接执行某些功能时的任何故障。

测试场景示例 -

  • 验证客户与支持人员进行语音聊天时是否出现故障。

性能测试

移动性能测试涵盖客户端应用性能、服务器性能和网络性能。确保性能测试场景涵盖所有这些领域非常重要。借助性能测试工具,在给定预定义的负载和事务组合的情况下,识别现有网络、服务器和服务器端应用程序瓶颈并不困难。

测试场景示例 -

  • 确认航班可用检查仅花费合理的时间。

  • 验证在检查航班可用性时,移动设备是否正常运行并且不会挂起。

压力测试

压力测试是发现功能和用户界面测试期间可能被忽视的异常、挂起和死锁的必要条件。以下是压力测试的一些标准的列表 -

  • 向您的应用程序加载尽可能多的数据,以尝试达到其突破点。

  • 一遍又一遍地执行相同的操作。

  • 以不同的速度(非常快或非常慢)执行重复操作。

  • 让您的应用程序长时间运行,既与设备交互又让它闲置,或者执行一些需要很长时间的自动任务,例如幻灯片放映。

  • 随机向您的应用程序发送屏幕点击和按键操作。

  • 在您的设备上运行多个应用程序,以便您可以经常在您的应用程序和其他设备应用程序之间切换。

测试场景示例 -

  • 检查 1000 个用户正在访问移动应用程序来搜索国内航班。
  • 检查 1000 个用户正在访问移动应用程序来搜索国际航班。

安全测试

黑客攻击、身份验证和授权策略、数据安全、会话管理和其他安全标准的漏洞应作为移动应用程序安全测试的一部分进行验证。通过网络对用户进行身份验证时,应用程序应加密用户名和密码。

测试安全相关场景的一种方法是通过 OWASP Zed Attack Proxy 等代理服务器路由移动设备的数据并查找漏洞。

测试场景示例 -

  • 验证应用程序不会在两个不同的移动设备上使用相同的用户凭据进行操作。

  • 验证如果会话保持不活动状态超过 15 分钟,会话是否会自动过期。

内存泄漏测试

与其他计算机相比,移动设备的内存非常有限,并且移动操作系统具有默认Behave来终止使用过多内存并导致不良用户体验的应用程序。

内存测试对于移动应用程序尤为重要,以确保每个应用程序在整个用户旅程中保持优化的内存使用。建议我们在实际目标设备上进行内存测试,因为模拟器和实际设备的系统架构不同。

测试场景示例 -

  • 进行十次航班可用性检查,并记下每次检查增加的内存使用量。

  • 让应用程序运行十分钟,观察内存使用情况是否保持稳定。

功耗测试

不同的移动设备使用多种类型的电池(即镍镉/锂离子/镍金属混合电池)。虽然我们专注于功耗测试,但我们需要测量每个活动级别的电池状态。它将使我们更好地了解单个应用程序的功耗。

可以手动进行功耗测试;市场上还有一些免费工具,例如 Trepn Profiler、Power Tutor 和 Nokia Energy Profiler。这些应用程序可以在智能手机或平板电脑上显示实时功耗。

测试场景示例 -

  • 使用移动应用程序搜索航班可用性,并检查功耗是否保持在最低水平。

  • 保持移动应用程序处于理想状态;验证当应用程序没有发生任何活动时没有功耗。

中断测试

应用程序在运行时可能会面临多次中断,例如来电或网络覆盖中断和恢复。这可以再次区分为 -

  • 传入和传出的短信和彩信
  • 来电和去电
  • 传入通知
  • 电池拆卸
  • 用于数据传输的电缆插入和拔除

测试场景示例 -

  • 确认航班可用性检查已暂停并在收到来电后恢复。

  • 验证用户在使用应用程序时是否可以拒绝呼叫,然后再次恢复同一应用程序。

可用性测试

可用性测试根据目标受众的以下三个标准评估应用程序 -

  • 效率- 指定用户在特定环境中实现指定目标的准确性和完整性。

  • 有效性- 与所实现目标的准确性和完整性相关的资源消耗。

  • 满意度- 工作系统对其用户和受其使用影响的其他人的舒适度和可接受性。

从应用程序设计的早期阶段开始进行可用性测试非常重要,而不应该仅在应用程序完成时才进行。可用性测试需要用户的大量参与,其输出可能会影响应用程序的设计,而这在项目后期很难改变。

测试场景示例 -

  • 航班可用性检查应位于主页上。
  • 赞助广告不应显示在内容中间。

安装测试

安装测试验证安装过程是否顺利,用户不会遇到任何困难。

测试场景示例 -

  • 验证安装过程是否顺利并且不需要很长时间。
  • 通过企业应用商店验证安装是否成功。

卸载测试

卸载测试的基本原理可以用一句话来概括:“卸载应该一次性清除与应用程序相关的数据”。

测试场景示例 -

  • 验证卸载后是否已成功删除所有应用程序相关文件。

  • 如果是存储媒体文件的应用程序(例如Whatsapp或Facebook),即使在卸载应用程序后仍保留这些文件。

更新测试

我们需要对移动应用程序更新非常谨慎。人们经常抱怨应用程序在更新后无法正常运行。因此,在更新测试下,我们必须确保该应用程序能够像以前一样工作,这一点非常重要。简而言之,它不应该破坏任何东西。移动应用程序更新可以通过两种方式进行 -自动更新手动更新

测试场景示例 -

  • 自动更新后验证应用程序是否成功运行。
  • 验证更新进度是否正确显示。

认证测试

为了获得合规证书,每个移动设备都需要根据不同移动平台设定的准则进行测试。

测试场景示例 -

  • 验证应用程序安装在 iPhone 上时是否遵守 iOS 手机的政策。

  • 验证应用程序安装在 Android 上时是否遵守 Android 手机的政策。