中国移动项目自动化解决方案V1.0移动客户端的特点•移动客户端是一个基于客户端和服务器架构的系统,客户端指的是手机中的APP程序,服务器指的是提供查询,办理业务以及存储用户信息和客户端进行交互,通过WIFI或移动3G网络用户可以使用手机客户端进行话费流量套餐查询,套餐业务变更和办理,以及优惠活动查询等功能。•移动客户端存在如下特点•1.通常在无线环境中使用,经常受到无线信号干扰,对网络环境抗干扰比较重视•2.用户数量庞大,短时间内服务器压力会急剧增加,业务办理及话费,流量查询请求为主要请求。•3.客户端手机配置和客户端本身版本多种多样,对兼容性有高要求移动客户端的特点•4.业务逻辑交互很多,存在多个接口调用一个模块问题•5.对客户端和服务器响应时间有比较高的要求,要考虑用户可以忍受的时间。•6.不同地区业务差异化比较明显,每个品牌(全球通,动感地带,神州行)在每个地区的套餐都是不一样•7.要考虑异地进行话费,流量查询和业务办理时的情况。移动客户端自动化的必要稳定性程序兼容性响应时间压力并发界面UI•手机客户端测试主要关注的是程序的稳定性,兼容性,响应时间,压力并发和界面UI尤其中国移动客户端这种需要和服务器进行交互的应用更应该保证质量,采用自动化测试可以保证程序在稳定性,兼容性和性能方面的质量。移动客户端工作原理查询服务器基站基站业务办理服务器版本服务器客户端客户端1.客户端登录时输入与手机号和密码后点击“登录”按钮,会进入账号验证服务器进行验证。2.验证通过后会从查询服务器调取当前用户所使用的套餐品牌,当用户查询话费或剩余流量时会从查询服务器进行调取。3.当用户办理业务时从客户端向服务器发出办理请求,办理服务器收到请求后执行相应操作并返回数据给客户端,完成办理过程。4.当客户端更新时首先从版本服务器获取更新的版本,获取后返回给客户端,客户端可以进行更新操作。权限验证服务器白盒自动化测试白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。解决回归测试工作。白盒自动化测试的目的是为了解决手工测试的重复工作。尤其是进行回归测试时因为只要程序有改动,都无法保证当前模块能否满足设计的需求,利用自动化测试,对比参数,图片引用位置,大大减轻工作量。解决重复性工作。以往执行手机压力测试或性能测试,需要研发人员去不断执行测视例,这样造成了人员的疲劳现象且重复。而且大大拖延了研发进度。白盒自动化测试工具TouchTestTouchTest功能测试支持2大平台回归测试最新的IOS7操作简单无需越狱压力测试自动化测试工具TouchTest录制流程开始录制手机上开启APP按照测试例操作录制后进行脚本验证脚本验证通过脚本验证不通过查找原因保存测试脚本测试例完成后脚本自动生成脚本提交作为压力测试的模拟用户例黑盒自动化测试的目的•1)解决回归测试工作。黑盒自动化测试的目的是为了解决手工测试的重复工作。尤其是进行回归测试时因为只要程序有改动,都无法保证其他的模块不出现问题,所以需要进行整个软件所有功能的遍历。•2)解决重复性点击工作。以往执行手机压力测试或性能测试,需要人工去不断点击,这样造成了人员的疲劳现象且重复的进行工作造成了人员人力成本的不断上升。•3)解决兼容性测试工作。当应用程序需要适配多款手机时如果用手工测试,就需要人工去不同型号的手机中安装相应的被测试程序进行测试,这样就增加了测试时间,假设有10部需要做兼容性测试的手机,每部手机测试1小时,就需要测试10个小时才可以测试完成。黑盒自动化测试的目的移动APP程序自动化测试手工测试回归测试回归测试兼容性测试兼容性测试重复性测试重复性测试解决手动回归测试的重复工作提高测试效率节约时间解决手工兼容性测试测试时间长,测试机型采购成本高问题,提高测试效率解决进行模块重复性点击测试时间长,手工测试疲劳的问题重复性工作,效率低下可能存在漏测现象测试机型多,测试时间长,容易产生测试疲劳现象导致漏测,需要自己编写测试报告重复点击操作耗费时间长,比较枯燥导致测试人员疲劳黑盒自动化测试工具iTestiniTestin功能测试支持2大平台回归测试坐标轴方式操作简单压力测试eTestin自动化测试云自动化高效率脚本录制工具设备充分共享大副降低测试成本基于对象内容丰富的检查点设置基于云的自动化测试平台综合使用设备,大副降低本综合使用公司的设备资源不受时间、空间限制全面详细的测试信息报告高效率、低成本基于对象非坐标,不受屏幕分辨率限制可以指定测试对象黑盒自动化测试工具eTestin自动化测试工具eTestin录制流程开始录制登录系统有账号直接登录无账号进行注册已登录系统导入用例用例符合导入规范用例不符合导入规范导入测试用例重新修改测试用例格式导入要测试的APK通过选择事件方式录制脚本录制后进行脚本验证脚本验证通过脚本验证不通过查找原因注册后重新登录保存测试脚本自动化测试工具eTestin录制流程脚本保存完毕开始运行脚本设置脚本运行次数进入测试查看测试结果测试脚本通过测试脚本不通过分析测试未通过原因登录私有云查看测试报告录制脚本问题被测软件问题重新录制脚本提交BUG等待修改查看测试报告重新进行测试编写测试总结修改后重新录制脚本测试测试通过测试不通过测试不通过生成测试报告并交付自动化测试工具eTestin目前不可以做的事•只可进行软件内部模块的录制,不可进行交互类测试。如退出被测软件后在进入被测软件的操作的脚本录制,如登录界面,输入正确的用户名和密码后,勾选记住用户名和记住密码,下次登录后查看是否自动登录,这种用例无法使用eTestin自动化测试工具测试,因为eTestin每次录制脚本都需要重新安装应用程序。•程序内部操作时不可以进行调用程序外部操作的应用录制如更多中的分享模块,使用新浪微博进行分享这条用例,就无法进行eTestin自动化测试,因为无法测试程序本身以外的程序。•只能使用WIN732位或XP32位系统安装eTestin程序。64位系统暂时不支持。•对手机配置和网络环境要求比较高,由于自动化执行过程中会占用较高的CPU,内存以及网络带宽,这就要求手机的性能应该较好,自动化测试时网络环境应通畅良好,最好是有单独带宽的专用网络2M以上。•目前只有安卓平台的版本,没有IOS平台的版本,无法对IOS客户端进行测试。eTestin兼容性测试•1.定义:兼容性测试是通过手动或自动化方式,在不同的移动终端中测试相应的程序,以此来检验程序在不同终端运行的效果。•2.必要性:兼容性测试可以保证程序在不同品牌,不同型号的手机中正常运行。•不同应用场景•不同软件版本•不同网络环境•不同操作系统•不同品牌手机eTestin兼容性测试原理私有云终端机测试场景进行测试生成报告测试原理搭建环境进入测试自动生成测试报告选择终端机器准备测试场景结合移动客户端如何做兼容性测试。移动客户端选择不同的版本选择终端机型旗舰级10%高端15%使用最多60%低端15%搭建测试环境不同软件版本+不同操作系统版本+不同手机品牌+不同测试场景进入测试阶段测试完成进行测试数据汇总,并生成测试报告查看并分析测试报告用户网络响应时间测试Qtestin的特点•多维度监测网络性能指标•使用实际网络2G\3G\WIFI•专业测试报告•真机测试使用实际手机•实时图表Qtestin真实体验实时监控Qtestin真机监控终端部署图Qtestin工作原理监控服务器终端手机移动服务器终端手机在各地进行登录时,监控程序的监控服务就会检测到,并对登录过程时间,网络状态,DNS服务等进行监控,当移动服务器返回登录信息后,监控服务器就记录这一过程的平均响应时间,并在后台生成报告,且可以根据移动的要求设定响应时间阀值,当超过阀值时会在报告中体现。软件可以实时监控多个地区的网络状态,登录时间以及是否异常。Qtestin工作原理监测网络部署任务生成数据采集前端呈现Qtestin应用监控分析移动营业厅-不同网络环境下响应时间对比不同网络环境下,各阶段的响应时间分析营业厅-不同时间段响应趋势对比监测显示4:00首页页面在wifi环境下响应时间超过6000msQtestin应用监控分析营业厅-不同区域响应时间对比监测显示2g环境下,山西的响应时间超过7500msQtestin应用监控分析营业厅-不同网络环境下的可用性对比监测显示2g环境下移动营业厅的网络可用性在93%左右Qtestin应用监控分析Qtestin结合移动客户端可以测试出什么问题•1.各个地区不同时段的登录时间通过图表方式展现,并会在报告中通过图表以及三维图显示登录过慢原因。•2.通过移动官方网站或第三方软件提供商(机锋网,豌豆荚,91助手)下载手机客户端的时间长短,图表方式展现,并给出下载过慢原因。•3.可以测试出竞争对手的客户端响应情况,可以根据查看结果进行优化。•4.通过测试报告可以直观的看出某个地区问题所在。压力测试软件Cloudtest•压力测试的必要性•压力测试是通过软件模拟大量用户同时访问服务器的场景,来达到对服务器全部功能模块或部分功能模块如登录,查询,业务办理的压力测试。通过压力测试,可以测试服务器在大数据量访问时的性能,找出性能瓶颈,避免系统上线后在大数据量访问时出现问题。例如12306铁路订票系统,就是因为压力测试预估访问量错误,导致订票高峰期系统多次崩溃。压力测试解决的问题•中国移动手机营业厅因网站性能不佳或是用户端APP出现问题都会对中国移动应用业务品牌宣传造成严重的影响,导致大量客户流失,而且此种状况通常会引起企业最高层级的关注。•中国移动手机营业厅应用服务器的测试是中国移动网络运营与品牌树立的有力保障。但是,现有的应用服务器的性能测试通常在实验室中实施。在这样的非生产环境之下测试,一个实验室内运行几百个虚拟用户,并不意味着就可以在实际的生产环境中承受超出实验室几十倍甚至更多的负载。•CLoudTest会实时地提供一系列的控制面板,用于显示在测试过程中所生成的性能统计信息以及来自各个云的监测数据。SOASTA也可以从多个云服务器汇聚和关联数据,帮助用户深度挖掘并分析数据。通过即时的观察,在测试运行时实时的调整、修复问题,并可立即观察到结果。这种快速的响应性可以帮助在有限的产品测试时间里获得更大收获Cloudtest工作原理•CloudTest的工作原理录制脚本上传设定压力人数选择云端服务器分配各个服务器的压力数量点击开始对设定的被测服务器开始压力被测服务器出现性能瓶颈,停止测试结合客户端Cloudtest可以解决什么问题•可以实现大数据量并发,最多可同时模拟百万级用户同时访问服务器。•可以针对指定模块进行压力测试,如登录模块或业务办理模块。•可以生成压力测试报告,报告包括压力测试的时常,被测试模块,压力测试的负载数量,测试发现的问题等。客户端如何结合CloundTest•中国移动手机营业厅因网站性能不佳或是用户端APP出现问题都会对中国移动应用业务品牌宣传造成严重的影响,导致大量客户流失,而且此种状况通常会引起企业最高层级的关注。•中国移动手机营业厅应用服务器的测试是中国移动网络运营与品牌树立的有力保障。但是,现有的应用服务器的性能测试通常在实验室中实施。在这样的非生产环境之下测试,一个实验室内运行几百个虚拟用户,并不意味着就可以在实际的生产环境中承受超出实验室几十倍甚至更多的负载。•CLoudTest会实时地提供一系列的控制面板,用于显示在测试过程中所生成的性能统计信息以及来自各个云的监测数据。SOASTA也可以从多个云服务器汇聚和关联数据,帮助用户深度挖掘并分析数据。通过即时的观察,在测试运行时实时的调整、修复问题,并可立即观察到结果。这种快速的响应性可以帮助在有限的产品测试时间里获得更大收获用户行为分析软件MPLUS•1.为什么要进行用户行为分析•进行用户行为分析可以更好地了解用户喜欢去做什么事情,通过用户行为分析可以给不同的用户推荐不同的业务,如针对大地那话比较多的用户可以推送商务电话套餐,上网比较多的用户可以推送上网流量套餐等。现阶段包括淘宝,京东,亚马逊,腾讯等网络巨头都