用python怎样实现接口测试

简介: 一、什么是接口测试?接口可以分下面几种1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用2、上层服务对下层服务的调用,比如service层会调用DAO层的接口,而应用层又会调用服务层提供的接口,一般会通过服务之间的调用,比如注册用户时,会先调用用户查询的服务,查看该用户是否已经注册。

一、什么是接口测试?

接口可以分下面几种

1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用

2、上层服务对下层服务的调用,比如service层会调用DAO层的接口,而应用层又会调用服务层提供的接口,一般会通过服务之间的调用,比如注册用户时,会先调用用户查询的服务,查看该用户是否已经注册。

而我们所要做的接口测试,先要了解是基于哪一种类型的接口测试,不同类型的接口测试方法可能是不一致的,总体来说,不管是那种类型,我们只要把被测接口当做是服务方,而把我们的测试手段当做是客户方,我们的目的就是,通过我们的测试手段,去验证服务端满足了他声明提供的功能。

二、做接口测试的流程一般是怎么样的?

接口测试的流程其实和功能测试的流程类似,因为接口测试依赖的主要对象也是需求说明书,所以,最初的流程就是参与需求讨论,评审需求。需求确定以后,开发会根据需求进行接口设计,会产出接口定义,在开发设计过程中,有能力的话,可以给出一些针对设计的建议,提高可测性,针对需求及设计,进行测试计划,测试设计,然后还需要和配管确定测试环境相关的事情。

在开发完成接口定义之后,就根据需求文档及接口定义进行测试用例设计,测试用例设计主要从业务场景,功能,以及异常测试几个方面考虑。测试用例设计完成后,针对测试用例进行评审,然后,如果开发代码部分可测时,即可进入测试了,因为是部分可测,可能会使用到mock方法(mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。)。已有测试代码时,就要进行测试代码的持续集成了,我们是使用jenkins来进行持续集成的。

三、接口测试的数据准备,应该怎么做呢?

接口测试的数据准备,可以从下面几个方面去考虑:

1、如果是只测试一次的接口,可以使用硬编码的方式准备测试数据,在写测试代码的时候,使用到什么数据就写什么数据,为了避免数据重复,可能比较多的会用到随机字符或随机数

2、可以直接通过调用其他API的方式准备测试数据,这种情况在测试最上层服务的时候比较有用,比如测试团购购买服务,就需要准备要购买的团购数据,购买团购的用户数据,这个时候,可以直接调用生产团购的api和生成用户的api直接生成测试数据

四、接口测试怎么设计测试用例呢?

我觉得接口测试用例的设计方法其实和功能测试用例的设计方法是类似的,因为接口是需要满足需求的,而接口测试所依赖的也是需求说明书,但是,因为接口测试毕竟是通过代码去测试代码,所以,为了保证覆盖率,可能会使用到单元测试的方法,具体的测试用例设计,参考如下:

1.输入参数测试: 针对输入的参数进行测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做了相应的处理:

输入参数合法,

输入参数不合法,

输入参数为空,

输入参数为null,

输入参数超长;

2.功能测试:接口是否满足了所提供的功能,相当于是正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例具有更好的可读性和维护性。

3.逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常;

4.异常情况测试:

接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何的异常都进行处理。可以看看这篇文章:接口测试总结

五、接口测试工具有哪些?

1.Wireshark:用来获取网络数据封包,包括http,TCP,UDP,等网络协议包

img_9ba521817e6812e0d493afde2f902bd6.png
Wireshark接口测试工具1

2.Postman:不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一

img_16675fb99f909db6d196b42058566ac0.png
Postman接口测试工具2

3.HttpRequester:firefox上的一个插件工具,可以模拟多种请求,界面简单清晰,上手容易,也是小编比较喜欢的一款工具之一

img_f5cf843aaef716da3a092377cfe9e6fe.png
HttpRequester接口测试工具3

4.fiddler:史上最强大的app、web接口调试工具,没有之一,不解释

img_1c6497966688029e408e439474750a4b.png
fiddler接口测试工具4

原文参考:TesterHorde测试部落

目录
相关文章
|
2天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
11 0
|
2天前
|
测试技术 开发者 Python
Python中的单元测试
【5月更文挑战第8天】在Python软件开发中,确保代码质量是关键,单元测试和测试驱动开发(TDD)是实现这一目标的有效方法。本文介绍了如何使用unittest和pytest进行单元测试,以及如何通过TDD编写可靠代码。首先,展示了单元测试的基本概念和示例,然后详细解释了TDD的"红-绿-重构"循环。此外,还讨论了pytest如何简化单元测试,并给出了使用TDD重构函数的例子。
6 1
|
3天前
|
监控 PHP Python
1688快速获取整店铺列表 采集接口php Python
在电子商务的浪潮中,1688平台作为中国领先的批发交易平台,为广大商家提供了一个展示和销售商品的广阔舞台;然而,要在众多店铺中脱颖而出,快速获取商品列表并进行有效营销是关键。
|
7天前
|
监控 测试技术 持续交付
Python自动化测试代理程序可用性
总之,通过编写测试用例、自动化测试和设置监控系统,您可以确保Python自动化测试代理程序的可用性,并及时发现和解决问题。这有助于提供更可靠和高性能的代理服务。
12 4
|
10天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
11天前
|
测试技术 Python
python运行集成测试
【4月更文挑战第22天】
10 1
|
11天前
|
测试技术 Python
python编写集成测试
【4月更文挑战第22天】
4 1
|
12天前
|
数据可视化 测试技术 持续交付
python分析测试结果
【4月更文挑战第21天】
20 3
|
12天前
|
XML 测试技术 持续交付
python运行集成测试
【4月更文挑战第21天】
21 2
|
12天前
|
测试技术 Python
python编写集成测试用例
【4月更文挑战第21天】
20 1