新年后第一期培训,拖了两个礼拜才开,不是疫情的关系,是因为懒。话不多说进入主题。本文主要从安卓UI自动化方面,从整体到局部,从实施到推广落地的一个概要讲解,这个是我们在组织讨论的培训的一个大概记录。从这些资料可以让你对安卓自动化会有一个很大见解以及让你的角度不在单一,总之既适合初学者也是多年经验的测试攻城狮~话不多说,分享下相关资料。主要是PPT,我希望你们看了以后,不清楚记录,然后百度下,毕竟不是当场讨论培训可以交流互动,领大家进门,我会提下。
整体PPT内容如下:
对于自动化金字塔主要从要求技术,生命周期,投入产出,修复成本,专业性,稳定性来说金字塔最底层单元测试是最合适的,可以简称TDD(测试驱动开发)。为什么这么说?请看下以下观点:
1.越下层投入应当越多,这是金字塔结构主要提出的观点,认为单元测试的稳定性和投入保证了产品质量;
2.越下层效率会越高,因为软件的漏洞最终是落在具体的程序代码上的,所以底层的测试效率是最容易发现和修改错误(BUG)的;
3.越下层成本会越低,因为低层代码测试进行的最早,此时发现错误修改起来较为容易,牵连的其他内容也很少,越向上再发现问题往往需要修改的代码量会成倍增多,所以说下层测试和修改的各项成本都是相对低的;
4.越下层实现专业性要求越高,虽然底层的直接修改是容易的,但是这是基于拥有一个经验丰富的程序员或测试员的前提下,高度的专业性意味着人才的需求和人力成本的提高。
对于反模式,简称“蛋筒冰淇淋”模式,有没有很类似,我们目前大部分公司的状态,手工为主,接下来是UI,接口集成,最后单元测试,我们来说下特点:
将金字塔中用户界面和单元两个结构所占比重进行了对调,并且极大增加了手工调试的比重。这反映出了团队在自动化测试能力上的欠缺和投入不足。测试团队主要依赖于通过手工测试来完成其业务的测试,评测产品的质量,因此其自动化测试的投资重点和目标,也往往是逐步提高现有手工测试用例的自动化替代率。这是一种非常典型的路径依赖,由此产生的结果就是,团队对于底层的自动化测试方面的关注相当不足。