软件测试面试题

UDP协议和TCP协议区别

传输控制协议(Transmission Control Protocol)

用户数据报协议(User Datagram Protocol)

TCP 协议和 UDP 协议都是传输层的两个协议:它们的区别主 要有如下 3 个方面:

连接方式:

TCP 是面向连接,就像打电话要先拨号建立连接一样;

UDP 是无连接的,即发送数据之前不需要建立连接。

可靠性:

TCP 可以提供可靠的服务,能保证数据传输无差错, 不丢失,不重复,且按序到达;

UDP 协议只是尽最大努力 交付,即不保证可靠交付。

传输效率

因为 TCP 以上两个特点,所以对应传输效率相对较低,

UDP 效率高,所以一些注重速度而不在乎的丢包的场景, 会选择用 UDP 协议,比如 IP 电话,流媒体等。

连接数量的区别:

TCP连接只能是一对一、点对点的。

UDP支持一对一、一对多、多对一和多对多的交互通信。

首部:

TCP报文首部20个字节,UDP首部8个字节。

面向方式:

TCP面向字节流。实际上是TCP把数据看成一串无结构的字节流,由于连接的问题,当网络出现波动时,连接可能出现响应问题。

UDP是面向报文的。UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。

TCP/IP三次握手

TCP 协议要建立连接的时候,需要经历三次握手的过程:

第一次握手: 是客户端向服务器发起的,用来申请建立连 接的,这个报文中的 SYN 标志位标记为 1,所以我们也叫作 SYN 包;

第二次握手:是服务器回复客户端的,用来确认并接受连接 请求的,这个报文中的 SYN 位和 ACK 位都标记为 1,所以叫 做 SYN-ACK 报文;

第三次握手:仍然是客户端发给服务器的,用来确认服务器 的回复消息,这个报文中的 ACK 标志位标记为 1,所以我们 也叫作 ACK 包。 这就是 TCP 协议的三次握手过程。

TCP协议的四次挥手

TCP 协议完成了数据发送之后,就会断开连接,此时就需要 经历四次挥手的过程:

第一次挥手:是客户端向服务器发起的,用来申请断开连接 的,这个报文中的 FIN 标志位标记为 1,所以我们也叫作 FIN 包;

第二次挥手:是服务器回复客户端的,用来确认客户端的上 一个断开连接请求的,所以是一个 ACK 报文;

第三次挥手:仍然是服务器发给客户端的,用来告知客户端 服务器的数据发送完毕了,需要断开连接;这个报文中的 FIN 标志位标记为 1,所以也是一个 FIN 包。

第四次挥手:是客户端回复服务器的,确认服务器的上一个 断开连接请求,所以也是一个 ACK 报文; 这就是 TCP 协议的四次挥手过程。

————————————————

三次握手是客户端与服务端建立通信的过程。

第一次:客户端向服务端发送请求,确认服务端是否能够收到请求。

第二次:服务端向客户端响应,告诉客户端,我已经收到你的请求。并且准备好接收其他请求

第三次:客户端再次发送请求,告诉服务端,我已经收到了你的恢复,并且我也准备好了。

四次挥手是客户端与服务端结束通信的过程。

第一次:客户端向服务端发起结束的请求。

第二次:服务端向客户端响应,收到你结束请求的通知了。

第三次:服务端向客户端发起,服务端收到这样的请求后,会去处理现有的数据请求,在现有的数据请求处理完成以后,会正式回复客户端的结束请求。

第四次:客户端向服务端发起,表示已经收到了你的结束回复。

————————————————

左连接和右连接简单描述

左连接(left join)是显示左表所有数据,及右表满足条件的数据,右表无数据则显示 null。

       是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。

右连接(right join)则是显示右表的所有数据,及左表满足条件的数据,左表无对应数据则显示 null。

       是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。

内连接(inner join)是显示左右两张表连接字段相等的数据。

       同时将两表作为参考对象,根据ON后给出的两表的条件将两表连接起来。结果则是两表同时满足ON后的条件的部分才会列出。

总结:

两个表:A和B,分别将其当做一个集合,左右外连接和内连接就类似于下面的公式

A Left join B-> A (根据返回需求 需连接上B中与A等条件的部分)

A Right join B -> B(根据返回需求 需连接上A中与B等条件的部分)

A Inner join B -> A∩B(根据返回需求 需连接上A与B等条件的部分)
 

get post 方法有什么区别

(1)get 请求的参数是放在 url 里面,而 post 请求的参数是 放在请求体里面的

(2)get 请求呢可以被浏览器缓存,而 post 请求时不能被缓 存的。

(3)get 请求参数因为放到 url 里面,而 url 的长度是受限的, 它最大就是 2048 个字符;而 post 的长度是没有限制的

(4)同样是因为 get 请求的参数放在 url 里,所有安全性是 比较差的;post 请求的参数呢放在 body 里,安全性相对就 好一些了

(5)get 请求可以通过浏览器直接访问,支持刷新和后退。 post 请求呢,是不能被浏览器直接访问的,刷新后台数据需 要重新传送。

GET对数据进行查询,POST主要对数据进行增删改!简单说,GET是只读,POST是写

对于参数的数据类型,get只接受ASCII字符,而post没有限制。

如何做APP兼容测试

app 的兼容性主要包括硬件设备操作系统、屏幕尺寸分辨率,还有网络的兼容性。

1、硬件兼容性,我们一般需要覆盖市面上主流手机厂家及 各型号的产品。可以在一些统计类平台,例如百度流量研究 院,获取最新的设备占有率排行,一般要考虑厂家情况进行 组合挑选。如果公司资源有限,则可以选择云测平台像 Tesin、 TX 的 WeTest 做辅助测试

2、操作系统的兼容性,我们需要覆盖市面上主流的操作系 统及其各版本,我们需要做 app 的安装及卸载测试,测试 app 能否正常运行,并对核心功能进行回归。

3、辨率的兼容性。我们需要覆盖市面上主流设备的分辨率 及屏幕尺寸。这里主要关注的是 ui 对各种分辨率、各种屏 幕尺寸的设备情况。需要测 app 的界面显示及排版是否正常。

4、网络兼容性。在不同的网络制式、运营商下,app 是否能 够正常运行,这块需要用真机环境进行测试。需要连接个主 流网络运营商提供的网络去测。

 缺陷按优先级分为哪些类型? p1-p5 面试重点

  • 缺陷必须立即解决
  • 缺陷要求正常排队等待修复
  • 缺陷可以在方便时被纠正
  • 下一个版本修复
  • 不修复

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值