手机App测试策略和流程.docx
- 文档编号:25597775
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:20
- 大小:54.36KB
手机App测试策略和流程.docx
《手机App测试策略和流程.docx》由会员分享,可在线阅读,更多相关《手机App测试策略和流程.docx(20页珍藏版)》请在冰豆网上搜索。
手机App测试策略和流程
手机App测试策略和流程
1.引言
本文档是长春吉大正元信息技术股份有限公司东北公司手机APP测试的工作指导原则,它为手机APP测试过程中涉及到的测试方法、测试类型等制定标准做出明确的诠释和说明。
测试部门相关人员以此文档作为测试工作的依据和行为准则。
编写目的
本规范规定了东北公司手机APP测试过程中的活动和步骤。
为公司测试(活动、产品)的实施和过程情况的各项检查提供依据;为度量被测试产品质量提供验证指标和验证方法。
适用范围
适用于长春吉大正元信息技术股份有限公司东北分公司测试部。
适用于:
手机APP项目和产品的系统测试
针对手机APP的验证测试(外包项目)不在此范围之内,如需确保重点项目的手机APP质量度量和评价,需领导特殊审核。
2.测试过程描述
验证测试先决条件
对当前项目测试优先级进行划分:
产品大于项目优先级;
自主项目大于外包项目优先级;
重大项目(领导特批)大于客户化项目;
提前申请优先级大于变更申请优先级。
(例如:
监狱项目提前申请预留或者安排测试员提前介入)
对当前测试版本质量进行评级:
对于不符合测试准入原则的版本予以驳回。
验证测试三天后对提交版本进行质量预评估和评级:
对第一轮发现较严重的问题进行列举,对版本的整体情况进行评估。
(详见BUG清单)对于不能度量质量的项目予以驳回自测试。
(例如:
监狱移动OA项目)。
外埠公司提交测试前。
应附上测试报告(功能测试报告、兼容性测试报告、性能测试报告以及app可用性能标准结果);?
公司内部提交测试前,需附上缺陷记录和修改状态表。
上述有一项不能满足或不能按时提交予以测试驳回。
总结提交测试版本的内部测试情况(测试BUG列表)。
对遗留问题必须列出并记录解决方案。
对性能和稳定性指标要予以详细描述。
测试周期
测试周期可按项目的开发周期来确定测试时间,一般客户化项目手机APP测试时间为三周(即15个工作日),根据项目情况以及版本质量标准可适当缩短或延长测试时间。
正式测试前先向测试部经理确认项目排期。
需提供资源
测试任务开始前,检查各项测试资源是否提交,有两项没有提交予以测试驳回。
--产品功能需求文档;
--产品原型图;
--产品效果图;
--用户使用手册;
--测试设备确认表(例如:
;;及以上;Symbianv3/v5/NokiaBelle等);
轮次报告及产品上线报告
1)测试组长每轮次需对所测项目发送测试阶段报告。
2)测试阶段报告所包含的内容为:
--对当前测试版本质量进行分级;
--对较严重的问题进行例举,提示开发人员优先修改;
--对版本的整体情况进行评估。
3)产品上线前,测试人员发送产品上线报告。
4)上线报告所包含的内容为:
---对当前版本质量进行分级;
---附上测试报告(功能测试报告、兼容性测试报告、性能测试报告以及app可用性能标准结果);
--总结上线版本的基本情况。
若有遗留问题必须列出并记录解决方案。
3.手机APP测试流程框图
测试申请表
并提交文档
按App测试规范、准入原则检查
UI测试:
核对原型图/效果图
上线报告
回归测试
功能测试:
核对需求文档
兼容性测试、性能压力测试
尽快申请到正式环境下测试
后台订单多场景测试
用户行为多场景测试
尽快申请到正式环境下测试
Fail
Pass
仍然为测试环境
进入正式环境
Fail
Pass
功能测试
安全测试
软件权限
1)扣费风险:
包括发送短信、拨打电话、连接网络等(是否有在线支付和扣费功能等);
2)隐私泄露风险:
包括访问手机信息、访问联系人信息等;
3)对App的输入有效性校验、认证(证书切换)、授权、敏感数据存储、数据加密等方面进行检测;
4)限制/允许使用手机功能接入互联网;
5)限制/允许使用手机发送接受信息功能;
6)限制/允许应用程序来注册自动启动应用程序;
7)限制或使用本地连接;
8)限制/允许使用手机拍照或录音(是否有定位服务和语音输入,以及上传附件图片等);
9)限制/允许使用手机写人用户数据;
10)检测App的用户授权级别(不同级别)、数据泄漏、非法授权访问等;
数据安全性
1)当将密码或其他的敏感数据输入到应用程序时,其不会被储存在设备中,同时密码也不会被解码
2)输入的密码将不以明文形式进行显示
3)密码,信用卡明细,或其他的敏感数据将不被储存在它们预输入的位置上
4)不同的应用程序的个人身份证或密码长度必需至少在4一8个数字长度之间
5)当应用程序填写公文处理意见,或其他的敏感数据时,不以明文形式将数据写到其它单独的文件或者临时文件中。
7)当将敏感数据输人到应用程序时,其不会被储存在设备中
8)备份应该加密,恢复数据应考虑恢复过程的异常通讯中断等,数据恢复后再使用前应该经过校验
11)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作
12)“取消”命令操作能够按照设计要求实现其功能
16)应用程序读和写数据正确。
17)应用程序应当有异常保护。
18)如果数据库中重要的数据正要被重写,应及时告知用户
19)能合理地处理出现的错误
20)意外情况下应提示用户(提示信息明确清楚)
通讯安全性
1)在运行其软件过程中,如果有来电、SMS、EMS、MMS、蓝牙、红外等通讯或充电时,是否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能
2)当创立连接时,应用程序能够处理因为网络连接中断,进而告诉用户连接中断的情况
3)应能处理通讯延时或中断
4)应用程序将保持工作到通讯超时,进而发送给用户一个错误信息指示有连接错误
5)应能处理网络异常和及时将异常情况通报用户
6)应用程序关闭或网络连接不再使用时应及时关闭)断开
7)HTTP、HTTPS覆盖测试
--App和后台服务一般都是通过HTTP来交互的,验证HTTP环境下是否正常;
--公共免费网络环境使用WIFI要能够通过SSL认证来访问网络,需要对使用HTTPClient的library异常作捕获处理。
--实际办公网关环境测试(如:
联通3GVPN等)申请证书,切换证书,输入证书申请密码等情况。
人机接口安全性
1)返回菜单总保持可用
2)命令有优先权顺序
3)声音的设置不影响应用程序的功能
4)应用程序必需利用目标设备适用的全屏尺寸来显示上述内容
5)应用程序必需能够处理不可预知的用户操作,例如错误的操作和同时按下多个键。
安装、卸载测试
验证App是否能正确安装、运行、卸载以及操作过程和操作前后对系统资源的使用情况。
安装
1)软件在不同操作系统(Android各版本、iOS)下安装是否正常。
2)软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。
3)软件安装各个选项的组合是否符合概要设计说明。
4))软件安装向导的UI测试。
5)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理。
6)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)。
7)安装空间不足时是否有相应提示。
8)安装后没有生成多余的目录结构和文件。
9)对于需要通过网络验证之类的安装,在断网情况下尝试一下。
10)还需要对安装手册进行测试,依照安装手册是否能顺利安装。
卸载
1)直接删除安装文件夹卸载是否有提示信息。
2)测试系统直接卸载程序是否有提示信息。
3)测试卸载后文件是否全部删除所有的安装文件夹。
4)卸载过程中出现的意外情况的测试(如死机、断电、重启)。
5)卸载是否支持取消功能,单击取消后软件卸载的情况。
6)系统直接卸载UI测试,是否有卸载状态进度条提示。
评估操作前后,CPU、Memory(内存占用)、Storage(磁盘占用)等系统资源的使用情况。
UI测试
测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。
确保用户界面符合公司或行业的标准。
包括用户友好性、人性化、易操作性测试。
导航测试
1)按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航
2)是否易于导航,导航是否直观
3)是否需要搜索引擎
4)导航帮助是否准确直观
5)导航与页面结构、菜单、连接页面的风格是否一致
图形测试
1)横向比较。
各控件操作方式统一
2)自适应界面设计,内容根据窗口大小自适应
3)页面标签风格是否统一
4)页面是否美观
5)页面的图片应有其实际意义而要求整体有序美观
6)图片质量要高且图片尺寸在设计符合要求的情况下应尽量小
7)界面整体使用的颜色不宜过多
输入内容测试
1)输入框说明文字的内容与系统功能是否一致
2)文字长度是否加以限制
3)文字内容是否表意不明
4)是否有错别字
5)信息是否为中文显示
6)是否有敏感性词汇、关键词
7)是否有敏感性图片,如:
涉及版权、专利、隐私等图片
8)文本域输入的长度和显示是否会遮挡
9)非法字符的校验(全角和半角)
功能测试
根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估功能测试过程:
1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准,若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或准则。
2)根据被测功能点的特性列丼出相应类型的测试用例对其进行覆盖,如;涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。
3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。
运行
1)App安装完成后的试运行,可正常打开软件。
2)App打开测试,是否有加载状态进度提示。
3)App打开速度测试,速度是否符合要求(5秒)。
4)App页面间的切换是否流畅,逻辑是否正确
5)注册(申请证书)
--注册后的提示页面
--前台注册页面和后台的管理页面数据是否一致
--注册后,页面提示信息
6)登录
--使用合法的用户登录系统。
--系统是否允许多次非法的登陆,是否有次数限制。
--使用已经登录的账号登陆系统是否正确处理。
--使用禁用的账号登陆系统是否正确处理。
--用户名、口令(密码)错误或漏填时能否登陆。
--删除或修改后的用户,原用户登陆。
--不输入用户口令和用户、重复点(确定或取消按钮)是否允许登陆。
--登陆后,页面中登陆信息。
--页面中有注销按钮。
--登陆超时的处理。
7)注销(清理证书)
--注销就有用户证书,新申请的证书,系统能否正确处理。
。
--使用错误的账号、口令、无权限的被禁用的账号进行注销
应用前后台切换
1)APP切换到后台,再回到app,检查是否停留在上一次操作界面。
2)APP切换到后台,再回到app,检查功能及应用状态是否正常,IOS4和IOS5的版本的处理机制有的不一样。
3)app切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
4)手机锁屏解屏后进入app注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
5)当App使用过程中有电话进来中断后再切换到app,功能状态是否正常
6)当杀掉app进程后,再开启app,app能否正常启动。
7)出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
8)对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。
9锁屏后再解屏回到应用前台可以正常浏览
10)在对服务端的数据有更新时会给予离线的相应提示
切换访问
1)切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。
2)根据MTOP的现有规则,一个帐户只允许登录一台机器。
所以,需要检查一个帐户登录多台手机的情况。
原手机里的用户需要被踢出,给出友好提示。
3)app切换到后台,再切回前台的校验
4)切换到后台,再切换回前台的测试
5)密码更换后,检查有数据交换时是否进行了有效身份的校验
6)检查用户主动退出登录后,下次启动app,应停留在登录界面
数据更新(效率检查点)
根据应用的业务规则,以及数据更新量的情况,来确定最优的数据更新方案。
1)需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动刷新。
2)确定哪些地方从后台切换回前台时需要进行数据更新。
3)根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。
4)确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。
5)检查有数据交换的地方,均有相应的异常处理。
App更新
1)当客户端有新版本时,有更新提示。
2)当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。
用户在下次启动app时,仍能出现更新提示。
3)当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。
下次启动app时,仍出现强制升级提示。
4)当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
5)当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。
6)当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。
如果以上无法更新成功的,也都属于缺陷。
定位、照相机服务
1)有用到定位服务、照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常。
2)当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。
当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。
3)测试定位、照相机服务时,需要采用真机进行测试。
时间测试
客户端可以自行设置手机的时区、时间,因此需要校验该设置对app的影响。
--中国为东8区,所以当手机设置的时间非东8区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。
时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比较好。
比如发表一篇微博在服务端记录的是10:
00,此时,华盛顿时间为22:
00,客户端去浏览时,如果设置的是华盛顿时间,则显示的发表时间即为22:
00,当时间设回东8区时间时,再查看则显示为10:
00。
测试(效率检查点)
1)检查push消息是否按照指定的业务规则发送
2)检查不接受推送消息时,检查用户不会再接收到push.
3)如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。
在非免打扰时间段,用户能正常收到push。
4)当push消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其它人的消息推送过来。
一般情况下,只对手机上最后一个登录用户进行消息推送。
5)测试push时,需要采用真机进行测试。
性能测试
评估App的时间和空间特性:
1)响应能力测试:
测试App中的各类操作是否满足用户响应时间要求。
--App登录,数据刷新,PUSH的响应时间
--App各类功能性操作的影响时间
2)压力测试:
反复/长期操作下、系统资源是否占用异常。
--App反复进行安装卸载,查看系统资源是否正常
--其他功能反复进行操作,查看系统资源是否正常
3)性能评估:
评估典型(真实)用户应用场景下,系统资源的使用情况。
稳定性测试:
【不同网络、不同软硬件系统下】
(1)客户端可稳定运行的时间、以及长时间操作后的流量消耗和内存消耗;
(2)性能测试指标:
【真实环境下的各级部署,不同网络下3GWIFI】界面流畅性、界面切换时间、占用的内存数、服务器返回数据消耗流量大小及数据的返回时间;
交叉事件测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法。
交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。
如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。
交叉事件测试非常重要,能发现很多应用中潜在的性能问题。
1)多个App同时运行是否影响正常功能
2)
3)App运行时前/后台切换是否影响正常功能
4)
5)App运行时拨打/接听电话
6)
7)App运行时发送/接收信息
8)
9)App运行时发送/收取邮件
10)
11)App运行时切换网络(2G、3G、wifi)
12)
13)App运行时浏览网络
14)
15)App运行时使用蓝牙传送/接收数据
16)
17)App运行时使用相机、计算器、QQ、微信等手机自带功能,是否有冲突和效率影响。
18)
兼容测试
主要测试内部和外部兼容性
1)与本地及主流App是否兼容(QQ、微信)
2)基于开发环境和实际环境的不同,检验在各种网络连接下(WiFi、3G、VPN等),App的数据和运用是否正确。
3)与各种设备(客户要求的各种设备类型)是否兼容,若有跨系统支持则需要检验是否在各系统下,各种行为是否一致
--不同操作系统的兼容性,是否适配
--不同手机屏幕分辨率的兼容性
--不同手机品牌的兼容性
回归测试
1)Bug修复后且在新版本发布后需要进行回归测试。
2)Bug修复后的回归测试在交付前、要进行全量用例的回归测试。
升级、更新测试
新版版发布后,配合不同网络环境的自劢更新提示及下载、安装、更新、启劢、运行的验证测试。
1)测试升级后的功能是否与需求说明一样
2)测试与升级模块相关的模块的功能是否与需求一致
3)升级安装意外情况的测试(如死机、断电、重启)
4)升级界面的UI测试
5)不同操作系统间的升级测试
用户体验测试
以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。
通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性提出修改意见提升产品的潜在客户满意度。
1)是否有空数据界面设计,引导用户去执行操作。
2)是否滥用用户引导。
3)是否有不可点击的效果,如:
你的按钮此时处于不可用状态,那么一定要灰掉,或者拿掉按钮,否则会给用户误导
4)菜单层次是否太深
5)交互流程分支是否太多
6)相关的选项是否离得很远
7)一次是否载入太多的数据
8)界面中按钮可点击范围是否适中
9)标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换
10)操作应该有主次从属关系
11)是否定义Back的逻辑。
涉及软硬件交互时,Back键应具体定义
12)是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计
5、环境测试
手势操作测试
1)手机开锁屏对运行中的App的影响
2)切换网络对运行中的App的影响
3)运行中的App前后台切换的影响
4)多个运行中的App的切换
5)App运行时关机
6)App运行时重启系统
7)App运行时充电
8)App运行时kill掉进程再打开
网络环境
手机的网络目前主要分为2G、3G、wifi。
目前2G的网络相对于比较慢,测试时尤其要注意此块的测试。
1)无网络时,执行需要网络的操作,给予友好提示,确保程序不出现crash。
2)内网测试时,要注意选择到外网操作时的异常情况处理。
3)在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash。
4)在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。
如遇数据交换失败时要给予提示。
5)在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常情况。
此问题也会经常出现程序crash。
容错性测试
后台服务牵涉到DNS、空间服务商的情况下会影响其稳定性,如:
当出现域名解析故障时,你对后台API的请求很可能就会出现404错误,抛出异常。
这时需要对异常进行正确的处理,否则可能会导致程序不能正常工作。
接口测试
服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。
此块测试可以采用itest框架进行测试。
也可采用httpclient进行接口测试。
数据一致性测试
1)一般的增、删、改、查测试。
2)当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保存。
3)在业务需要从服务端取回数据保存到客户端的时候,客户端能否将数据保存到本地。
4)当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?
检查客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端
5)当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。
稳定性测试
【不同网络、不同软硬件系统下】
客户端可稳定运行的时间、以及长时间操作后的流量消耗和内存消耗;
【不同网络下】
性能测试指标:
界面流畅性、界面切换时间、占用的内存数、服务器返回数据消耗流量大小及数据的返回时间;
6手机测试工具与方法
手机测试方法
(1)使用android系统自带的工具monkey,monkeyrunner进行自动化测试,测试程序的稳定性,健壮性。
(2)使用adbshell命令查看CPU,内存等使用信息
(3)流量统计使用TrafficStats类来获取下行流量值;
(4)响应时间通过判断activity的状态和日志中记录的时间戳来获取响应时间段;
(5)内存通过解析dumpsys命令返回内容,截取我们需要的值进行分析;
(6)电量统计android系统提供查看。
手机性能测试工具
(1)monkey工具
Android提供,此工具用来向用户发送随机模拟事件,进行monkey测试,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性。
(2)monkeyrunner工具:
是android官方提供的一套基于UI的测试工具,它主要通过adb通讯连接,从PC上模拟用户操作消息发送给手机,触发手机发生指定的动作。
该工具可以提供的用户时间模拟,包括按键和触屏。
另外增加了截图的功能,使用者可以通过编写脚本自动设计测试方法,对手机进行测试。
它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手机 App 测试 策略 流程
![提示](https://static.bdocx.com/images/bang_tan.gif)