资源描述
word手机App测试策略和流程目录1.引言2编写目的2适用X围22.测试过程描述2验证测试先决条件2测试周期3需提供资源3轮次报告与产品上线报告33.手机APP测试流程框图4功能测试5安全测试5软件权限5数据安全性5通讯安全性6人机接口安全性6安装、卸载测试6安装6卸载74.3 UI测试7导航测试7图形测试7输入内容测试7功能测试8运行8应用前后台切换9切换访问9数据更新效率检查点94.4.6 App更新10定位、照相机服务10时间测试10测试效率检查点10性能测试114.6稳定性测试:【不同网络、不同软硬件系统下】11交叉事件测试11兼容测试11回归测试12升级、更新测试12用户体验测试125、环境测试13手势操作测试135.2 网络环境13容错性测试13接口测试135.5 数据一致性测试14稳定性测试146 手机测试工具与方法14手机测试方法14手机性能测试工具14本文档是某某吉大正元信息技术股份某某东北公司手机APP测试的工作指导原如此,它为手机APP测试过程中涉与到的测试方法、测试类型等制定标准做出明确的诠释和说明。测试部门相关人员以此文档作为测试工作的依据和行为准如此。本规X规定了东北公司手机APP测试过程中的活动和步骤。为公司测试活动、产品的实施和过程情况的各项检查提供依据;为度量被测试产品质量提供验证指标和验证方法。适用于某某吉大正元信息技术股份某某东北分公司测试部。适用于:手机APP项目和产品的系统测试针对手机APP的验证测试外包项目不在此X围之内,如需确保重点项目的手机APP质量度量和评价,需领导特殊审核。2.测试过程描述l 对当前项目测试优先级进展划分: 产品大于项目优先级; 自主项目大于外包项目优先级; 重大项目领导特批大于客户化项目; 提前申请优先级大于变更申请优先级。(例如:监狱项目提前申请预留或者安排测试员提前介入)l 对当前测试版本质量进展评级:对于不符合测试准入原如此的版本予以驳回。l 验证测试三天后对提交版本进展质量预评估和评级:对第一轮发现较严重的问题进展列举,对版本的整体情况进展评估。详见BUG清单对于不能度量质量的项目予以驳回自测试。例如:监狱移动OA项目。l 外埠公司提交测试前。应附上测试报告功能测试报告、兼容性测试报告、性能测试报告以与app可用性能标准结果;公司内部提交测试前,需附上缺陷记录和修改状态表。 上述有一项不能满足或不能按时提交予以测试驳回。l 总结提交测试版本的内部测试情况测试BUG列表。对遗留问题必须列出并记录解决方案。对性能和稳定性指标要予以详细描述。测试周期可按项目的开发周期来确定测试时间,一般客户化项目手机APP测试时间为三周即15个工作日,根据项目情况以与版本质量标准可适当缩短或延长测试时间。正式测试前先向测试部经理确认项目排期。2.3需提供资源测试任务开始前,检查各项测试资源是否提交,有两项没有提交予以测试驳回。-产品功能需求文档;-产品原型图;-产品效果图;-用户使用手册;-测试设备确认表例如:ios3.1.3-ios5.0.1;Android1.6-Android4.0;Winphone7.1与以上;Symbian v3/v5/Nokia Belle等;1测试组长每轮次需对所测项目发送测试阶段报告。2测试阶段报告所包含的内容为:-对当前测试版本质量进展分级;-对较严重的问题进展例举,提示开发人员优先修改;-对版本的整体情况进展评估。3产品上线前,测试人员发送产品上线报告。4上线报告所包含的内容为:-对当前版本质量进展分级;-附上测试报告功能测试报告、兼容性测试报告、性能测试报告以与app可用性能标准结果;-总结上线版本的根本情况。假如有遗留问题必须列出并记录解决方案。测试申请表并提交文档尽快申请到正式环境下测试Fail按App测试规X、准入原如此检查 PassUI测试:核对原型图/效果图用户行为多场景测试后台订单多场景测试尽快申请到正式环境下测试兼容性测试、性能压力测试功能测试:核对需求文档仍然为测试环境回归测试进入正式环境Fail 上线报告Pass4.1安全测试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) 、S覆盖测试-App和后台服务一般都是通过来交互的,验证环境下是否正常;-公共免费网络环境使用WIFI要能够通过SSL认证来访问网络,需要对使用 Client的library异常作捕获处理。-实际办公网关环境测试如:联通3G VPN等 申请证书,切换证书,输入证书申请密码等情况。人机接口安全性1返回菜单总保持可用2命令有优先权顺序3声音的设置不影响应用程序的功能4应用程序必需利用目标设备适用的全屏尺寸来显示上述内容5应用程序必需能够处理不可预知的用户操作, 例如错误的操作和同时按下多个键。4.2安装、卸载测试验证App是否能正确安装、运行、卸载以与操作过程和操作前后对系统资源的使用情况。1软件在不同操作系统Android各版本、iOS下安装是否正常。2软件安装后的是否能够正常运行,安装后的文件夹与文件是否写到了指定的目录里。3软件安装各个选项的组合是否符合概要设计说明。4)软件安装向导的UI测试。5软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理。6软件安装过程中意外情况的处理是否符合需求如死机,重启,断电。7安装空间不足时是否有相应提示。8安装后没有生成多余的目录结构和文件。9对于需要通过网络验证之类的安装,在断网情况下尝试一下。10还需要对安装手册进展测试,依照安装手册是否能顺利安装。1直接删除安装文件夹卸载是否有提示信息。2测试系统直接卸载程序是否有提示信息。3测试卸载后文件是否全部删除所有的安装文件夹。4卸载过程中出现的意外情况的测试如死机、断电、重启。5卸载是否支持取消功能,单击取消后软件卸载的情况。6系统直接卸载UI测试,是否有卸载状态进度条提示。评估操作前后,CPU、Memory内存占用、Storage磁盘占用等系统资源的使用情况。4.3 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)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,与时修正业务或需求理解错误。1App安装完成后的试运行,可正常打开软件。2App打开测试,是否有加载状态进度提示。3App打开速度测试,速度是否符合要求5秒。4App页面间的切换是否流畅,逻辑是否正确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) 检查有数据交换的地方,均有相应的异常处理。4.4.6 App更新1) 当客户端有新版本时,有更新提示。2) 当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动app时,仍能出现更新提示。3) 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动app时,仍出现强制升级提示。4) 当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。5) 当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。6) 当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。如果以上无法更新成功的,也都属于缺陷。定位、照相机服务1) 有用到定位服务、照相机服务的地方,需要进展前后台的切换测试,检查应用是否正常。2) 当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。3) 测试定位、照相机服务时,需要采用真机进展测试。时间测试客户端可以自行设置手机的时区、时间,因此需要校验该设置对app的影响。-中国为东8区,所以当手机设置的时间非东8区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比拟好。比如发表一篇微博在服务端记录的是10:00,此时,华盛顿时间为22:00,客户端去浏览时,如果设置的是华盛顿时间,如此显示的发表时间即为22:00,当时间设回东8区时间时,再查看如此显示为10:00。PUSH测试效率检查点1) 检查push消息是否按照指定的业务规如此发送2) 检查不承受推送消息时,检查用户不会再接收到push. 3) 如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。在非免打扰时间段,用户能正常收到push。4) 当push消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其它人的消息推送过来。一般情况下,只对手机上最后一个登录用户进展消息推送。5) 测试push时,需要采用真机进展测试。评估App的时间和空间特性 :1)响应能力测试:测试App中的各类操作是否满足用户响应时间要求 。-App登录,数据刷新,PUSH的响应时间-App各类功能性操作的影响时间2)压力测试:反复/长期操作下、系统资源是否占用异常。-App反复进展安装卸载,查看系统资源是否正常-其他功能反复进展操作,查看系统资源是否正常3)性能评估:评估典型(真实)用户应用场景下,系统资源的使用情况。4.6稳定性测试:【不同网络、不同软硬件系统下】1客户端可稳定运行的时间、以与长时间操作后的流量消耗和内存消耗;2性能测试指标:【真实环境下的各级部署,不同网络下3G WIFI】界面流畅性、界面切换时间、占用的内存数、服务器返回数据消耗流量大小与数据的返回时间;针对智能终端应用的服务等级划分方式与实时特性所提出的测试方法。交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进展干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。1) 多个App同时运行是否影响正常功能2) App运行时前/后台切换是否影响正常功能3) App运行时拨打/接听4) App运行时发送/接收信息5) App运行时发送/收取6) App运行时切换网络2G、3G、wifi7) App运行时浏览网络8) App运行时使用蓝牙传送/接收数据9) App运行时使用相机、计算器、QQ、微信等手机自带功能,是否有冲突和效率影响。主要测试内部和外部兼容性1与本地与主流App是否兼容QQ、微信2基于开发环境和实际环境的不同,检验在各种网络连接下(WiFi、3G、VPN等),App的数据和运用是否正确。3与各种设备客户要求的各种设备类型是否兼容,假如有跨系统支持如此需要检验是否在各系统下,各种行为是否一致 -不同操作系统的兼容性,是否适配-不同手机屏幕分辨率的兼容性-不同手机品牌的兼容性1Bug修复后且在新版本发布后需要进展回归测试。2Bug修复后的回归测试在交付前、要进展全量用例的回归测试。4.10升级、更新测试新版版发布后,配合不同网络环境的自劢更新提示与下载、安装、更新、启劢、运行的验证测试。1测试升级后的功能是否与需求说明一样2测试与升级模块相关的模块的功能是否与需求一致3升级安装意外情况的测试如死机、断电、重启4升级界面的UI测试5不同操作系统间的升级测试以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性提出修改意见提升产品的潜在客户满意度。1是否有空数据界面设计,引导用户去执行操作。2是否滥用用户引导。3是否有不可点击的效果,如:你的按钮此时处于不可用状态,那么一定要灰掉,或者拿掉按钮,否如此会给用户误导4菜单层次是否太深5交互流程分支是否太多6相关的选项是否离得很远7一次是否载入太多的数据8界面中按钮可点击X围是否适中9标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换10操作应该有主次从属关系11是否认义Back的逻辑。涉与软硬件交互时,Back键应具体定义12是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计5、环境测试5.1手势操作测试1手机开锁屏对运行中的App的影响2切换网络对运行中的App的影响3运行中的App前后台切换的影响4多个运行中的App的切换5App运行时关机6App运行时重启系统7App运行时充电8App运行时kill掉进程再打开5.2 网络环境手机的网络目前主要分为2G、3G、wifi。目前2G的网络相对于比拟慢,测试时尤其要注意此块的测试。1) 无网络时,执行需要网络的操作,给予友好提示,确保程序不出现crash。2) 内网测试时,要注意选择到外网操作时的异常情况处理。3) 在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash。4) 在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如遇数据交换失败时要给予提示。5) 在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常情况。此问题也会经常出现程序crash。5.3容错性测试后台服务牵涉到DNS、空间服务商的情况下会影响其稳定性,如:当出现域名解析故障时,你对后台API的请求很可能就会出现404错误,抛出异常。这时需要对异常进展正确的处理,否如此可能会导致程序不能正常工作。服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进展接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。此块测试可以采用itest框架进展测试。也可采用client进展接口测试。5.5 数据一致性测试1一般的增、删、改、查测试。2当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保存。3在业务需要从服务端取回数据保存到客户端的时候,客户端能否将数据保存到本地。4当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端5当业务对数据进展了修改、删除后,客户端和服务端是否会有相应的更新。【不同网络、不同软硬件系统下】客户端可稳定运行的时间、以与长时间操作后的流量消耗和内存消耗;【不同网络下】性能测试指标: 界面流畅性、界面切换时间、占用的内存数、服务器返回数据消耗流量大小与数据的返回时间;6 手机测试工具与方法1使用 android 系统自带的工具 monkey,monkeyrunner进展自动化测试,测试程序的稳定性,健壮性。2使用adb shell 命令查看 CPU,内存等使用信息3流量统计使用TrafficStats类来获取下行流量值;4响应时间通过判断 activity 的状态和日志中记录的时间戳来获取响应时间段;5内存通过解析dumpsys命令返回内容,截取我们需要的值进展分析;6电量统计 android 系统提供查看。1monkey 工具Android 提供,此工具用来向用户发送随机模拟事件,进展 monkey 测试, monkey 主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性。2monkeyrunner工具:是 android 官方提供的一套基于 UI 的测试工具,它主要通过adb通讯连接,从 PC 上模拟用户操作消息发送给手机,触发手机发生指定的动作。该工具可以提供的用户时间模拟,包括按键和触屏。另外增加了截图的功能,使用者可以通过编写脚本自动设计测试方法,对手机进展测试。它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。22 / 22
展开阅读全文