查看原文
其他

基于业务分层的测试策略

土司阿哈 MiniStarClub北京 2019-12-10

零、困惑与思考


从元月份开始,一直在思考在App测试中,如何能够更好更快的完成测试?如何能够快速的进行人员能力迁移?如何在通过一定的训练减少因人员能力差异带来测试质量的不稳定。
在App测试过程中就是测试一个个页面,而这个页面的技术特性决定了这个页面需要注意哪些地方,比如原生页面、H5页面、RN、小程序等;每个页面中会用快速搭建业务能力的业务组件,比如弹窗、XView、分享、引导、搜索等功能;最后才是这个页面要实现什么样的业务能力。

如果在测试过程中把业务能力分解并形成一些通用技术能力并抽取成通用能力,提供给每个测试同学培训内化,形成他的基础工作能力。比如在测试A页面时,A页面是一个RN页面,首先考虑RN如何测试,要关注那些点;再接着找到页面中业务组件,比如页面中使用了弹窗、分享、push等业务组件,这时考虑测试组件的测试要点;最后结合该页面提供的业务能力进行测试。

这样就实现了具体的业务流程和业务组件、技术组件之间的解耦,快速实现测试人员能力之间的迁移,填平技术人员之间能力差异鸿沟。


  一、业务分层测试架构设想 


基于以上思想,简单对业务分层测试策略架构进行说明。如图所示



技术组件:主要指与应用的基础技术,如RN、H5(webview)、小程序、原生等。

业务组件:业务组件主要指业务中的通用功能如弹窗、XView、分享、引导、搜索等功能。

业务流程:指与业务相关的业务规则、流程等业务属性信息。


  二、基于技术组件测试要点(更新中) 

在App测试中,使用的技术不外乎原生、RN、H5(webview)、小程序等。在测试过程中需要快速了解各种技术实现细节和使用注意事项,就可以达到事半功倍的效果。

如:原生应用的测试,以Android为例,需要深入的了解每个版本之间功能差异,API接口升级对存量版本的影响?明确了这些内容,在做版本之间的适配测试时,就能够很容易的做出各种适配测试策略。

如:RN来说,RN技术属于一种即插即用的技术,在初次使用时,先要进行下载,完成下载后进行渲染。非初次使用时,会根据缓存策略,从缓存中获取数据,然后进行渲染。

了解这个过程后,就很容易对RN技术进行测试,对于RN的页面,需要分成初次加载和非初次加载。初次加载需要进行各种网络模拟的测试,如2G、3G、4G、wifi,弱网以及各种网络切换时的RN页面的下载测试,同时需要对各种机型机型适配下载和渲染业务进行适配。

如果非初次加载,需要对各种缓存情况进行测试。

对于小程序测试,则需要了解其核心组件,视图容器、表单、导航、媒体组件、基础组件、画布等组件特性,根据组件特性执行不同的测试策略。同时需要关注API接口和服务端基础能力服务。


 三、基于业务组件测试要点分析  

针对业务组件,不用业务形态下,抽离出来的业务组件各有不同。比如在金融App中通常有XView、弹窗、分享、push等;不同的业务形式,组件有所差异,在此以弹窗为例说明业务组件测试要点。

以弹窗为例,从技术角度和业务角度分析

1)技术角度分析

从技术实现角度和应用的角度,分为响应式弹窗和告知类型弹窗(无需响应),从具体技术又可分为iOS和Android两大类,详细可参照下图。

弹窗汇总

响应式弹窗:用来传达需要用户特别注意的重要信息(如付费下载),在用户点击弹窗按钮或弹窗外部区域后关闭。
告知类(无响应)弹窗:则主要用来告知用户一些轻量级信息(如消息已发送),它不需要用户特别注意,也不需要用户对弹窗进行回应,一般会在2秒左右自行消失。

2)业务分析

弹出位置:

    关注弹框的弹出位置、弹出层级、是否允许与其他内容同时/层叠展示

弹出频次:

    ①同一天同一个页面同一设备同一账号允许弹出次数

    ②不同设备约束:切换设备是否允许继续弹出

    ③同设备不同账号约束:切换账号是否允许继续弹出

    ④跟服务端逻辑有关,只要服务端下发了内容,客户端即展示内容

展示逻辑

    ①弹窗动画

    ②弱网处理(未能成功加载图片)

消失逻辑

    ①点击跳转后的处理

    ②未点击弹框能否消失

    ③切换后台是否消失

    ④杀死应用是否消失

跳转页面类型

    ①原生

    ②H5

    ③RN

    ④其他特殊跳转(跟业务有关)

多功能交互

    ①首次安装、与幻灯片、新手引导、识别银行卡弹框等内容的先后展示顺序

    ②外部唤起的处理,schema唤起等

    ③支付唤起的处理(未登录/已登录)

    ④升级弹窗、切换青春版弹窗等的交互

    ⑤关注展示顺序,是否允许内容层叠展示

内容

    ①普通弹框

      ②广告弹框(有推广标识)

其他

机型适配保证不崩溃、正常展示、跳转。
信息很多,具体测试时需要根据操作系统和弹窗技术的特点、以及业务使用该弹窗的底层逻辑,进行设计测试。

  四、基于业务场景测试分析  

业务场景的测试,可能是业务测试最熟悉也最纠结的事情。测试人员天天面对业务进行测试,但如何把业务测试做好做精确实一件非常难的事情。

做好业务测试关键在于业务分析,业务分子关键在于梳理出场景级用例和单功能测试。

场景级通常通过流程图分析法、状态图分析法、场景分析法及错误推理法进行用例编写。

单功能测试通常考虑等价类划分,边界值分析法,判定表,正交试验法和组合测试法等等。

另外需要结合具体业务场景和测试策略等进行分析,因为涉及到内容较多,后面在专门进行说明和论述。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存