前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试_接口测试面试题_1.5

软件测试_接口测试面试题_1.5

作者头像
测试小兵
发布2024-04-11 14:17:53
600
发布2024-04-11 14:17:53
举报
文章被收录于专栏:猪圈子猪圈子

接口测试是软件测试中的重要环节,它主要验证系统不同模块之间的通信和数据交互是否正常。在软件开发过程中,各个模块之间的接口是实现功能的关键要素,因此对接口进行全面而准确的测试是确保系统稳定性和可靠性的关键步骤。

接口测试的核心目标是确保系统在不同模块之间的数据传输和交互的正确性。通过对接口的输入和输出进行验证,我们可以确保系统在实际运行中能够正常工作,并且符合预期的需求。在接口测试中,我们需要关注接口的功能、性能、安全性和可靠性等方面,以保证系统的高质量和稳定性。

在进行接口测试时,我们需要根据系统的设计和需求文档,设计合适的测试用例,对接口的各种情况进行全面的覆盖。同时,我们还需要使用各种工具和技术来模拟不同的测试场景,以确保系统在各种情况下都能正常运行。通过接口测试,我们可以发现并解决系统中的潜在问题,提高系统的可靠性和稳定性。

总之,接口测试是保证系统正常运行的重要环节,它能够帮助我们发现并解决系统中的问题,确保系统的高质量和稳定性。通过全面而准确的接口测试,我们可以提高系统的可靠性和可用性,满足用户的需求,并为软件开发和维护工作提供有效的支持。

01.按你的理解,软件接口是什么?

就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数

02.HTTP和HTTPS协议区别?

https协议需要到CA(Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用;

http是超文本传输协议,信息是明文传输,Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全;

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

03.HTTPS在哪一层?

HTTPS在应用层

04.get和post区别是什么?

POST和GET都是向服务器提交数据,并且都会从服务器获取数据

1.传送方式:get通过地址栏传输,post通过报文传输

2.传送长度:get参数有长度限制(受限于url长度),而post无限制

3.GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)

4.get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留

5.在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式

05.常见的POST提交数据方式?

主要有四种方式:application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml等

06.什么是Http协议无状态协议?怎么解决HTTP协议无状态协议

无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。客户端与服务器进行动态交互的 Web 应用程序出现之后,HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session

07.cookie和session的区别

cookie数据存放在客户的浏览器上,session数据放在服务器上

cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie

单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie

08.请求接口中常见的返回状态码

1xx -- 信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个1xx响应)

2xx -- 成功(表明服务器成功地接受了客户端请求)

3xx -- 重定向(客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求)

4xx -- 客户端错误(发送错误,客户端有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份证验证信息)

5xx -- 服务器错误(服务器由于遇到错误而不能完成该请求)

200 OK - [GET]:服务器成功返回用户请求的数据

201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功

202 Aceepted - [*]:表示一个请求已经进入后台排队(异步任务)

204 NO CONTENT - [DELETE]:用户删除数据成功

400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作

401 Unauthorized -[*] :表示用户没有权限(令牌、用户名、密码错误)

403 Forbidden -[*] :表示用户得到授权(与401错误相对),但是访问被禁止

404 NOT FOUND -[*]:用户发出的请求针对得到是不存在的记录,服务器没有进行操作,该操作是幂等的

406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)

500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功

09.什么是DNS?

DNS 是域名系统 (Domain Name System),DNS是用来做域名解析的,它会在你上网输入网址后,把它转换成IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了

10.请问你们公司是如何做接口测试的?

接口测试实际跟一般测试不同就是测试用例的设计部分。

①获取接口规范。

②设计接口测试功能用例(主要从用户角度出发看接口能否实现业务需求,用例设计就是黑盒用例那一套)。

③各种入参验证(正常情况,异常情况包括输入参数个数不对,类型不对,可选/必选,还有考虑参数有互斥或关联的情况)。

④接口返回值各种验证(符合接口文档需求)

⑤了解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/判定/…)

⑥接口能并发执行吗、安全吗,性能满足要求吗?

⑦采用工具或者自写代码来验证。

⑧发现问题跟功能测试一样,该报bug报bug,该跟踪状态的跟踪状态

总结

接口测试是软件测试中一个至关重要的环节。通过验证系统各个模块之间的通信和数据交互是否正常,接口测试确保了系统的稳定性和可靠性。在接口测试中,我们需要关注功能、性能、安全性和可靠性等方面,以保证系统的高质量。通过设计合适的测试用例和使用适当的工具和技术,我们可以发现并解决系统中的潜在问题,提高系统的可靠性和稳定性。接口测试不仅能够满足用户的需求,还为软件开发和维护提供了有效的支持。因此,我们应该高度重视接口测试的工作,并不断优化和完善它,以确保系统能够正常运行,并满足用户的期望。

上一篇:面试题_软件测试岗_UI自动化篇_1.4

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档