【接口测试认识2】【接口测试的本质】

【接口就是后台中的一个方法/函数】

0 为什么要做接口测试

0.1 比ui测试落地性价比更高,接口比ui更稳定。

0.2 发现bug的时间更早,后台对应模块开发完成就可以展开测试

0.3 分模块进行接口测试。定位bug的效率更高,更容易

1 URL的格式(统一资源定位符)

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

scheme:传送协议,一般为http

层级URL标记符号(为[//],固定不变)

user[:password]@ 访问资源需要的凭证信息(可省略)

host:服务器。(通常为域名,有时为IP地址)

port:端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)

path 路径。(以“/”字符区别路径中的每一个目录名称)

?之后表示参数(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题),参数也可能没有

片段。以“#”字符为起点(不知道有什么用)

【---------------------

作者:夏莅庄

来源:CSDN

原文:https://blog.csdn.net/qq_36004598/article/details/78965334

版权声明:本文为博主原创文章,转载请附上博文链接!】

2 访问服务器端的过程:开发使用MVC框架,将URL的路径和后台中的某个函数建立起映射关系。前端向服务器发送接口请求(URL),服务器通过映射关系找到对应的方法,将参数A传入入到该方法中(如果没有参数省略这里),然后得到一个返回值B,将B返回给前端。

2.1 服务器端只有和路径建立了映射关系的方法才能直接通过URL进行访问,其他的方法不能被外部访问,所以可以对方法进行分类,对应就有2种接口,外部和内部接口。建立了映射关系的就是外部接口,其余的就是内部接口。

3  外部接口测试和UI测试的区别

3.1 UI测试专注于用户界面,bug来源于页面的反馈

3.2 接口(这里指外部接口),借助客户端工具(Jemeter,Postman,Fidder,Soapui等)模拟前端页面发送接口请求,关注于返回数据是否和预期一致。

4 内部接口怎么测试

单元测试,通过main方法进行测试(针对java开发)

5 接口之间如果存在依赖关系怎么测试

通过该Testng的依赖测试连接接口进行测试。

6 外部接口的分类

6.1 webService接口是走 soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。

6.2  http api接口是走 http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。

【疑问】

1 很多URL中的路径不能作为后台某个方法的映射,那开发是否存在其他的结构来实现路径和后台方法的映射?比如

https://www.jianshu.com/writer#/notebooks/35270496/notes/43365358

https://blog.csdn.net/qq_36004598/article/details/78965334

还有路径以xxx.xml 结尾的URL,这种http请求没有调用接口,直接返回该路径下的xml 资源。

http请求应该分为2类,单纯的文件资源请求和有数据传递的请求。

文件资源一般包括图片(.jpg ) js  css 文件

数据传递:传入参数,返回有格式的字符串,比如json xml, 这种

那种路径看起来不像是能确定某个方法的URL,应该是webservice接口对于的URL,webservice接口对应的开发框架也许都不是mvc

2 URL中端口号的意义,

3 接口的返回值共计有多少种?

4 json是什么?

有格式的字符串

是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据

https://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容