自动化金字塔的解读
对自动化测试金字塔结构的解读可以分为以下几个方面:
越下层投入应当越多,这是金字塔结构主要提出的观点,认为单元测试的稳定性和投入保证了产品质量;
越下层效率会越高,因为软件的漏洞最终是落在具体的程序代码上的,所以底层的测试效率是最容易发现和修改错误(BUG)的;
越下层成本会越低,因为低层代码测试进行的最早,此时发现错误修改起来较为容易,牵连的其他内容也很少,越向上再发现问题往往需要修改的代码量会成倍增多,所以说下层测试和修改的各项成本都是相对低的;
越下层实现专业性要求越高,虽然底层的直接修改是容易的,但是这是基于拥有一个经验丰富的程序员或测试员的前提下,高度的专业性意味着人才的需求和人力成本的提高。
反模式
在很多团队中都缺乏稳定的单元测试人员,或单元测试人员的经验不足,这导致发展一个稳定的单元测试根基并不是一件容易实现的事情,于是有人提出了金字塔结构的反模式。
如2012年Alister Scott提出的蛋筒冰激凌模式,就是将金字塔中用户界面和单元两个结构所占比重进行了对调,并且极大增加了手工调试的比重。这反映出了团队在自动化测试能力上的欠缺和投入不足。这种模式是缺乏完善产品质量保证监督体系的团队常采用的模式,从用户的需求入手,回溯到单元实现上。这样的后果是产品质量得不到保证,且代码的可读性、可维护性、可修改性差。
此外还有纸杯蛋糕模式等,在此不做介绍。2100433B