目录
一、接口测试基础
1、公司接口测试流程是什么?
从开发那边获取接口设计文档、分析接口并进行用例设计、并提前录入到接口测试工具
jmeter,等开发那边进行调试的时候(集成测试),执行接口测试用例,把发现的缺陷给开发
2、从开发那获取接口设计文档之后,你如何进行分析?
- 单个接口的相关信息(接口功能、请求类型、请求地址、请求参数、返回值)
- 接口组合形成的业务
3、接口测试用例设计主要使用哪些用例设计方法?
接口测试一般只需要考虑入参形式的变化和接口的业务逻辑,一般设计接口测试用例采用等价类、边界值、场景法居多
4、接口测试执行中比对数据库吗?
需要进行,因为接口的返回值类似于提示信息,而接口对数据的操作还要进行深层次的检查
5、谈谈你对 HTTP 协议的了解?
超文本传输协议,端口为 80,特点(无记忆功能、快速)是由请求和响应两部分组成请求由请求头、请求行、请求正文组成;响应是由响应头、响应行、响应正文组成,之前我们公司的接口是采用https 协议的。
https http+ssl 协议 端口 443 面向安全的超文本传输协议
6、get 和 post 请求有什么区别?
get 和 post 请求都是客户端向服务器提交的一种请求方式get 是明文传输参数、倾向于请求服务器资源。比如打开网站
post 传输数据不可见,安全性高,倾向于向服务器提交数据,比如注册等
7、响应状态码有哪些?
1xx:指示信息--表示请求已接受,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
8、在接口测试过程中发现的 bug 多不多?
在联调阶段执行接口测试发现的 bug 会很多,在冒烟测试、回归测试阶段执行接口测试的时候,bug 就很少
9、......
二、 接口测试工具
1、之前在接口测试过程中,使用的工具是什么?
postman(不知道)和 jmeter(5.1)
2、之前用过抓包工具没有?如何使用的?
之前在项目中用过fiddler 抓包工具进行 HTTP 协议请求的抓取
打开 fiddler 之后,默认浏览器配置了 127.0.0.1 8888 端口的代理,在fiddler 设置好过滤策略后,打开需要进行抓包的网站进行操作,就可以进行抓包
3、json 数据是什么,你平时如何解析 json 数据?
一种开发常用的数据报文格式,由键值对和数组两种格式构成。可以通过工具 bejson 网站等
4、postman 你在工作中使用流程是什么样的?
- 编写好用例
- 在 postman 先建好 url 环境变量
- 根据接口用例所属的模块新建集合管理
- 在集合中不同模块下录入测试用例
- 录入测试用例的时候根据预期结果在 tests 页签中增加断言
- 导出通过 Newman 去运行
5、postman 中设置环境变量有什么用?
在之前项目中,接口测试测试的环境有开发环境,测试环境等,为了测试的时候方便,就在
postman 设置环境变量,到时所有接口都引用该环境变量,这样就不用为了切换环境导致每次都去修改被测系统接口的主机地址;点击右上角环境变量管理按钮-新建环境变量,在脚本中使用{{变量名}}去调用。
找工作面试必看,自动化测试简历怎么做?教你3天收获7个offe_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1kY4y1X7LQ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
三、自动化测试
1、公司如何把自动化测试在项目中开展起来?
项目组调研自动化(选择工具)--- 开会演示 demo(例子)--- 在项目中开展自动化 --- 把该项目的自动化流程、框架固化成文档 --- 推广到公司的其它项目组应用
2、描述公司自动化测试流程?
编写自动化测试计划-->设计自动化测试用例-->编写自动化测试脚本-->调试并维护脚本-->无人值守测试-->后期维护(添加用例、开发更新版本)
3、自动化测试用例如何编写? 如下答案二选一:
自动化测试工程师自己设计的,一般刚开始已基本业务流程为主(登录--完成一个业务--退出)
从系统测试用例中进行筛选或由业务工程师提供
4、上一个项目中自动化测试的执行策略?
上一个项目中是定时执行的,一般设置的执行时间是晚上和周末,执行完毕会自动发送邮件通知
5、自动化测试发现 BUG 多吗?
不多,因为之前项目组是把已经测试通过的基本功能再进行自动化脚本编写和在后续版本执行自动化测试,它主要是保证已经测试通过的功能在新版本更新后也很稳定,不会产生功能错误
四、自动化测试工具
1、在上一家公司做自动化测试用的什么框架?
可以说出以下自己擅长的一种:
- python+selenium+unittest+htmltestrunner
- java+selenium+testng+reportng
- robotframework+Selenium2Library
2、做自动化测试过程中,你是如何定位和识别元素?
谷歌开发者工具打开之后,用鼠标选中元素去识别元素信息
元素定位使用定位api,可以根据 id/name/classname/tagname/link_text/xpath/css
3、如果一个元素通过写的方式无法识别,会有哪些方面的原因,如何处理?
- 页面加载元素过慢,加等待时间
- 页面有 frame 框架页,需要进行跳转
- 可能该元素是动态元素,识别方式要优化
- 可能识别了元素,但是不能操作,先把前置的操作完成。
五、总结
因篇幅限制只能给大家展示一部分,需要完整资料的可以点击下方名片加我免费领取。另外还有测试过程中要用到的工作模板,简历模板及学习电子书和视频教程等,希望可以帮到大家。
视频教程: