智能终端应用程序测试应该包括:功能测试、界面测试、性能测试、用户体验测试、安全性测试、Install/Uninstall/Update测试、兼容性测试、中断测试这几方面.
1、功能测试
根据软件说明或用户需求验证Application的各个功能实现,采用如下方法实现并评估功能测试过程:
1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼Application的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准(若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或规则)。
2)根据被测功能点的特性列举出相应类型的测试用例对其进行覆盖,如:涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。常用的测试方法有等价类,边界值,场景法,错误猜测法等。
3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。
2、界面测试
3、性能测试
评估Application的时间和空间特性
1)极限测试:在各种边界压力情况下(如电池、存储、网速等),验证Application是否能正确响应。
2)响应能力测试:测试Application中的各类操作是否满足用户响应时间要求
3)压力测试:反复/长期操作下,系统资源是否占用异常;
4)性能评估:评估典型用户应用场景下,系统资源的使用情况。
5)Benchmark测试: 与竞争产品的Benchmarking, 产品演变对比测试等。
4、用户体验测试
以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性,提出修改意见提升产品的潜在客户满意度。
5、兼容测试
主要测试内部和外部兼容性
1)与本地各类主流运用是否兼容
2)检验在各种网络连接下(WiFi、GSM、GPS、CDMA等),Application的数据和运用是否正确。
3)与各种设备是否兼容(若有跨系统支持则需要检验是否在各系统下,各种行为是否一致)。
6、安全测试
从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准如PCI(Payment Card Industry)、OSSTMM(Open Source Security Test Methodology Manual)评估Application的安全特性。如采用开源的工具如Nikto等对Application进行穿透测试,以期发现安全问题;
2)借鉴在Web Application和网络安全测试的一些成功经验在智能终端Application测试中进行裁减或适配;检视Application的用户授权级别,数据泄漏,非法授权访问等;
基于OWASP(Open Web Application Security) Top 10所述的原则对Application的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测,以期发现潜在的安全问题;
4)基于各种通信协议或相应的行业安全标准检视Application是否满足相应的要求.
7、Install/Uninstall/Update测试
1)检测软件是否能正确安装卸载;
2)安装卸载过程是否方便;
3)位置和文件夹是否合理;组件是否正确注册或删除;
4)安装过程中出现中断(来电)或进程重启(显示变向)等异常情况下,安装是否正确,卸载时组件是否正确卸载;
5)评估安装/卸载Application及操作前后,CPU、Memory、Storage等系统资源的使用情况。
8、中断测试