移动端应用可以细分为三大类:Web App、Native App 和 Hybrid App。以下主要介绍这三类移动应用的测试方法,以及移动专项测试的思路与方法。
三类移动应用的特点
Web App 指的是移动端的 Web 浏览器,和 pc 端的 Web 浏览器无差,只是依附的操作系统不再是 Windows 或 Linux了,而是 IOS 和 Android。Web App 采用的技术主要 HTML5、JavaScript、CSS 等 Web 技术栈,另外,Web App 所访问的页面内容都是放在服务器端的,本质上就是 Web 网页,所以天生就是跨平台的。
Native App 指的是移动端的原生应用,对于 Android 是 apk,对于 IOS 就是 ipa。Native App 是基于手机操作系统,并使用原生程序编写运行的第三方应用程序。
Hybrid App 是介于 Web App 和 Native App 两者之间的一种 App 形式,它利用了 Web App 和 Native App 的优点,通过一个原生实现的 Native Container 展示 HTML5 页面。即在原生移动应用中嵌入了 Webview,然后通过该 Webview 来访问。
Hybrid App 具有维护更新简单,用户体验优异以及较好的跨平台特性,是比较主流的移动应用开发模式。从下图中可简单看出三类移动应用的架构原理。
三类不同移动应用的测试方法
对 Web App 本质就是 Web 浏览器的测试,典型的 GUI 自动化测试的方法和技术,如 数据驱动、页面对象模型、业务流程封装等都适用。如果 Web 页面时基于自适应网页涉及 (即符合 Responsive Web 设计的规范),而且测试框架如果支持 Responsive Page,那么原则上之前开发的运行在 PC Web 端的 GUI 自动化测试用例不做任何修饰旧可以直接在移动端的浏览器上执行,前提时移动浏览器是支持 Web Driver
其中,自适应网页设计(Responsive Web Design)是指,同一个网页能够自动识别屏幕分辨率、并做出相应调整的网页设计技术。
对 Native App 的测试,虽然不同的平台会使用不同的自动化测试方案(比如,iOS 一般采用 XCUITest Driver