自动化测试——接口测试方法论(05)

发表于:2022-8-10 10:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  1.5  自动化测试
  提升质量效能的根本方法仍是自动化测试,无论后续测试平台化、测试服务化、智能化测试如何发展,它们都是对自动化测试的延伸和扩展。自动化测试的快速发展不是一蹴而就的,随着被测系统越来越复杂、规模越来越庞大,测试的工作量也越来越大,人和测试生命周期之间的矛盾逐渐暴露出来。为了更加快速、有效、可靠地对软件进行测试,并提高被测系统的质量,测试工具和工具思维必然被引入测试工作中,自动化测试自然而然地被提上日程。
  如今,自动化测试的相关技能大行其道。随便找一个招聘软件测试工程师的网站,看看职位描述,上面多多少少有一些自动化测试能力方面的要求。由此可以看出,自动化测试已经成为软件测试工程师的标配技能。自动化测试最主要的目的就是通过一些工具或代码,把以前需要手动进行的测试工作交给计算机来完成。自动化测试技术并不是平白无故产生的,这种技术是为了解决软件系统复杂度不断提升、软件工程规模不断变大与人工测试效率低下之间的矛盾而出现的。所谓自动化测试,就是通过测试工具、测试框架和测试代码,按照测试工程师预定的测试计划对软件产品进行的自动测试。自动化测试只是一种测试手段,而不是一种新的测试类型。利用自动化测试,可以将一些重复性的测试工作交给计算机来完成,因此也有人认为自动化测试是软件测试工程师“偷懒”的一种好办法。自动化测试可以替代大量重复的手动测试,从而提升测试效率。当前,我们习惯于将自动化测试分成3类,分别是单元测试接口测试和界面测试,这就是著名的“测试金字塔模型”(见图1-3)。通过使用测试分层策略,为系统建立不同抽象层次的自动化测试,并按照可测性、质量风险防控等因素采用不同的分层策略,明确各层的测试重点,使各层测试价值最大化,之后再通过各层不同的可测性、风险防控手段的间隙弥补,提高软件的可测性,降低质量风险,逐步改进并完善测试策略。
图1-3  测试金字塔模型
  在图1-3所示的测试金字塔模型中,对于界面测试、接口测试和单元测试来说,它们所占面积的大小代表了它们各自在测试过程中的投入和工作量占比。很明显,单元测试在测试过程中占绝大部分比重,这表示单元测试需要投入更多的时间和人力成本。根据测试金字塔模型,单元测试的投入最大,其次是接口测试,最后是界面测试。单元测试的投入大是“越早开始测试,修复缺陷的成本越小”这条理念最直接的落地实践,测试金字塔模型相对而言比较理想,对研发工程师、测试工程师的能力要求很高。有的读者可能会问:“如果研发工程师从来不写单元测试,该怎么办?毕竟大部分开发人员不爱写测试。”
  不可否认的是,研发工程师不仅很少写单元测试,而且很少能写出好的单元测试。很多时候,研发工程师会因为工期压力放弃单元测试。产品的交付质量更多是由测试工程师负责保障的,面对这种现状,测试工程师又该怎么办呢?
  聪明的测试工程师会采用两种解决手段:一种是使用一些智能化框架补充单元测试工作(如果对智能化单元测试感兴趣,可以参考作者在2019年TiD质量竞争力大会上所做的演讲“自动的自动化测试——智能化一站式API测试服务”);另一种则是加大自己主导的接口测试的工作投入比重,以弥补单元测试的不足,此时测试模型就会从金字塔模型逐渐演变成菱形模型(见图1-4)。
  测试模型之所以发生从“金字塔模型”到“菱形模型”这种变化,并不是有人想要刻意提高测试工程师在整个交付流程中的地位,而是随着工作的不断推进逐渐形成的结果。在质量保障过程中,测试工程师会不断增大接口测试的测试深度和测试广度,并往下逐渐覆盖一些公共接口的单元测试内容,而往上逐渐覆盖本应由UI层保障的业务逻辑测试,这么做主要就是为了更好地完成质量保障工作,从而交付可靠、高质量的项目。
图1-4  测试菱形模型
  因此,从接口测试这一环节开始,测试工程师便成了质量保障工作的主要推动者,接口测试也变得更重要。那么,接口测试到底有什么好处和优势呢?下面从3个角度进行分析。
  ·接口测试更容易和其他自动化系统相结合。
  ·相对于界面测试,接口测试不仅可以更早开始,而且可以延伸到一些通过界面测试无法测试的范围,接口测试使“测试更早投入”的理念变成了现实。
  ·接口测试可以保障系统的鲁棒性,使被测系统更健壮。
查看接口测试方法论》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号