-----------------------------------功能测试题---------------------------------------
1、你们公司的测试流程是什么样的?
①新需求下来,开需求培训会议,测试经理制定测试计划,根据测试计划,分析属于自己要测试的模块与需求。
②需求分析完后开始编写用例,用例编写完组织用例评审会,评审用例的覆盖率及补充一些没有覆盖的用例
③搭建测试环境,执行测试用例,提交系统测试中发现的bug,最后回归bug,编写测试报告,补全/完善用例的覆盖率和可执行性
2、你平时是怎么设计测试用例
最主要的还是熟悉需求,把握好测试的要点,尽量让用例覆盖每个需求点,设计用例时会运用黑盒测试用例设计的方法:边界值,错误推断,等价类之类的
3、你们公司在测试过程中是如何保证软件质量?
测试用例写完进行用例评审,补充没有覆盖的用例,测试时间宽裕的话可以做交叉测试
--------------------------------接口面试题分割线---------------------------------
4、你觉得什么是接口
接口就是程序不同模块之间传输数据并作处理的类或函数
5、你们公司的接口测试流程是怎样的?
开发人员编写好接口文档->测试人员熟悉接口文档(请求地址,请求方式,入参,出参,token怎么处理)->准备测试数据->编写测试用例(功能,内部逻辑,异常,安全)-> 执行用例 -> 测试报告
6、cookie session token 的区别?
①cookie存放在客户端,session存放在服务器端,而token是接口测试的鉴权码,一般登录时候生成,请求其他接口是带上token;
②cookie不是很安全,存在cookie欺骗,session相对于cookie安全点,但当随着接口访问量的增加,服务器性能会占用比较高,可以将登陆信息等重要信息存放为session;如果其他信息需要保存,可以放在cookie里面
7、你们现在的公司是怎么测接口的?
接口测试的工具有很多如:Jmeter,LR,Postman,Python+request,Java+httpclient等实现,我们公司现在用的是XXX工具来实现接口测试的,
首先是通过性测试,按照需求文档上面的正常传参,是否可以正确返回参数;
参数组合测试:比如查询充值数据的时候,时间是必传入的,游戏名和游戏区服,用户ID是选填的,这个时候就要考虑组合情况;
安全测试:①比如系统权限管理模块,用普通用户去操作权限管理模块,看看接口响应是啥; ②登录密码的复杂度校验,用户名或者密码的sql注入;
异常测试:和需求文档入参反着来;
性能测试:接口响应的时间(300ms以内都能接受);
8、你了解python嘛?写一个冒泡排序吧
a=[1,2,5,3,6,4]
for i in range(len(a)):
for j in range(len(a)-i-1):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
9、你测完后端接口,还要继续在页面进行功能测试,这样的测试是不是重复了?
① 前端层面发现不了一些隐藏的BUG,如:前端页面输入框/下拉框做了限制,后端可以绕过这些限制去传参数,看接口返回是否正常;
② 越靠近底层发现的问题,修改的成本越低;
③ 接口测好,前端随便怎么变,后端不用变
10、你觉得那些项目适合做自动化测试?
① 项目稳定,功能稳定
② 需要频繁回归测试
③ 被测系统比较规范
11、你觉得做接口测试的核心是什么?
持续集成是接口测试的核心
12、你在上家公司做接口时发现了那些问题?
①在没有登录的状态,直接通过接口访问系统,接口却可以正常返回系统信息;
②查询充值数据接口时发送的日期格式与接口文档不一致时,仍然可以返回查询数据,格式没有做统一;
③登录页面的输入框,前端虽然做了特殊字符处理,但通过接口发送带空格的用户名,仍然可以正常登陆;