肖sir__高级讲师___多测师讲解面试题(归纳)


前后端交互原理
注意:前端开发与后台交互的数据格式主要是什么?
    主要是JSON,XML现在用的不多

为什么先流行采用json格式进行数据交互?
1、数据格式比较简单,易于读写、数据的体积小
2、易于解析、支持多语言
3、JSON的处理速度块

1、数据是怎么发送到后端?
2、后端是怎么接收到前端发送过来的数据?
3、后端怎么对前端发送来的数据进行处理?
4、处理完之后又怎么写入数据库,以及给前端返回处理结果?
具体代码怎么处理我们不做重点,关键明白这个理


首先我们的数据处理大概分三层来看:表示层(显示层),业务层、数据层
第一层,表示层,这部分可以用HTML代码,CSS/Javascript代码来实现等。通过前端代码可以实现网页的布局和设计。这层又可以称为显示层。也就是你用浏览器打开能看到的网页。

第二层,是业务层,这层是负责处理数据的。常用的代码语言有PHP,JSP,Java等。通过这些后台处理语言的算法来处理前台传回的数据。必要的时候进行操作数据库,然后把结果返回给前端网页。

第三层,是数据层,这个就是数据库,用来存储数据的。通过业务层的操作可以实现增删改数据库的操作。

具体处理流程如下:
首先你接触到的是这个网页是属于表示层,这个网页一般由HTML标签结合CSS/JAVASCRIPT来实现的。 这时候你要先填入数据。

然后你从前台提交数据(传参)在公司可以通过form表单形式处理你要传参,通过触发一些按钮事件提交到后台,或者也可以用ajax和json格式(也是通过get或者post方式提交)传参,
后台接收后触发相应的后台处理机制,这时候数据会传到后台的代码进行处理。这部分代码根据不同网站可以使PHP,JSP,JAVA等语言处理。 代码根据程序员预设的算法将收到的数据进行处理之后会相应的对数据库进行操作,存储数据等。

最后你成功操作完数据库之后,业务层的代码会再向表示层也就是显示器端传回一个指令通知你表格填写成功

前台的bug:通常是功能、界面和兼容性等有关;
后台的bug:与逻辑、性能和安全性有关等问题,
例如:http请求中的参数是否正确,如果http请求中的参数不正确,为前端Bug  
例如;如果接口URL和参数都正确,查看响应内容是否正确,如果这种情况下响应内容不正确,则为后端Bug
 
前台bug定位:按F12在console中查看报错信息   
后台bug定位:查看报错日志,通过日志分析,查数据库等
 
web测试定位Bug的方法
 web测试过程中,怎么判断前端Bug还是后端Bug?可以通过抓包工具来进行抓包分析。
大多数的浏览器都有自带的抓包插件,F12开启抓包后,在NetWork中可以看到当前页面发送的每一个http请求。通常情况下,我们可以通过请求接口、传参和响应三部分来判断Bug,
(1)请求接口URL是否正确
     如果请求接口URL不正确,为前端Bug;
(2)http请求中的参数是否正确
     如果http请求中的参数不正确,为前端Bug;
(3)如果接口URL和参数都正确,查看响应内容是否正确
     如果这种情况下响应内容不正确,则为后端Bug。
(4)如果JS基础比较好的话,也可以在浏览器的控制台中输入JS代码进行调试
 
2.后端的Bug,如何准确的定位问题在哪里,如何精准的描述Bug?
(1)查看报错日志
  查看报错日志,通过日志分析,需要有一定的经验,并且有一定的代码基础,才能更好地定位问题。
(2)查看数据库的数据
  了解所测功能的数据表结构,测试过程中,查看数据库的数据,确认数据的正确性。

3、数据库如何测试:
1)数据的正确性测试:数据有无乱码、页面的增删改查,数据库是否成功的显示相应的数据
2)数据库构造:数据库配置文件修改不能否访问数据库、构造异常的数据不能否在页面显示、加密字段是否密文显示
3)数据同步测试:构造重复的数据看数据库是否能去重、是否有对异常数据的容错处理机制(处理方式建议是正常的数据入库成功,异常的数据入库失败并单独保存在异常数据表中,也同时呈现在页面;)是否有历史数据处理机制;敏感字段的值是否按照要求进行了安全的加密处理
4:突发情况:目标数据库停止服务
目标数据库突然断电或重启
源数据在同步过程中网络异常中断
          数据入库失败,是否可以快速进行数据回滚以恢复数据
          目标表被锁时,解锁机制是否易用
 
 
我做过的数据库测试主要有以下几个测试点:
1. 我要测关闭数据库,前端页面是否能打开
2. 页面的增删改查,数据库是否成功的显示相应的数据
3. 我要测数据库配置文件修改是否能访问数据库
4. 我要测构造异常的数据是否能在页面显示
5. 加密字段是否密文显示
6.我要测数据库是否显示有报异常的日志
7.表的上下级变更字段是否会错位
8.页面填写非空字段为空,数据库是否能显示

原文地址:https://www.cnblogs.com/xiaolehua/p/14204061.html