首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

API测试指南

自动化测试从分类上来说,可以把它分为客户端自动化测试和服务端自动化测试,或者可以更加具体的说就是API的自动化测试,API的测试是软件测试的一种测试模式,它包含了两个维度,在狭义的角度上指的是对应用程序接口的功能进行测试,在广义的维度上是指集成测试中,通过调用API测试整体的功能来完成度,可靠性,安全性和性能。相比较客户端自动化测试,API测试是可以有效的提升测试的效率,以及满足在DevOps的理念下的持续交付的能力。另外一个点,目前出去找工作不管是那个级别的测试工程师,都要求会API的测试,只不过不同层级对服务端的测试能力在深度和广度上有区别,但是有一点必须得承认,API的测试技术是每一位测试工程师都要求必须掌握的测试技能。

04

API测试用例的编写

在API的自动化测试维度中,测试维度分为两个维度,一个是单独的对API的验证,客户端发送一个请求后,服务端得到客户端的请求并且响应回复给客户端;另外一个维度是基于业务场景的测试,基于业务场景的也就是说编编写的API的测试用例是基于产品的业务逻辑,关于这点在我出版的书《Python自动化测试实战》测试案例实战中都有丰富的代码案例,这里就不详细的再说明。抛开两个维度的思考点,作为测试团队的工作内容,首先要保障产品的业务逻辑是可以使用的,只要这样,产品才能够给客户带来价值,在基本的业务逻辑稳定的基础上,再一步需要思考的是整个系统的稳定性,抗压性和系统的承载负载的能力。那么在工程效率的角度上来思考,使用代码或者工具都不是核心,核心是如何使用这些工具或者代码来提升测试的效率,优化研发的流程,并持续的改进,从而达到过程中的改进。不管工具还是代码,对产品完整性的测试,都要考虑产品的业务逻辑,也就是产品的场景,而如何通过API的自动化测试方式来达到产品的业务场景的测试,在单元测试框架的视频里面我特别的说到了七个点,每个点都举了案例,其中最核心的一个点就是编写的每个测试用例都必须得有断言同时基于API的测试要基于产品的业务逻辑来进行,而单纯的测试API是没有多少意义的,比如一个登录的业务场景,登录接口好的就能够证明登录的业务场景是好的吗?很显然不能。

02

接口测试之RESTful

REST又被称为表征性状态传输,它是指客户端与服务端之间传输信息的一种方式。在REST中并没有严格的标准和规范,它只是规定了一套对通信的约束,当然它也存在一些指导的约束,也就是说客户端与服务端关注的是分离,只要API改变。常见的RESTful系统形式由JSON组成,每个资源位于自己的URL路径上,并使用不同的HTTP请求方法进行操作。在这里还是以具体的案例来说明这部分的应用,在无涯课堂里面添加课程的信息,获取所有课程的信息,以及获取某一个课程的信息,和对课程信息进行修改,以及删除课程的信息。需要安装的第三方的库为:flask-restful,flask-httpauth,flask,安装成功后,就实现具体的案例代码。

02
领券