测试工程题

1、Http与Https的区别

  1. https协议需要用到CA(Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ss加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的连接很简单,是无状态。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(无状态的意思是其数据包的发送,传输和接接收都是相互独立的,无连接的意思是指通信双方都不长久的维持对方的任何信息)

2、在浏览器中发送一个http请求的过程发生了什么?

  1. 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。
  2. 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。
  3. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
  4. d.当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

3、常见响应状态码

  1. 200 请求正常,服务器正常的返回数据
  2. 301 永久重定向,比如在我访问www.jingdong.com的时候会重定向到www.jd.com
  3. 302 临时重定向。比如在访问一个需要登陆的页面的时候,而此时没有登陆,那么就会重定向到登陆页面
  4. 400 请求的url在服务器上找不到。换句话说就是请求url错误
  5. 403 服务拒绝访问,权限不够
  6. 500 服务器内部错误,可能是服务器出现bug了

3、同步和异步的区别什么?

同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。

异步:
将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了

4、永久重定向和临时重定向的使用场景?对应的状态码是什么?

比如京东:
你输入www.jingdong.com 就会重定向到www.jd.com。这个就是永久重定向,状态码是:301

你要去订单页面,但未登录,这时候点击就会先去登陆页面,这个是临时重定向,状态码是302

5、自动化的显式等待和隐式等待有和区别

显示等待:是针对于某个特定的元素设置的等待时间,如果在规定的时间范围内,没有找到元素,则会抛出异常,如果在规定的时间内找到了元素,则直接执行,即找到元素就执行相关操作。

隐式等待:是设置的全局等待,分为1、页面加载超时等待 ;2、页面元素加载超时;3、异步脚本超时

6、一个登陆界面,你能列出几个维度,对应的测试点是什么?怎么判断你的覆盖度

a:UI层
b:接口层
c:安全层
d:性能层
e:易用性层
然后根据对应的层去拆分

7、token、session,cookie的区别的?

  1. Cookie和Session都是会话技术,Cookie是运行在客户端,Session是运行在服务器端。
  2. Cookie有大小限制以及浏览器在存cookie的个数也有限制,Session是没有大小限制和服务器的内存大小有关
  3. cookie有安全隐患,通过拦截或者本地文件找到你的cookie后可以进行攻击
  4. Session是保存在服务器端上会存在一段时间才会消失,如果session过多会增加服务器的压力
  5. token和session都是为了身份验证,session被翻译为会话,token被翻译为令牌。
  6. 身份认证token安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全
posted @ 2020-04-26 23:54  智、心  阅读(173)  评论(0编辑  收藏  举报