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