目录
一、主要内容
1、移动终端平台和应用软件概述
2、移动应用软件测试
二、移动终端平台和应用软件概述
1、移动应用软件(移动终端软件)
-
基于类似手机、平板之上的应用软件
2、移动终端平台
-
安卓(Android)
-
苹果(IOS)
3、移动应用软件特点
-
多样的交互方式
-
例如划、点、摇动手机、蓝牙、手柄等
-
-
多样的移动设备
-
例如不同品牌的手机、每一个品牌里包含不同类型的手机等
-
-
快速的软件版本迭代
-
APP的更新速度比PC端软件的更新速度快很多
-
二、移动应用软件测试
1、测试方法
(1)人工测试
(2)脚本编程测试
-
利用测试脚本编程框架和接口编写测试脚本,然后交由测试框架实施自动测试执行和功能检查
-
利用录制回放工具自动化记录和执行测试脚本
2、移动应用软件测试的挑战
(1)脚本编程测试的局限性
(2)网络基础设施与架构的多样性
(3)移动设备多样性的挑战
3、功能测试
(1)目标
-
验证移动应用的功能是否符合预期
(2)测试方法
-
手工测试方法
-
自动化脚本测试方法
(3)代表性的测试框架和工具
-
手工
-
云测试平台,如Testin等
-
脚本测试框架和工具(如Robotium、Appium、Calabash等;安卓专用的,Espress、UiAutomator等)
-
测试脚本录制回放工具,如Appetizer、Espresso、RERAN等
4、性能测试
(1)目标
-
设备性能
-
服务器/API性能
-
网络性能
(2)测试方法
-
一般性能测试需要人工参与观察和统计
(3)代表性的测试框架和工具
-
监测具体性能指标工具,如Android Profiler、腾讯PerfDog、美团的Hertz等
5、易用性测试
(1)目标
-
在开发周期的早期识别出系统中的易用性错误,并可以避免产品出现故障
(2)测试主要关注点
-
软件的有效性
-
软件的使用效率
-
软件内容的准确性
-
用户界面的友好性
(3)测试方法
-
实验室环境的易用性测试
-
远程易用性测试
(4)代表性的测试框架和工具
-
在企业中通过招募部分软件用户实地完成
-
第三方服务完成
6、信息安全测试
(1)目标
-
是防止针对移动应用软件的欺诈攻击、病毒或恶意软件感染、尽早发现可能的安全漏洞、非必要的权限许可等
(2)测试方法
-
设计审查
-
白盒代码安全性检查
-
黑盒安全审计
(3)代表性的测试框架和工具
-
开源的安全性测试工具,如QARK、MobSF
-
商业工具,如奇虎360、Synopsys等
7、可移植性测试
(1)目标
-
是确保移动应用软件在不同的主流移动设备上能够正确安装、启动和卸载,以及能够正确、平稳地运行
(2)测试方法
-
人工测试和众包测试
-
第三方自动化云测试服务
(3)代表性的测试框架和工具
-
国内主流的云测试平台,如Testin、阿里巴巴地MQC、百度的MTC、腾讯的WeTest、华为的MobileAPPTest等。
-
国外主流的云测试平台,如谷歌官方的Firebase、亚马逊的AWS Device Farm、微软的Xamarin等
8、网络测试
(1)目标
-
模拟不同的网络环境和质量,检测应用软件的健壮性、易用性和稳定性
(2)测试方法
-
通过将移动设备连接到PC上进行网络测试
-
在专有服务器上构建网络wi-fi,移动设备连接该wi-fi进行网络测试
(3)代表性的测试框架和工具
-
主要的测试工具都是用于辅助模拟不同的网络环境,在PC上实施网络测试时,可使用的工具有fiddler、Charles、net-simularor等。
-
在专用服务器上构建网络的wi-fi实施网络测试时,使用的工具有Facebook的ATC、腾讯的wetes-wifi和QNET。
(4)需考虑测试场景
-
弱网
-
无网
-
网络异常