iOS 应用自动化测试

作者:自动化测试   发布时间:2021-09-13

article-default.jpg
iOS 应用测试可能是一项复杂的工作。本文在上下文中描述了与 iOS 测试相关的一般问题,并将阐明 Sauce Labs 产品的细节。

什么是 iOS 应用测试?

这是指在实际的 Apple 设备上测试 iOS 应用程序的过程。此过程的目标是评估它是否按预期(或不)针对特定用户操作工作。动作可以包括安装时间、加载时间、用户界面、用户体验、外观、行为、功能和性能。

为什么要使用 iOS 应用测试?

共有三种 iOS 应用程序,每种应用程序都有自己的特点:原生、网络和混合。在一种应用程序中有效的东西在另一种应用程序中可能不起作用,并且需要进行测试以提醒开发人员注意这种情况。

原生应用

本机应用程序是传统上以 Swift 或 Objective-C 构建的应用程序,使用官方 iOS SDK(软件开发工具包)提供的本机 API。它们利用 Apple 在 SDK 中提供的原生 API 和 UI 组件。

网络应用

Web 应用程序只是网站的移动版本。该网站的设计针对桌面浏览器进行了优化,可能不适用于较小的屏幕。

混合应用

混合应用程序是前两种应用程序的混合。有一个称为“webview”的原生 UI 组件,可以嵌入到原生应用程序中。webview 为用户提供了一个透明的窗口,可以查看来自任何 URL 甚至本地 URL 的 Web 内容。混合应用程序使创作者能够使用 Web 技术开发部分或全部应用程序逻辑,但保留对某些本机 API 的访问权限,如相机或媒体库访问权限。

iOS 应用程序测试的类型

有多种方法可用于执行iOS 测试。开发人员使用的特定应用程序将取决于应用程序和测试人员周围的环境。

iOS 手动测试

手动测试是“手动”测试。它包括在设备或 iOS 模拟器上运行应用程序,然后浏览不同的预先确定的测试场景。除了根据预先确定的脚本验证工作功能外,还以探索性方式使用手动测试,或者帮助确定测试场景应该是什么。

自动化测试

每次更改应用程序代码时手动测试整个功能是有问题的。手动验证越来越多的场景所需的时间开始减慢开发和发布周期。解决方案是编写测试脚本,自动引导您的应用程序通过测试场景,并在此过程中进行适当的验证。

自动化测试主要有两种类型:端到端测试和单元测试。

端到端测试是指对整个应用程序堆栈进行测试,从 UI 到应用程序逻辑,再到任何网络请求或后端服务器功能。希望能够模拟真实的用户体验。

甲单元测试涉及编码来测试应用程式的单个部件,在隔离服用。测试通常会向组件传递一系列变量,并检查组件是否返回了正确的值。单元测试有助于在开发周期的早期修复错误,并节省在设计周期后期纠正问题的成本。OCUnit 是 Mac OS 中 Objective C 的单元测试框架。OCUnit 框架的优点是与 XCode 开发环境的紧密集成。

构架

UIAutomation 是来自 Apple 的 JavaScript 库,用于模拟目标 iOS 应用程序上的用户事件。它首先在 SDK 4 中引入,并在 iOS 10 中被删除。

Appium是开源的,其理念是测试本机应用程序不需要包含 SDK 或重新编译您的应用程序。它可以与本机、混合和移动 Web 应用程序一起使用。它使用 WebDriver 协议驱动 iOS、Android 和 Windows 应用程序。

Frank是一个用于 iPhone 和 iPad 的开源自动化验收测试框架。多年来,它得到了相当好的支持。

KIF(Keep It Functional)是一个开源的功能测试框架。通过利用操作系统为视觉障碍者提供的辅助功能,它可以轻松实现 iOS 应用程序的自动化。

一些 iOS 测试框架,包括 Appium(Sauce 支持),可以连接到 CI 系统并在敏捷开发过程的上下文中运行自动 iOS 测试。相对于 Web 应用程序的 CI,移动 CI 还处于起步阶段,并不总是像使用传统测试工具的 CI 那样顺利。


本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2021 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.