---
title: "移动应用开发中的自动化测试"
date: "2016-11-22"
categories: 
  - "development"
  - "mobile"
  - "software"
  - "tools"
tags: 
  - "automated-testing"
  - "mobile-apps"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: 利用Altova MobileTogether，您可以探索移动应用开发中的自动化测试，从而能够高效地验证应用程序在各种设备和不同版本上的行为。
---
Status: #blog

Tags:  #automated-testing #mobile-apps #mobile-development #mobiletogether #software-tools

Categories: [development](/blog/zh/category/development.md) | [mobile-development](/blog/zh/category/mobile-development.md) 
# 移动应用开发中的自动化测试

完善且可重复的测试能够提升任何软件开发项目的质量。如果您正在[开发移动应用程序](https://www.altova.com/zh/mobiletogether.html)，测试尤其重要，因为终端用户的设备和使用环境存在诸多不确定因素。Altova MobileTogether 包含高级的自动化测试功能，可以帮助开发人员：

- 将一系列用户操作记录下来，作为一项测试用例
- 在 MobileTogether 设计器模拟器环境中，重新运行该测试用例
- 将测试用例部署到 MobileTogether 服务器，以便在各种客户端设备上进行回放
- 从服务器检索测试运行结果，并比较差异

![移动应用程序的自动化测试](/blog/images/automated_app_testing.jpg)

您甚至可以修改应用程序以修复错误，然后再次运行测试用例，以验证更改后的结果。这使得该工具成为移动应用程序开发过程中不可或缺的质量保证工具。

<!--more-->

让我们来看一个使用GPS的应用程序，在这个应用程序中，运行一个测试用例可能会影响设计决策。

在MobileTogether Designer中的“开始地理位置追踪”功能，允许开发者选择使用GPS和网络定位相结合的追踪方式，或者仅使用GPS进行追踪。我们可以使用这两种方式分别测试应用程序，并比较结果。

![在 MobileTogether 中启动 GPS 记录功能](/blog/images/Source-GPS-only-trim.png)

以下是GPS应用程序在安卓手机和iPhone上运行的截图：

![使用MobileTogether开发的多平台GPS应用程序](/blog/images/app-running-snaps-2.png)

该应用程序的工作流程会等待用户开启GPS定位功能，然后通过“更新位置”按钮获取一个位置信息。应用程序会记录该位置信息，并再次关闭GPS定位功能，以节省电量和数据传输，直到用户想要记录下一组坐标。

测试用例的记录、回放和管理可以通过“MobileTogether Designer”菜单选项或位于设计窗口上方工具栏上的按钮进行。

![移动端自动化测试中的按钮（在MobileTogether Designer中） ](/blog/images/Test-Case-buttons.png)

我们设置“启用GPS”按钮的功能，使其仅用于GPS定位追踪。然后在模拟器中记录了一个测试用例，该用例捕获了两个数据点。由于设计工作站通常不具备地理定位硬件，因此第一次测试运行使用了包含坐标的数据文件来模拟GPS数据。

接下来，我们将应用程序和测试用例部署到我们的 MobileTogether 服务器上

![将测试用例部署到 MobileTogether 服务器](/blog/images/deploy-test-case.png)

然后，我们通过服务器的Web界面，在MobileTogether服务器上启动了测试用例，并选择了回放和数据记录选项

![用于自动化测试的 MobileTogether 服务器设置 ](/blog/images/Server-settings.png)

服务器端的激活功能允许自动化测试用例在任何连接的客户端设备上运行。我们分别在一部Android设备和一部iOS设备上进行了测试。

### 应用版本自动化测试

所有已定义的测试用例仍然与应用程序保持关联，即使开发者进行修改。我们重新进入应用程序，并更改了GPS单选按钮的功能，使其能够同时激活GPS和网络定位功能。

![在MobileTogether中，选择使用GPS和网络定位相结合的追踪功能](/blog/images/Source-GPS-plus-network-trim.png)

我们再次在模拟器中运行了测试，将新版本的应用程序部署到 MobileTogether 服务器，并在客户端设备上再次运行了测试。现在，我们可以在“管理测试用例”对话框中查看六次测试结果：

![在 MobileTogether 设计器中已完成的测试用例](/blog/images/Completed-test-cases.png)

图片中，红色方块表示测试运行结果的差异。

对两款安卓手机的测试结果进行比较，结果显示，在相同的GPS设置下，两款手机记录的坐标数据差异非常小，这一点可以在每个对比窗口中观察到

![对在Android平台上运行的MobilteTogether自动化测试结果的比较](/blog/images/Compare-Android.png)

该iOS手机在测试过程中也记录了不同的坐标信息：

![针对 iOS 平台的 MobileTogether 自动化测试运行结果对比](/blog/images/Compare-iOS.png)

执行已保存的测试脚本，可以帮助应用程序开发者：

- 验证应用程序在底层数据发生变化时的行为，例如数据库查询结果或REST Web服务请求的结果
- 通过在修复后的新版本应用程序中重新执行导致错误的动作序列，来验证错误修复是否有效
- 确保在应用程序的新版本中，不会意外引入任何不期望的行为
- 预览相同的一系列用户操作在不同移动客户端设备上的显示效果

开始使用自动化测试，为您的跨平台移动应用程序提供保障。MobileTogether Designer 是一款 [可免费下载](https://www.altova.com/zh/download/mobiletogether-designer.html) 并加以使用！
