1、1 APP测试基础步骤1.1步骤图立即申请到正式环境下测试接收版本不符App测试版本送测规范用户行为统计测试后台订单统计测试立即申请到正式环境下测试兼容性测试、性能压力测试功效测试:查对需求文档UI测试:查对rp/效果图 符合回归测试仍然为测试环境 进入正式环境发送上线汇报FailPass1.2测试周期测试周期可按项目标开发周期来确定测试时间,通常测试时间为两三周(即15个工作日),依据项目情况和版本质量可合适缩短或延长测试时间。正式测试前先向主管确定项目排期。1.3测试资源测试任务开始前,检验各项测试资源。-产品功效需求文档;-产品原型图;-产品效果图;-行为统计分析定义文档;-测试设备(i
2、os3.1.3-ios5.0.1;Android1.6-Android4.0;Winphone7.1及以上;Symbian v3/v5/Nokia Belle等);-其它。1.4日报及产品上线汇报1)测试人员天天需对所测项目发送测试日报。2)测试日报所包含内容为:-对目前测试版本质量进行分级;-对较严重问题进行例举,提醒开发人员优先修改;-对版本整体情况进行评定。3)产品上线前,测试人员发送产品上线汇报。4)上线汇报所包含内容为:-对目前版本质量进行分级;-附上测试汇报(功效测试汇报、兼容性测试汇报、性能测试汇报和app可用性能标准结果);-总结上线版本基础情况。若有遗留问题必需列出并统计处理
3、方案。2 App测试点2.1安全测试 2.1.1软件权限 1)扣费风险:包含发送短信、拨打电话、连接网络等 2)隐私泄露风险:包含访问手机信息、访问联络人信息等 3)对App输入有效性校验、认证、授权、敏感数据存放、数据加密等方面进行检测4)限制/许可使用手机功效接人互联网5)限制/许可使用手机发送接收信息功效6)限制/许可应用程序来注册自动开启应用程序7)限制或使用当地连接8)限制/许可使用手机拍照或录音9)限制/许可使用手机读取用户数据10) 限制/许可使用手机写人用户数据11) 检测App用户授权等级、数据泄漏、非法授权访问等2.1.2安装和卸载安全性1)应用程序应能正确安装到设备驱动程
4、序上2)能够在安装设备驱动程序上找到应用程序对应图标3)是否包含数字署名信息4)JAD文件和JAR包中包含全部托管属性及其值必需是正确5)JAD文件显示资料内容和应用程序显示资料内容应一致6)安装路径应能指定7)没有用户许可, 应用程序不能预先设定自动开启8)卸载是否安全, 其安装进去文件是否全部卸载9)卸载用户使用过程中产生文件是否有提醒10)其修改配置信息是否复原11)卸载是否影响其它软件功效12)卸载应该移除全部文件2.1.3数据安全性1)当将密码或其它敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码2)输人密码将不以明文形式进行显示3)密码, 信用卡明细, 或其
5、它敏感数据将不被储存在它们预输人位置上4)不一样应用程序个人身份证或密码长度必需最少在4一8 个数字长度之间5)当应用程序处理信用卡明细, 或其它敏感数据时, 不以明文形式将数据写到其它单独文件或临时文件中。以6)预防应用程序异常终止而又没有侧除它临时文件, 文件可能遭受人侵者攻击, 然后读取这些数据信息。7)当将敏感数据输人到应用程序时, 其不会被储存在设备中8)备份应该加密, 恢复数据应考虑恢复过程异常通讯中止等, 数据恢复后再使用前应该经过校验9)应用程序应考虑系统或虚拟机器产生用户提醒信息或安全替告10)应用程序不能忽略系统或虚拟机器产生用户提醒信息或安全警告, 更
6、不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户11)在数据删除之前,应用程序应该通知用户或应用程序提供一个“取消”命令操作12)“ 取消” 命令操作能够根据设计要求实现其功效13)应用程序应该能够处理当不许可应用软件连接到个人信息管理情况14)当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误提醒信息15)在没有用户明确许可前提下不损坏侧除个人信息管理应用程序中任何内容16)应用程序读和写数据正确。17)应用程序应该有异常保护。18)假如数据库中关键数据正要被重写, 应立即通知用户19)能合理地处理出现错误20)意外情况下应提醒用户2.1
7、.4通讯安全性1)在运行其软件过程中, 假如有来电、SMS、EMS、MMS、蓝牙、红外等通讯或充电时, 是否能暂停程序,优先处理通信, 并在处理完成后能正常恢复软件, 继续其原来功效2)当创建连接时, 应用程序能够处理因为网络连接中止, 进而告诉用户连接中止情况3)应能处理通讯延时或中止4)应用程序将保持工作到通讯超时, 进而发送给用户一个错误信息指示有连接错误5)应能处理网络异常和立即将异常情况通报用户6)应用程序关闭或网络连接不再使用时应立即关闭) 断开7) HTTP、HTTPS覆盖测试-App和后台服务通常全部是经过HTTP来交互,验证HTTP环境下是否正常;-公共无偿网络环境中(如:麦
8、当劳、星巴克等)全部要输入用户名和密码,经过SSL认证来访问网络,需要对使用HTTP Clientlibrary异常作捕捉处理。2.1.5人机接口安全性1)返回菜单总保持可用2)命令有优先权次序3)声音设置不影响应用程序功效4)应用程序必需利用目标设备适用全屏尺寸来显示上述内容5)应用程序必需能够处理不可预知用户操作, 比如错误操作和同时按下多个键2.2安装、卸载测试验证App是否能正确安装、运行、卸载和操作过程和操作前后对系统资源使用情况2.2.1安装1)软件在不一样操作系统(Palm OS、Symbian、Linux、Android、iOS、Black Berry OS 6.0、Windo
9、ws Phone 7)下安装是否正常。2)软件安装后是否能够正常运行,安装后文件夹及文件是否写到了指定目录里。 3)软件安装各个选项组合是否符合概要设计说明 4))软件安装向导UI测试 5)软件安装过程是否能够取消,点击取消后,写入文件是否如概要设计说明处理 6)软件安装过程中意外情况处理是否符合需求(如死机,重启,断电) 7)安装空间不足时是否有对应提醒8)安装后没有生成多出目录结构和文件9)对于需要经过网络验证之类安装,在断网情况下尝试一下10)还需要对安装手册进行测试,依据安装手册是否能顺利安装2.2.2卸载1)直接删除安装文件夹卸载是否有提醒信息。 2)测试系统直接卸载程序是否有提醒信
10、息。 3)测试卸载后文件是否全部删除全部安装文件夹。4)卸载过程中出现意外情况测试(如死机、断电、重启)。 5)卸载是否支持取消功效,单击取消后软件卸载情况 。6)系统直接卸载UI测试,是否有卸载状态进度条提醒 。2.3 UI测试测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足用户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。UI测试目标是确保用户界面会经过测试对象功效来为用户提供对应访问或浏觅功效。确保用户界面符合企业或行业标准。包含用户友好性、人性化、易操作性测试。2.3.1导航测试1)按钮、对话框、列表和窗口等;或在不一样连接页面之间需要导
11、航2)是否易于导航,导航是否直观3)是否需要搜索引擎4)导航帮助是否正确直观5)导航和页面结构、菜单、连接页面风格是否一致2.3.2图形测试1)横向比较。各控件操作方法统一2)自适应界面设计,内容依据窗口大小自适应3)页面标签风格是否统一4)页面是否美观5)页面图片应有其实际意义而要求整体有序美观6)图片质量要高且图片尺寸在设计符合要求情况下应尽可能小7)界面整体使用颜色不宜过多2.3.3内容测试1)输入框说明文字内容和系统功效是否一致2)文字长度是否加以限制3)文字内容是否表意不明4)是否有错别字5)信息是否为汉字显示6)是否有敏感性词汇、关键词7)是否有敏感性图片,如:包含版权、专利、隐私
12、等图片2.4功效测试依据软件说明或用户需求验证App各个功效实现,采取以下方法实现并评定功效测试过程:1)采取时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App用户使用场景,对比说明或需求,整理出内在、外在及非功效直接相关需求,构建测试点,并明确测试标准,若用户需求中无明确标准遵照,则需要参考行业或相关国际标准或准则。2)依据被测功效点特征列丼出对应类型测试用例对其进行覆盖,如;包含输入地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。 3)在测试实现各个阶段跟踪测试实现和需求输入覆盖情况,立即修正业务或需求了解错误。2.4.1运行1)App安
13、装完成后试运行,可正常打开软件。2)App打开测试,是否有加载状态进度提醒。3)App打开速度测试,速度是否可观。4)App页面间切换是否流畅,逻辑是否正确5)注册-同表单编辑页面-用户名密码长度-注册后提醒页面-前台注册页面和后台管理页面数据是否一致-注册后,在后台管理中页面提醒6)登录-使用正当用户登录系统。-系统是否许可数次非法登陆,是否有次数限制。-使用已经登陆账号登陆系统是否正确处理。-使用禁用账号登陆系统是否正确处理。-用户名、口令(密码)错误或漏填时能否登陆。-删除或修改后用户,原用户登陆。-不输入用户口令和用户、反复点(确定或取消按钮)是否许可登陆。-登陆后,页面中登陆信息。-
14、页面中有注销按钮。-登陆超时处理。7)注销-注销原模块,新模块系统能否正确处理。-终止注销能否返回原模块,原用户。-注销原用户,新用户系统能否正确处理。-使用错误账号、口令、无权限被禁用账号进行注销2.4.2应用前后台切换1) APP切换到后台,再回到app,检验是否停留在上一次操作界面。2) APP切换到后台,再回到app,检验功效及应用状态是否正常,IOS4和IOS5版本处理机制有不一样。 3) app切换到后台,再回到前台时,注意程序是否瓦解,功效状态是否正常,尤其是对于从后台切换回前台数据有自动更新时候。 4) 手机锁屏解屏后进入app注意是否会瓦解,功效状态是否正常,尤其是对于从后台
15、切换回前台数据有自动更新时候。 5) 当App使用过程中有电话进来中止后再切换到app,功效状态是否正常 6) 当杀掉app进程后,再开启app,app能否正常开启。 7) 出现必需处理提醒框后,切换到后台,再切换回来,检验提醒框是否还存在,有时候会出现应用自动跳过提醒框缺点。 8) 对于有数据交换页面,每个页面全部必需要进行前后台切换、锁屏测试,这种页面最轻易出现瓦解。2.4.3免登录很多应用提供免登录功效,当应用开启时自动以上一次登录用户身份来使用app. 1) app有免登录功效时,需要考虑IOS版本差异。 2) 考虑无网络情况时能否正常进入免登录状态。 3) 切换用户登录后,要校验用户
16、登录信息及数据内容是否对应更新,确保原用户退出。 4) 依据MTOP现有规则,一个帐户只许可登录一台机器。所以,需要检验一个帐户登录多台手机情况。原手机里用户需要被踢出,给出友好提醒。 5) app切换到后台,再切回前台校验 6) 切换到后台,再切换回前台测试 7) 密码更换后,检验有数据交换时是否进行了有效身份校验 8) 支持自动登录应用在进行数据交换时,检验系统是否能自动登录成功而且数据操作无误。 9) 检验用户主动退出登录后,下次开启app,应停留在登录界面2.4.4数据更新 依据应用业务规则,和数据更新量情况,来确定最优数据更新方案。 1) 需要确定哪些地方需要提供手动刷新,哪些地方需
17、要自动刷新,哪些地方需要手动+自动刷新。 2) 确定哪些地方从后台切换回前台时需要进行数据更新。 3) 依据业务、速度及流量合理分配,确定哪些内容需要实时更新,哪些需要定时更新。 4) 确定数据展示部分处理逻辑,是每次从服务端请求,还是有缓存到当地,这么才能有针对性进行对应测试。 5) 检验有数据交换地方,全部有对应异常处理。 2.4.5离线浏览 很多应用会支持离线浏览,即在当地用户端会缓存一部分数据供用户查看。 1) 在无网络情况能够浏览当地数据 2) 退出app再开启app时能正常浏览 3) 切换到后台再切回前台能够正常浏览 4) 锁屏后再解屏回到应用前台能够正常浏览 5) 在对服务端数据
18、有更新时会给离线对应提醒 2.4.6 App更新1) 当用户端有新版本时,有更新提醒。 2) 当版本为非强制升级版时,用户能够取消更新,老版本能正常使用。用户在下次开启app时,仍能出现更新提醒。 3) 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出用户端。下次开启app时,仍出现强制升级提醒。 4) 当用户端有新版本时,在当地不删除用户端情况下,直接更新检验是否能正常更新。5) 当用户端有新版本时,在当地不删除用户端情况下,检验更新后用户端功效是否是新版本。 6) 当用户端有新版本时,在当地不删除用户端情况下,检验资源同名文件图片是否能正常更新成最新版本。假如以上无法更新成功,
19、也全部属于缺点。 2.4.7定位、摄影机服务 1) App有用到相机,定位服务时,需要注意系统版本差异 2) 有用到定位服务、摄影机服务地方,需要进行前后台切换测试,检验应用是否正常。 3) 当定位服务没有开启时,使用定位服务,会友好性弹出是否许可设置定位提醒。当确定许可开启定位时,能自动跳转到定位设置中开启定位服务。 4) 测试定位、摄影机服务时,需要采取真机进行测试。2.4.8时间测试 用户端能够自行设置手机时区、时间,所以需要校验该设置对app影响。 -中国为东8区,所以当手机设置时间非东8区时,查看需要显示时间地方,时间是否展示正确,应用功效是否正常。时间通常需要依据服务器时间再转换成
20、用户端对应时区来展示,这么用户体验比很好。比如发表一篇微博在服务端统计是10:00,此时,华盛立即间为22:00,用户端去浏览时,假如设置是华盛立即间,则显示发表时间即为22:00,当初间设回东8区时间时,再查看则显示为10:00。2.4.9 PUSH测试1) 检验push消息是否根据指定业务规则发送 2) 检验不接收推送消息时,检验用户不会再接收到push. 3) 假如用户设置了免打搅时间段,检验在免打搅时间段内,用户接收不到PUSH。在非免打搅时间段,用户能正常收到push。4) 当push消息是针对登录用户时候,需要检验收到push和用户身份是否相符,没有错误地将其它人消息推送过来。通常
21、情况下,只对手机上最终一个登录用户进行消息推送。 5) 测试push时,需要采取真机进行测试。 2.5性能测试 评定App时间和空间特征 :1)极限测试:在多种边界压力情况下,如电池、存放、网速等,验证App是否能正确响应。 -内存满时安装App-运行App时手机断电-运行App时断掉网络2)响应能力测试:测试App中各类操作是否满足用户响应时间要求 。-App安装、卸载响应时间-App各类功效性操作影响时间3)压力测试:反复/长久操作下、系统资源是否占用异常。-App反复进行安装卸载,查看系统资源是否正常-其它功效反复进行操作,查看系统资源是否正常4)性能评定:评定经典用户应用场景下,系统资
22、源使用情况。5)Benchmark测试(基线测试):和竞争产品Benchmarking, 产品演变对比测试等。2.6交叉事件测试 针对智能终端应用服务等级划分方法及实时特征所提出测试方法。交叉测试又叫事件或冲突测试,是指一个功效正在实施过程中,同时另外一个事件或操作对该过程进行干扰测试。如;App在前/后台运行状态时和来电、文件下载、音乐收听等关键利用交互情况测试等。交叉事件测试很关键,能发觉很多应用中潜在性能问题。1) 多个App同时运行是否影响正常功效2) App运行时前/后台切换是否影响正常功效3) App运行时拨打/接听电话4) App运行时发送/接收信息5) App运行时发送/收取邮
23、件6) App运行时切换网络(2G、3G、wifi)7) App运行时浏览网络8) App运行时使用蓝牙传送/接收数据9) App运行时使用相机、计算器等手机自带设备2.7兼容测试 关键测试内部和外部兼容性1)和当地及主流App是否兼容2)基于开发环境和生产环境不一样,检验在多种网络连接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA、HSPDA等),App数据和利用是否正确3)和多种设备是否兼容,若有跨系统支持则需要检验是否在各系统下,多种行为是否一致 -不一样操作系统兼容性,是否适配-不一样手机屏幕分辨率兼容性-不一样手机品牌兼容性2.8回归测试 1)Bug修复
24、后且在新版本公布后需要进行回归测试。2)Bug修复后回归测试在交付前、要进行全量用例回归测试。2.9升级、更新测试 新版版公布后,配合不一样网络环境自劢更新提醒及下载、安装、更新、启劢、运行验证测试。 1)测试升级后功效是否和需求说明一样 2)测试和升级模块相关模块功效是否和需求一致 3)升级安装意外情况测试(如死机、断电、重启) 4)升级界面UI测试 5)不一样操作系统间升级测试2.10用户体验测试 以主观一般消费者角度去感知产品或服务舒适、有用、易用、友好亲切程度。 经过不一样个体、独立空间和非经验统计复用方法去有效评价产品体验特征提出修改意见提升产品潜在用户满意度。1)是否有空数据界面设
25、计,引导用户去实施操作。2)是否滥用用户引导。3)是否有不可点击效果,如:你按钮此时处于不可用状态,那么一定要灰掉,或拿掉按钮,不然会给用户误导4)菜单层次是否太深5)交互步骤分支是否太多6)相关选项是否离得很远7)一次是否载入太多数据8)界面中按钮可点击范围是否适中9)标签页是否跟内容没有隶属关系,当切换标签时候,内容跟着切换10)操作应该有主次隶属关系11)是否定义Back逻辑。包含软硬件交互时,Back键应具体定义12)是否有横屏模式设计,应用通常需要支持横屏模式,即自适应设计2.11 硬件环境测试2.11.1手势操作测试1)手机开锁屏对运行中App影响2)切换网络对运行中App影响3)
26、运行中App前后台切换影响4)多个运行中App切换5)App运行时关机6)App运行时重启系统7)App运行时充电8)App运行时kill掉进程再打开2.11.2网络环境 手机网络现在关键分为2G、3G、wifi。现在2G网络相对于比较慢,测试时尤其要注意此块测试。1) 无网络时,实施需要网络操作,给友好提醒,确保程序不出现crash。 2) 内网测试时,要注意选择到外网操作时异常情况处理。 3) 在网络信号不好时,检验功效状态是否正常,确保不因提交数据失败而造成crash。 4) 在网络信号不好时,检验数据是否会一直处于提交中状态,有没有超时限制。如遇数据交换失败时要给提醒。 5) 在网络信
27、号不好时,实施操作后,在回调没有完成情况下,退出本页面或实施其它操作情况,有没有异常情况。此问题也会常常出现程序crash。2.11.3服务器宕机或出现404、502等情况下测试后台服务牵涉到DNS、空间服务商情况下会影响其稳定性,如:当出现域名解析故障时,你对后台API请求很可能就会出现404错误,抛出异常。这时需要对异常进行正确处理,不然可能会造成程序不能正常工作。2.12接口测试 服务端通常会提供JSON格式数据给用户端,所以我们在服务端需要进行接口测试,确保服务端提供接口并转换JSON内容正确,对分支、异常流有对应返回值。此块测试能够采取itest框架进行测试。最方便是采取httpclient进行接口测试。 进行服务端测试时,需要开发提供一份接口文档。2.13用户端数据库测试1)通常增、删、改、查测试。2) 当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保留。 3) 在业务需要从服务端取回数据保留到用户端时候,用户端能否将数据保留到当地。 4) 当业务需要从用户端取数据时,检验用户端数据存在时,app数据是否能自动从用户端数据中取出,还是仍然会从服务器端获取?检验用户端数据不存在时,app数据能否自动从服务器端获取到并保留到用户端 5) 当业务对数据进行了修改、删除后,用户端和服务端是否会有对应更新。