手机上的app分为基于HTML5的app(类似于pc上的b/S应用)和本地app(类似于C/S结构)。
所以
测试上我们也可以充分吸收
web的b/s和c/s测试经验。但是不同于pc上的应用测试,手机上的测试有其独特性
测试前的思考:我们这个产品主要是做什么的?为什么我要做这个产品?市场上有那些同类型的产品?
测试前的准备:1.使用同类型的产品,不仅仅是使用,应该是测试同类型的产品。2.熟悉我们产品的spec文档,积极和pm交流。3,写
测试用例,没有时间至少要有一个checklist。
1.功能
a.基本功能,主要指app是否完成了设计的所有功能。分清模块,写一份checklist,避免漏测。考虑横竖屏切换,不过很多app现在只支持竖屏。
b.系统交互:电话短信干扰,低电量提醒,push提醒,usb数据线插拔提醒,充电提醒等,
2.性能:稳定性,兼用型(android碎片化是个难题,bug也多,ios相对bug少),app运行的内存消耗和cpu消耗,app后台长时间运行的耗流量,耗电量。
推荐testin这个第三方平台,对android兼用性测试比较有帮助。
3.易用性:面是否吸引人、容易理解。界面整洁、简单。无错别字。点击范围确定等。这部分测试中,如果测试认为有不合理的地方通常会提交需求bug。
4.外场:网络切换,网络信号强,弱下的app运行情况。
移动互联网App测试点包括:
1)软件权限
-扣费风险:包括发送短信、拨打电话、连接网络等
-隐私泄露风险:包括访问
手机信息、访问联系人信息等
-新增风险项
2)开发者官方权限列表信息比对分析
2.安装、运行、卸载测试
验证App是否能正确安装、运行、卸载,以及操作过程和操作前后对系统资源的使用情况,主要包括:
1)检测软件是否能正确安装、运行、卸载;
2)安装、卸载、更新错误报告;
3)其他辅助信息:
-位置和文件夹是否合理;
-组件是否正确注册或删除;
-评估操作前后,CPU、Memory(内存占用)、Storage(磁盘占用)等系统资源的使用情况。
3.UI测试
测试用户界面(如菜单、对话框、窗口和其它可视控件)布局、风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
4.功能测试
根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估
功能测试过程:
1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准(若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或规则)。
2)根据被测功能点的特性列举出相应类型的
测试用例对其进行覆盖,如:涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。
3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。
5.性能测试
评估App的时间和空间特性
1)极限测试:在各种边界压力情况下(如电池、存储、网速等),验证App是否能正确响应。
2)响应能力测试:测试App中的各类操作是否满足用户响应时间要求
3)压力测试:反复/长期操作下,系统资源是否占用异常;
4)性能评估:评估典型用户应用场景下,系统资源的使用情况。
5)Benchmark测试(基线测试):与竞争产品的Benchmarking,产品演变对比测试等。
6.中断测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法,如:App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。
7.兼容测试
主要测试内部和外部兼容性,包括:
与本地及主流App是否兼容; 检验在各种网络连接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的数据和运用是否正确;
与各种设备是否兼容(若有跨系统支持则需要检验是否在各系统下,各种行为是否一致)。
8.安全测试
安全测试显得尤为重要,粗心、不谨慎的数据存储或传输方式使得非法、恶意目的有可乘之机。
智能终端安全涉及各信息交互、存储接点,借鉴于网络传输和相关安全测试经验,App安全测试大概划分为以下几类:
1)从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准/行业标准评估App的安全特性;
2)借鉴在Web App和网络安全测试的一些成功经验在智能终端App测试中进行裁减或适配;
3)检测App的用户授权级别,数据泄漏,非法授权访问等;
4)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测,以期发现潜在的安全问题;
5)基于各种通信协议或相应的行业安全标准检视App是否满足相应的要求