敏捷测试之测试金字塔

网友投稿 800 2022-11-22

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

敏捷测试之测试金字塔

一、测试金字塔介绍

测试金字塔的这个理念和时下流行的“测试左移”的理念是一致的。测试左移(Shift Left Testing)是指要把质量保障的活动尽量前移到更早的开发生命周期中。这个理念和测试金字塔的思想是不谋而合的,也就是我们要把测试工作往前移(对应于测试金字塔是往下沉),要把单元测试、集成测试做得更加充分和完善。而上面的 UI 测试只需要针对关键业务进行自动化回归测试即可。

当然,我们知道如果只靠自动化测试是没办法完全保证系统的质量,有些地方还是需要人工的介入、需要人的思维判断才行,比如用户体验测试等。所以后来 Lisa 在金字塔的塔尖再补上了一片“云”,这片“云”就是人工探索式测试(Exploratory Test,简称 ET)。最终就形成了我们在图3右侧看到的样子。由于此模型形状像埃及的金字塔,所以被称之为测试“金字塔”模型。

二、分层自动化测试

除了测试金字塔外,我们经常还听到一个词叫“分层自动化测试”。在国外基本上很少提这个词,但是在国内却总是在不同的场合会听到。如果我们把测试金字塔顶尖上由 Lisa Crispin 补充的那块“云”(探索式测试)先去掉的话,那么分层自动化的内容和测试金字塔基本上是一回事,没有太大的区别。

分层自动化测试从“自动化”这个角度出发,说明了自动化需要按不同的层级来实施,不仅仅只是关注在 UI 层,也需要关注 API 接口层和单元层。UI 层的自动化测试这个理念在过去的二三十年一直处于主导地位,大多数的测试同行在实施自动化测试的时候一开始映入脑海的就是 UI 自动化测试,而且业界也提供了很多成熟的 UI 自动化测试工具,比如商业工具 QTP/UFT、开源工具 Selenium 等等。

但是正如上一节所述,随着 UI 自动化测试本身的痛点日益明显,其脆弱性和复杂性也让人怀疑 UI 自动化测试的投入产出是否合理,因此当 Mike Cohn 提出测试金字塔模型后,让人们改变了以前一直认为 UI 自动化测试为主导的意识,从最初我们所熟悉的 UI 自动化测试扩展到 API 层的自动化测试以及底层的自动化单元测试,使得自动化能够在不同层级的测试中都发挥其作用,降低了测试的脆弱性和复杂性,提升整个测试的效率,这就是我们说的分层自动化测试。

上一篇:软件测试的7个基本原则
下一篇:软件测试文档评审
相关文章

 发表评论

暂时没有评论,来抢沙发吧~