在我看来无论是移动端测试还是PC端测试,都属于GUI测试的范畴,所以基本的测试思路,比如基于页面对象封装和基于业务流程封装的思想是相通的,之前介绍的那些脚本分层的实现方法也都同样适用于移动端的GUI测试。
与此同时,移动端应用的测试也会因为其自身特点,有一些独特的测试方法与思路。严格来讲,移动端应用又可以进一步细分为三大类:Web App、Native App和Hybrid App。所以,我今天分享的内容重点就是,这三类移动应用的测试方法,以及移动专项测试的思路与方法。
三类移动应用的特点
Web App指的是移动端的Web浏览器, 其实和PC端的Web浏览器没有任何区别,只不过Web浏览器所依附的操作系统不再是Windows和Linux了,而是iOS和Android了。
Web App采用的技术主要是,传统的HTML、JavaScript、CSS等Web技术栈,当然现在HTML5也得到了广泛的应用。另外,Web App所访问的页面内容都是放在服务器端的,本质上就是Web网页,所以天生就是跨平台的。
Native App指的是移动端的原生应用, 对于Android是apk,对于iOS就是ipa。Native App是一种基于手机操作系统(iOS和Android),并使用原生程序编写运行的第三方应用程序。
Native App的开发,Android使用的语言通常是Java,iOS使用的语言是Objective-C。通常来说,Native App可以提供比较好的用户体验以及性能,而且可以方便地操作手机本地资源。
Hybrid App(俗称:混血应用),是介于Web App和Native App两者之间的一种App形式。
Hybrid App利用了Web App和Native App的优点,通过一个原生实现的Native Container展示HTML5的页面。更通俗的讲法可以归结为,在原生移动应用中嵌入了Webview,然后通过该Webview来访问网页。
Hybrid App具有维护更新简单,用户体验优异以及较好的跨平台特性,是目前主流的移动应用开发模式。
图2 三类移动应用的架构原理
三类不同移动应用的测试方法
了解了Web App、Native App和Hybrid App这三类应用的特性,接下来,我就跟你说说它们的测试方法。
好了,我们已经知道了移动应用的三个主要种类,接下来我们从测试的角度再来看看这三类不同的移动应用。
对于Web App,显然其本质就是Web浏览器的测试,我在前面文章中介绍的所有GUI自动化测试的方法和技术,比如数据驱动、页面对象模型、业务流程封装等,都适用于Web App的测试。
如果你的Web页面是基于自适应网页设计(即符合Resp