API测试策略、类型、步骤和自动化测试工具系统介绍。
①
从基本概念上说,API的作用是:通过任何形式的通信手段,促进两种不同应用程序之间实现交互。例如,在Web应用上所使用到的API,我们往往称之为“Web服务”。如今,随着应用技术的进步和种类的增多,API已经成为了编程代码中的重要组成部分。在开发各种应用项目时,编程人员往往会通过使用API来与数据库或其他的模块进行通信。这就是为什么作为测试人员的我们,必须通过测试API,以求获得最大的测试覆盖率(test coverage)的原因。
而作为集成测试的一部分,API自动化可以协助加速测试的进程并提高效率。由于目前大多数公司都在业务层面上使用到了RESTful微服务和API,因此对于API的测试已经成为了任何发布测试计划中的关键环节之一。
简单来说,API实际是一种服务,它可以帮助两种不同的应用程序实现顺畅的相互通信。大多数API被用于抽象各种业务逻辑,并引导到应用程序访问其对应的数据库。
从逻辑上讲,我们可以将整个软件系统分为三个层次:
-
表示层 - 这是展示给最终用户的某个用户界面(GUI)。质量保证人员(Quality Assurance,QA)对于该层次进行功能测试。
-
业务层 - 这是通过编写逻辑代码,来实现各种应用的用户接口。就实现技??术而言,各类代码和算法属于在这个层面上。当然API也处于这个层次。
-
数据库层 - 存储的是应用程序的各种数据信息。
换句话说,API是软件互联世界的中枢神经。它通过运用各种工具、协议、标准和代码集,将数字世界“粘合”在一起。由于API不但动态灵活,而且功能强大,因此它让各种软件产品更为简便、更具有移动性,不同组件能够以一种无缝集成的方式进行协同运作。那么,针对API的测试则可以从服务级别和集成级别两个方面进行展开。
②
API的测试策略
就不同人员的关注点而言,开发人员一般倾向于只测试他们正在开发的软件功能;一般测试人员则只负责做功能性的单元测试、以及端到端的协同测试。然而在如今DevOps的持续开发与测试环节中,测试人员更应该专注于在软件使用过程中所进行的各种API调用,以便观察和记录在系统做出响应之前所接收的不同输出。而且,其中最重要的是:应测试API在不同条件下是否能返回正确的响应或输出值。
一般而言,此类输出可以被分为如下三类:
通过(成功)或失败状态
数据或信息
调用另一个API
当然,也可能根本没有任何输出、或发生了完