什么是什么阶段进行接口测试?

这个问题可不是简简单单的问你測试接口的流程接口的返回值验证,从这个问题中可以看出你的技术深度逻辑思维,测试经验等所以我希望这个题大家说的全面一點,比如性能安全,压力负载等等,分点回答条理清晰一点

「原创声明:保留所有权利,禁止转载」

TesterHome 为用户提供「保留所有权利禁止转载」的选项。 除非获得原作者的单独授权任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容否则均视為侵权。 具体请参见

如果觉得我的文章对您有用请随意打赏。您的支持将鼓励我继续创作!

  1. 整理接口对于老项目,拉取线上调用量最夶的10%先做对于新项目,来一个做一个
  2. 选取合适的框架,无论用已有框架还是现有框架
  3. 接入持续集成和覆盖率主要观察什么阶段进行接口测试的覆盖率

比如性能,安全压力,负载等等

这些往往不会在什么阶段进行接口测试里来考虑而会在压测里考虑,安全测试则由咹全测试覆盖

(个人面试时经常回答的)我觉得应该从以下方面入手回答 为什么做什么阶段进行接口测试(概述),什么时候开始做什麼阶段进行接口测试(流程)怎么做什么阶段进行接口测试(方法),做了之后得到什么、提升了什么、跟预期对比有什么结果(结果)其实回答下来的话,基本就是一个什么阶段进行接口测试的测试计划了

后方可回复, 如果你还没有账号请点击这里

  • 【我是一本正经的广告】
}

什么阶段进行接口测试中的接口箌底是什么

先看一道题请找出以下可以被成为接口的选项:

interface的中文译名为 “界面” 或 “接口”。当接口是 interface 的译名时,接口是用于沟通的中介物的抽象化概念

不同的事物之间很难有办法进行沟通交流,所以才有牛头不对马嘴的说法电脑要想获取手机里面的数据,最简单的辦法就是使用一个适配器把二者匹配起来这个东西就是 USB 接口。电脑要想通电和电力系统进行交流,也需要用到接口也就是电源适配器。水龙头的作用也类似

这类接口被称为硬件接口。硬件接口(hardware interface)指的是两个硬件设备之间的连接方式硬件接口既包括物理上的接口,还包括逻辑上的数据传送协议

像 USB接口,3.5mm 耳机接口都属于接口有了接口,我们就可以对不同的物体进行适配让他们之间进行数据交互,达到沟通的目的但是他们相互之间并不知道对方内部发生了什么事情,他们在乎的是对方到底有没有给我相应的数据和回馈

耳机裏面播放出音乐,耳机是不会管电脑和手机是如何把一个 mp3 文件转化成声音的更不会管 cpu 里有多少个晶体管在工作,不会管他们用的是 Intel 芯片還是 海思芯片

同样的,当我们去银行取钱的时候我们只需要提交申请单给银行柜员,然后银行柜员会给我们很多钱至于工作人员在櫃台后面执行了什么操作,我们是不知道到的

接口除了硬件接口,还有软件接口这也是我们日常主要理解的接口形式。软件接口是涉忣到软件程序和其他系统进行交互沟通的时候的接口它可以分为两类:

  • 用户和程序之间的中介。

  • 程序与程序之间的中介

用户和程序之間的中介被称为用户界面或者用户接口,也就是 UI (User Interface)所以 UI 也是一种接口。

API(Application Programming Interface应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力而又无需访问源码,或理解内部工作机制的细节

通过定义可以知道,API 还是繼承了接口定义的特性提供的还是和其他系统进行沟通的能力,而不需要其他系统如何实现的

用来描述 API 的功能和具体设置的说明被成為 API 文档,也叫接口文档接口文档通常包含以下部分:

如果你会一门编程语言,比如说 python你总是会有机会接触到第三方库的 API 文档,像我们經常使用的 requests 库的 API 文档就在这里:

文档中关于 get 这个接口的文档描述是这样的:

通过上面的例子我们知道一个接口对应的其实是一个函数接ロ get 指的就是 request.get(url, params=None, **kwargs) 这个函数。当然他也可以通过类的形式存在

函数 f() 就像机器或黑箱,给予输入值 x 便产生唯一输出值 f(x) 这和接口的解释异曲同工。他们都只关心相互传递的数据而不关心对方内部的实现过程。

当你写了一个库里面有很多函数,如果别人要使用你这个库但是看鈈懂每个函数内部是怎么实现的。这个时候他就会去看你关于这个函数的说明这个函数的作用是什么,需要传递哪些参数会返回什么數据。对于使用这些函数的用户来说 你的这些函数就是 API。

在工作中有一个非常有意思的现象我们会把某个 URL 称为接口。这是为什么呢

茬进行 HTTP 请求的时候通常来说 URL 地址会和接口进行绑定。当访问一个 URL 地址时服务器会执行对应的接口,也就是函数

如果后端工程师提供一個函数给我,说这是你要的登录接口我肯定会很困惑,因为我不知道函数是什么;但如果他给我一个 URL 地址我就会非常开心。

因为函数對于非专业人员不友好所以我们通常就用 URL 来代替函数来称呼接口。当我们讨论某个接口的时候指的是 URL 后面绑定的函数。


}

Web API什么阶段进行接口测试和 我们熟悉的UI测试有什么区别吗?

其实 没有什么本质的区别 最大的不同就是输入构建,输出检查的方式有些差异

UI测试,  测试人员可以直接对产品进行测试比如,直接手工操作浏览器 或者手机app 对产品进行测试

而API什么阶段进行接口测试,通常需要使用测试工具  对产品 发送 HTTP消息,检查输出进行测试。

那么什么阶段进行接口测试的测试工具哪里来呢

现在市场上有很多支持web服务接口(主要是REST接口)测试的工具。

这些工具核心功能都是类似的:

都是构建HTTP请求消息,并且解析收到的HTTP响应消息 判断是否符匼预期

大家可以根据自己的需求,选择使用

一般学会了一种,其它的核心功能基本类似无非就是如何构建http请求,查看HTTP响应消息

因为Web API测試本质上就是构造发送http请求检查 HTTP响应消息,

所以我们完全可以利用编程语言(比如Python语言)和一些库构造HTTP请求消息,并且获取解析收到嘚HTTP响应消息

自己开发工具的好处是:

  • 可以替代 postman,做手工测试

  • 更加适用于完全的自动化并且和自动化框架结合起来使用。

QA一定要做什么階段进行接口测试吗

我们一定要做web API的测试吗?

移动互联网非常火热目前做这些产品的公司动不动就说要做什么阶段进行接口测试。

面試的时候也会经常问到。

可能大家会说那肯定要做啊。

很多产品的服务端提供的 API 接口并不是直接暴露给用户的。这是产品内部的接ロ

对这些内部接口的测试,主要应该由开发自己去完成

而测试人员的通常做的测试, 称之为系统测试是以用户的角度进行的测试,  應该测试的是外部接口 比如暴露给用户的操作接口, 也就是测试用户操作

什么样的接口,需要测试人员直接测试呢那就是直接暴露給外部的接口。

所谓暴露出来就是提供给 客户的产品,别的厂商的产品别的部门的产品

总之,是给其他系统使用的那就我们测试部門就应该进行测试

举个例子,比如阿里云的OSS API

注意:对阿里云OSS系统这个产品来说,这个接口是给外部使用的 就是 第三方系统的程序员使鼡的, 不是内部接口

所以这样的接口一定需要测试人员测试。

但是如果有些API接口压根就是 前端APP和后端服务的 一个产品的内部接口
这些接口,甚至都没有写在给测试人员的需求文档中

测试人员去做完全的测试, 不是必要的即使你测试了, 发现了问题 开发往往也不会承认。

比如: 登录接口规定的用户名长度是 6-10 . 你跳过前端,直接对服务端进行什么阶段进行接口测试你输入一个长度为1的用户名, 结果也荿功了

你提交了一个bug,结果 开发人员打回了bug为什么?

因为产品的前端就会做这个校验 我们测试人员做的测试, 被测系统是一个整体 客户通常不会直接发送 请求给服务端的,所以我们绕过前端直接对 服务端测试,往往不会被开发人员认同

对于内部接口,在测试有餘力的情况下通常只需要做一些安全性测试,比如查看接口中的漏洞之类的

文中图片素材来源网络,如有侵权请联系删除

}

我要回帖

更多关于 什么阶段进行接口测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信