2019年移动端测试团队在测试框架与架构上进行了一些列的尝试,建立舆情监控机制和灰度结果跟踪机制;基础能力尝试了各种专项测试、业务分层和自动化分层保障体系,并将安全测试纳入整个App测试体系中;在底层进行基础能力搭建、工具支撑、流程优化与完善。从实施的角度,目前还有很多不尽人意的地方,但总体测试框架保障体系已经初步建立。下面分别从三个方面简单聊聊整个测试框架。
1.线上监控与灰度测试
与客服、运维、开发建立线上监控和舆情监控机制,确保App线上问题更早更快的被发现;目前只是进行客诉问题、灰度问题跟踪记录,App市场问题分析提取跟踪记录,但没有进行分析反馈到质量改进过程中,需要在2020年中进一步加强并推进。
2.基础能力建设
2.1 基础能力测试框架介绍
基础能力建设包含App发版相关回归测试、性能专项、渠道包等测试;业务支撑相关数据异常校验、稳定性、自动遍历等测试;以及基础组件相关接口测试及代码评测。
按照分层思想和阶段分为四部分,底层基于App组件的接口测试,代码评审,代码扫描(未开展)。中间层是在业务开发阶段的单功能业务测试,主要包含业务测试(手工)以及基于业务的稳定性测试,基于业务稳定性测试主要包含三部分内容,Monkey、自动遍历、乐高及统一运营平台异常数据验证测试。上层是基于App基础阶段的回归测试,包括业务回归测试(自动化和手工)、App版本性能测试、业务专项测试、App渠道包测试等内容。
以及第四部分是安全和H5接入测试,安全测试和H5接入测试因为内容较多,后续专门写文说明。本文不再赘述。
为了便于读者阅读,方便说明该框架体系,本文把上文内容按照自动化测试和手工测试的角度分类,另外因为基础组件较为特殊,单独拿出来加以说明。从基于分层思想的App自动化测试策略,基于业务分层的测试策略,业务组件及基础组件的测试策略进行说明。
2.2 基于自动化分层测试策略
移动端自动化测试策略按照测试阶段和目标不同分为三部分,基于基础组件和业务组件的App基础自动化测试,基于业务支撑的稳定性测试、基于App发版的验证测试。
移动端自动化测试框架基于基础组件的App基础测试包含接口测试及代码评审;主要保障App基础能力及代码健壮性。
App基础组件和业务组件的变更或者修改,针对App基础功能的测试主要采用代码评审,测试同学要参与到需求、设计、测试各个环节,当需求确定后,测试同学要和开发同学一起评审设计是否合理,开发完成后,测试同学需要从设计中画出代码实现的伪代码和开发同学进行评审,确保代码从设计到开发都符合预期,在基础组件和业务组件的单功能测试主要使用接口测试,在Android平台使用junit框架进行接口测试。
基于业务支撑稳定性测试,主要包含业务测试(手工)以及基于业务的稳定性测试。在业务测试提测后,需要先进行Monkey稳定性测试、自动遍历功能的测试,确保其功能的改动不影响App的稳定性,不出现崩溃。业务的可用性,不出现黑白屏、无加载、加载超时等问题。如果涉及到App模板改造,需要对后台统一运营平台配置后的模板数据异常进行校验,确保不因为后台App模板配置错误,导致App崩溃。
基于App发版的自动化回归测试,App稳定性测试、安全测试、移动端性能测试、渠道包发布测试,主要解决功能可用性及易用性场景。
在App封板后,打包进行回归测试,这个过程主要需要通过冒烟测试验证包的可用性,通过后进行App自动化测试(核心功能);手工回归测试,包含基础功能和新增功能部分的回归测试,同时进行稳定性测试,包含Monkey、自动遍历;App安全测试(可选)、移动端版本性能测试,全部通过后,进行渠道包发布测试,通过后进入灰度测试阶段。
2.3基于业务分层测试策略
在App测试过程中就是测试一个个页面,而这个页面的技术特性决定了这个页面需要注意哪些地方,比如原生页面、H5页面、RN、小程序等;每个页面中会用快速搭建业务能力的业务组件,如弹窗、XView、分享、引导、搜索等功能;最后才是这个页面要实现什么样的业务能力,是要根据业务特性设计。如对该部分内容感兴趣可参看《基于业务分层的测试策略》
基于业务分层测试就是在测试过程中把业务能力分解并形成一些通用技术能力,提供给每个测试同学培训内化,形成他的基础工作能力。如图所示。
技术组件:主要指与应用的基础技术,如RN、H5(webview)、小程序、原生等。
业务组件:业务组件主要指业务中的通用功能如弹窗、XView、分享、引导、搜索等功能。
业务流程:指与业务相关的业务规则、流程等业务属性信息。
比如在测试A页面时,A页面是一个RN页面,首先考虑RN如何测试,要关注那些点;再接着找到页面中业务组件,比如页面中使用了弹窗、分享、push等业务组件,这时考虑测试组件的测试要点;最后结合该页面提供的业务能力进行测试。
这样就实现了具体的业务流程和业务组件、技术组件之间的解耦,快速实现测试人员能力之间的迁移,填平技术人员之间能力差异鸿沟。
2.4础组件的测试策略
App基础组件和业务组件的变更或者修改,对App功能的影响非常大,严重者会导致App功能的不可用,所以对基础功能的测试显得尤为重要,针对基础组件的测试,主要从三个方面入手,第一个层面保障修改的功能可用,主要通过代码评审和接口自动化实现;第二个层面主要测试业务组件或者技术组件修改或者变更,对其他业务可用性的测试,主要通过Monkey、自动遍历,测试App的崩溃,不出现黑白屏、无加载、加载超时等问题;第三个层面主要是通过手工回归加探索性测试确保其修改或者变更不影响其功能和用户体验。
3.工具流程支持
工具规范支持包含工具建设和质量及流程规范相关的保障与支持。关于工具建设专门撰文说明,本文不在赘述。流程规范主要主要完成《App发版规范》、《SDK准入规划》、《业务上线规范》以及《回归测试管控要点》等方面,因该部分内容涉及到公司相关流程制度,在此不尽兴详细说明
2019年如白马过隙,期间做了很多事情,但技术的沉淀需要时间的打磨,整个框架本身还有很多需要优化的地方,如工具和手工测试完美结合,制度如何更优化让这一套工具平台自动流转;测试标准化和规范化也只是开了个头;数据度量、质量运营等方面基本上还处于零起步。希望同学们继续努力,一起加油。
最后,感谢团队小伙伴们的努力和付出,和你们在一起我很幸福。
最后引用毛泽东主席的诗词作结尾,表达我此刻的心境。
雄关漫道真如铁,而今迈步从头越。
如果你喜欢我的文章,欢迎关注扫描公众账号:MiniStarClub
网友评论