为了账号安全,请及时绑定邮箱和手机立即绑定

如何测试Android组件化

ndroid组件化调研——知己知彼

基于倒推的思路,要评估测试策略,本质上我们需要了解测试回归范围,而测试回归范围依托于开发改动的影响范围,但若要与开发沟通改动和影响范围,我们最好先了解下Android组件化。

提到“Android组件化”这一名词,第一时间可能会想到以下这些问题:什么是Android组件化?为什么要进行Android组件化?Android组件化有什么好处?想要了解Android组件化,我们需要进行调研学习。

  • Android组件化

1、Android组件化概念

组件化大致可分为功能组件化和业务组件化。功能组件化,常见的是将一些底层的公共功能模块进行独立化,如网络请求模块、登录注册模块等。业务组件化,即为业务模块独立化,彼此无关联,由一个项目工程拆分成若干个业务模块,由App主工程提供统一的入口,每个业务独立的模块共享项目的依赖库。

https://img3.sycdn.imooc.com/5c6e131b0001305204360303.jpg

2、为什么要进行组件化

在Android项目组件化之前的单一工程,代码的耦合严重,每修改一处代码后就会到处报错,且都要重新编译打包测试,非常耗时,增加了项目的维护成本,很难进行多人协作开发。另外,在单一工程中很难进行单元测试。

当前APP版本迭代的频率越来越高,新功能的不断增加,业务也会变的越来越复杂,单一工程已经很难适应当前的项目业务需求环境。

3、Android组件化的优点

1)各个业务模块组件独立化,降低业务耦合,更适用于快速的业务迭代;

2)稳定的公共模块采用依赖库方式,提供给各个业务线使用,减少重复开发和维护工作量;

3)加快编译速度,提高开发效率;

4)自由选择开发框架; 
5)方便做单元测试;
6)代码架构更加清晰,降低项目的维护难度;
7)适合于团队开发,各业务研发可以互不干扰、提升协作效率。

4、Android组件化常见问题及需关注点

1)共享数据资源/方法调用问题;

2)组件之间的调用和通信问题;

3)组件之间的资源名冲突问题;

https://img3.sycdn.imooc.com/5c6e132e000101a204920724.jpg

Android组件化回归范围确定——谋定后动

在对Android组件化的基本概念和关注点有了初步调研后,接下来,是与开发沟通开发实现方案,进而从实际工程角度了解改动影响范围和建议回归范围。

将调研的有效信息与沟通后的信息进行整合,整理出最终的Android组件化改动范围和影响范围。

举个栗子,比如搜狗手机浏览器积分中心需求中的积分任务:

1、测试角度评估回归范围

首先,我们根据调研了解到的Android组件化的特点及关注点,从测试角度评估初步的影响范围和回归范围,这具体包含:积分任务的主路径功能、各个积分任务与其他模块的交叉功能点(例如搜索任务,涉及到积分中心模块与搜索模块的功能交叉)、积分任务的各个网络请求等公共库调用的正确性等;

2、了解工程角度改动范围及建议回归范围

然后,在与开发的实际沟通中,我们了解到,开发给出的改动影响范围与我们的调研结果基本吻合,建议回归范围为:该模块的主路径功能及与模块交叉点的主路径功能;

3、确定最终回归范围

最终,我们整合第1步和第2步中的改动影响范围及回归范围,确定积分任务的最终的影响范围及回归范围:

1)影响范围:不涉及到具体模块功能逻辑,需要关注主路径功能及与其他模块间的交叉功能。

2)回归范围:积分任务主路径功能:积分任务主路径功能,及各个积分任务与其他模块的交叉功能点(冒烟级别粒度)。

https://img2.sycdn.imooc.com/5c6e13410001b9af06400452.jpg

Android组件化测试策略制定——运筹帷幄

在做好一切准备工作之后,接下来就是制定测试策略。首先,是制定各个模块的测试策略,进而站在全局角度,确定整体的项目测试策略。

模块的测试策略的制定,这里我们仍以上面的积分任务为例,在确定最终的回归范围后,我们分析回归范围对应的case级别,得出该功能的测试策略结论,即为执行冒烟级别的回归测试。

确定了各个模块的测试策略后,考虑到本次Android组件化的特点,从全局角度出发我们制定了整体的测试策略,如下所示:

1、整体各个模块进行冒烟/二轮粒度的测试;

2、在测试过程中,根据实际bug情况实时调整测试策略;

3、提高随机测试的安排次数。

至此,已完成了Android组件化这一工程优化需求的测试策略评估,接下来就是开始正式的测试阶段。

https://img1.sycdn.imooc.com/5c6e1357000107fc10240577.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件测试工程师
手记
粉丝
51
获赞与收藏
91

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消