1APP测试基本流程1.1流程图不符符合仍然为测试环境进入正式环境FailPass接收版本App测试版本送测规范UI测试:核对rp/效果图功能测试:核对需求文档兼容性测试、性能压力测试尽快申请到正式环境下测试后台订单统计测试用户行为统计测试发送上线报告回归测试1.2测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。1.3测试资源测试任务开始前,检查各项测试资源。--产品功能需求文档;--产品原型图;--产品效果图;--行为统计分析定义文档;--测试设备(ios3.1.3-ios5.0.1;Android1.6-Android4.0;Winphone7.1及以上;Symbianv3/v5/NokiaBelle等);--其他。1.4日报及产品上线报告1)测试人员每天需对所测项目发送测试日报。2)测试日报所包含的内容为:--对当前测试版本质量进行分级;--对较严重的问题进行例举,提示开发人员优先修改;--对版本的整体情况进行评估。3)产品上线前,测试人员发送产品上线报告。4)上线报告所包含的内容为:---对当前版本质量进行分级;---附上测试报告(功能测试报告、兼容性测试报告、性能测试报告以及app可用性能标准结果);--总结上线版本的基本情况。若有遗留问题必须列出并记录解决方案。2App测试点2.1安全测试2.1.1软件权限1)扣费风险:包括发送短信、拨打电话、连接网络等2)隐私泄露风险:包括访问手机信息、访问联系人信息等3)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测4)限制/允许使用手机功能接人互联网5)限制/允许使用手机发送接受信息功能6)限制/允许应用程序来注册自动启动应用程序7)限制或使用本地连接8)限制/允许使用手机拍照或录音9)限制/允许使用手机读取用户数据10)限制/允许使用手机写人用户数据11)检测App的用户授权级别、数据泄漏、非法授权访问等2.1.2安装与卸载安全性1)应用程序应能正确安装到设备驱动程序上2)能够在安装设备驱动程序上找到应用程序的相应图标3)是否包含数字签名信息4)JAD文件和JAR包中包含的所有托管属性及其值必需是正确的5)JAD文件显示的资料内容与应用程序显示的资料内容应一致6)安装路径应能指定7)没有用户的允许,应用程序不能预先设定自动启动8)卸载是否安全,其安装进去的文件是否全部卸载9)卸载用户使用过程中产生的文件是否有提示10)其修改的配置信息是否复原11)卸载是否影响其他软件的功能12)卸载应该移除所有的文件2.1.3数据安全性1)当将密码或其他的敏感数据输人到应用程序时,其不会被储存在设备中,同时密码也不会被解码2)输人的密码将不以明文形式进行显示3)密码,信用卡明细,或其他的敏感数据将不被储存在它们预输人的位置上4)不同的应用程序的个人身份证或密码长度必需至少在4一8个数字长度之间5)当应用程序处理信用卡明细,或其他的敏感数据时,不以明文形式将数据写到其它单独的文件或者临时文件中。以防止应用程序异常终止而又没有侧除它的临时文件,文件可能遭受人侵者的袭击,然后读取这些数据信息。6)当将敏感数据输人到应用程序时,其不会被储存在设备中7)备份应该加密,恢复数据应考虑恢复过程的异常通讯中断等,数据恢复后再使用前应该经过校验8)应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告9)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户10)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作11)“取消”命令操作能够按照设计要求实现其功能12)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况13)当进行读或写用户信息操作时,应用程序将会向用户发送一个操作错误的提示信息14)在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ15)应用程序读和写数据正确。16)应用程序应当有异常保护。17)如果数据库中重要的数据正要被重写,应及时告知用户18)能合理地处理出现的错误19)意外情况下应提示用户2.1.4通讯安全性1)在运行其软件过程中,如果有来电、SMS、EMS、MMS、蓝牙、红外等通讯或充电时,是否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能2)当创立连接时,应用程序能够处理因为网络连接中断,进而告诉用户连接中断的情况3)应能处理通讯延时或中断4)应用程序将保持工作到通讯超时,进而发送给用户一个错误信息指示有连接错误5)应能处理网络异常和及时将异常情况通报用户6)应用程序关闭或网络连接不再使用时应及时关闭)断开7)HTTP、HTTPS覆盖测试--App和后台服务一般都是通过HTTP来交互的,验证HTTP环境下是否正常;--公共免费网络环境中(如:麦当劳、星巴克等)都要输入用户名和密码,通过SSL认证来访问网络,需要对使用HTTPClient的library异常作捕获处理。2.1.5人机接口安全性1)返回菜单总保持可用2)命令有优先权顺序3)声音的设置不影响应用程序的功能4)应用程序必需利用目标设备适用的全屏尺寸来显示上述内容5)应用程序必需能够处理不可预知的用户操作,例如错误的操作和同时按下多个键2.2安装、卸载测试验证App是否能正确安装、运行、卸载2.2.1安装1)软件在不同操作系统(PalmOS、Symbian、Linux、Android、iOS、BlackBerryOS6.0、WindowsPhone7)下安装是否正常。2)软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。3)软件安装各个选项的组合是否符合概要设计说明4))软件安装向导的UI测试5)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理6)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)7)安装空间不足时是否有相应提示8)安装后没有生成多余的目录结构和文件9)对于需要通过网络验证之类的安装,在断网情况下尝试一下10)还需要对安装手册进行测试,依照安装手册是否能顺利安装2.2.2卸载1)直接删除安装文件夹卸载是否有提示信息。2)测试系统直接卸载程序是否有提示信息。3)测试卸载后文件是否全部删除所有的安装文件夹。4)卸载过程中出现的意外情况的测试(如死机、断电、重启)。5)卸载是否支持取消功能,单击取消后软件卸载的情况。6)系统直接卸载UI测试,是否有卸载状态进度条提示。2.3UI测试测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏觅功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。2.3.1导航测试1)按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航2)是否易于导航,导航是否直观3)是否需要搜索引擎4)导航帮助是否准确直观5)导航与页面结构、菜单、连接页面的风格是否一致2.3.2图形测试1)横向比较。各控件操作方式统一2)自适应界面设计,内容根据窗口大小自适应3)页面标签风格是否统一4)页面是否美观5)页面的图片应有其实际意义而要求整体有序美观6)图片质量要高且图片尺寸在设计符合要求的情况下应尽量小7)界面整体使用的颜色不宜过多2.3.3内容测试1)输入框说明文字的内容与系统功能是否一致2)文字长度是否加以限制3)文字内容是否表意不明4)是否有错别字5)信息是否为中文显示6)是否有敏感性词汇、关键词7)是否有敏感性图片,如:涉及版权、专利、隐私等图片2.4功能测试根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估功能测试过程:1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准,若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或准则。2)根据被测功能点的特性列丼出相应类型的测试用例对其进行覆盖,如;涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。2.4.1运行1)App安装完成后的试运行,可正常打开软件。2)App打开测试,是否有加载状态进度提示。3)App打开速度测试,速度是否可观。4)App页面间的切换是否流畅,逻辑是否正确5)注册--同表单编辑页面--用户名密码长度--注册后的提示页面--前台注册页面和后台的管理页面数据是否一致--注册后,在后台管理中页面提示6)登录--使用合法的用户登录系统。--系统是否允许多次非法的登陆,是否有次数限制。--使用已经登陆的账号登陆系统是否正确处理。--使用禁用的账号登陆系统是否正确处理。--用户名、口令(密码)错误或漏填时能否登陆。--删除或修改后的用户,原用户登陆。--不输入用户口令和用户、重复点(确定或取消按钮)是否允许登陆。--登陆后,页面中登陆信息。--页面中有注销按钮。--登陆超时的处理。7)注销--注销原模块,新的模块系统能否正确处理。--终止注销能否返回原模块,原用户。--注销原用户,新用户系统能否正确处理。--使用错误的账号、口令、无权限的被禁用的账号进行注销2.4.2应用的前后台切换1)APP切换到后台,再回到app,检查是否停留在上一次操作界面。2)APP切换到后台,再回到app,检查功能及应用状态是否正常,IOS4和IOS5的版本的处理机制有的不一样。3)app切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。4)手机锁屏解屏后进入app注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。5)当App使用过程中有电话进来中断后再切换到app,功能状态是否正常6)当杀掉app进程后,再开启app,app能否正常启动。7)出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。8)对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。2.4.3免登录很多应用提供免登录功能,当应用开启时自动以上一次登录的用户身份来使用app.1)app有免登录功能时,需要考虑IOS版本差异。2)考虑无网络情况时能否正常进入免登录状态。3)切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。4)根据MTOP的现有规则,一个帐户只允许登录一台机器。所以,需要检查一个帐户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。5)app切换到后台,再切回前台的校验6)切换到后台,再切换回前台的测试7)密码更换后,检查有数据交换时是否进行了有效身份的校验8)支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操作无误。9)检查用户主动退出登录后,下次启动app,应停留在登录界面2.4.4数据更新根据应用的业务规则,以及数据更新量的情况,来确定最优的数据更新方案。1)需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动刷新。2)确定哪些地方从后台切换回前台时需要进行数据更新。3)根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。4)确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。5)检查有数据交换的地方,均有相应的异常处理。2.4.5离线浏览很多应用会支持离线浏览,即在本地客户端会缓