一、测试流程是什么样的?
1.产品确定需求后,邀请项目经理,开发,测试等人员参加需求评审会;
2.评审结束后开发根据需求文档和接口文档开发,测试制定测试计划和编写手工测试用例,测试脑图;
3.测试召开用例评审,等开发完成后并且进入联调时,可以先介入进行单接口的测试,等开发转测后,进行系统之间的业务测试;
4.执行测试用例,在禅道上提出bug并且跟踪bug,开发解决后回归测试。用例执行完成并且bug全部修改完成后,进行提交上线。
二、测试计划包括哪些内容?
测试标题,测试范围,测试计划开始时间和结束时间,测试实际开始时间和结束时间,开发人员,测试人员,测试环境,是否存在风险等。
三、测试用例包括哪些内容?
所属模块,前置条件,用例标题,用例等级,测试步骤,预期结果等。
四、测试报告包括哪些内容?
测试背景,测试标题,测试实际开始时间和结束时间,开发人员,测试人员,测试环境,测试结论,bug统计,待办事项等。
五、如何编写接口测试用例?
以借款申请接口为例:
1.先理解所测接口的业务逻辑,参数和响应的含义。
2.根据接口的业务返回设计测试用例,比如借款成功,失败,处理中等线上常见的场景。
3.根据接口请求参数的长度限制设计测试用例(边界值),比如用户的身份证,手机号的长度。
4.根据接口请求参数的格式限制设计测试用例(等价类:有效等级类和无效等级类),比如用户手机号以1开头并且都是数字,这是有效等价类。非数字以外的格式为无效等价类。
5.根据接口请求参数的是否非必传设计测试用例,逐个去验证必传参数不传的情况。
6.若存在请求参数的组合场景,比如证件形式:1身份证2其他证件。接口传1,但是不传身份证号码的场景。
7.接口和接口之间的业务关联,比如未调用授信申请,直接调用借款申请等情况。
8.对数据库记录和重要字段的校验。
六、测试用例的设计方法有哪些?
等价类(有效等价类和无效等价类),边界值,因果图,场景法,错误推断(结合实际情况,有针对的推断问题会发生在哪)。
七、如何提高测试覆盖率?
1.首先理解产品需求和接口文档。可以先编写测试脑图帮助理清逻辑。
2.召开测试用例评审,和开发产品讨论测试用例是否有遗漏的地方。
3.根据测试用例去测试,每测试完一条修改测试用例状态,不要想一点测一点。
4.可以多考虑线上出现过的问题,着重去测试该部分模块。
八、如何判断bug为前端还是后端的?
前后端分离项目,可以抓包或者f12进行分析接口的请求和响应。
如果接口请求有问题,则为前端的bug;如果请求没有问题,响应有问题,则为后端的bug;如果请求和响应都没有问题,但是页面展示有问题,则为前端的bug。
九、http和https有什么区别?
http是超文本传输协议,信息是明文传输的,端口号为80。
https是更具安全性的加密传输协议,端口号为443。
十、常见的http请求响应码?
1xx(正在请求)
2xx(请求成功):200
3xx(重定向)
4xx(请求出错):401(没有权限),403(服务器拒绝请求),404(请求网址不存在),405(请求方式错误)
5xx(服务器错误):500(服务器内部错误),503(服务不可用)
十一、三次握手和四次挥手
三次握手:
1.客户端发生请求到服务端。
2.服务端返回已收到响应到服务端。
3.客户端再发送请求到服务端,数据开始进行传输。
四次挥手:
1.客户端发送关闭数据传输请求到服务端。
2.服务端收到请求并且返回客户端,关闭传输等待状态。
3.服务端发送关闭数据传输,请求客户端。
4.客户端再发送确认关闭请求到服务端。
十二、token,cookie,session的区别
相同点:都是用于接口鉴权。
不同点:token是登录接口返回的,后续接口请求头需要带上token才能请求。
cookie是储存在客户端的,请求服务器需要带上session-id,不安全。
session是储存在服务端的,相对安全,但是访问量大的时候会占用服务端的内存。
十三、app测试和web测试的区别?
app测试是基于客户端,如果服务端更新后,客户端不会随着更新。需要用户手动去更新客户端;
web测试是基于浏览器,如果服务端更新,文本页面会随着更新;
兼容性不同:app测试需要测试不同型号,不同操作系统的手机,web需要测试不同的浏览器;
相对于web测试,app多了很多专项测试,比如弱网,来电,来短信,关机等状态下。
十四、b/s和c/s的区别?
b/s:浏览器和服务器之间的架构,是http协议传输。
c/s:客户端和服务器之间的架构,是tcp/ip协议传输。
兼容性测试不同,c/s要考虑安装,卸载,更新的测试。
十五、给你一个网站怎么测试?
通过软件质量模型中8个特性去测试:
1.功能性:测试网站功能是否正常,是否符合产品需求。
2.易用性:是否容易被访问,操作错误时是否有相关的提示语,是否有错误防御功能。
3.兼容性:在不同的浏览器上运行。
4.可靠性:服务器中断后,是否能够保存并且恢复用户数据和重建系统。
5 .信息安全性:用户没有权限的情况下,是否获取数据和篡改数据。
6.维护性:页面可以根据产品需求,有效率的维护和迭代。
7.可移植性:页面是否可以适合不同的环境和硬件。
8.性能效率:接口响应的时间,页面反应的速度。
十六、如何定位bug?
1.可以先确认服务器是否启动成功,各服务的配置是否添加成功。
2.可以通过服务器的access和extre,error日志来确定。
3.查看数据库的前置数据是否正确。
十七、测试分为几个阶段?
1.单元测试:开发完成联调阶段,测试可以先进行单接口的测试。
2.系统测试:转测后,根据测试用例,测试多接口之间业务系统和产品需求。
3.回归测试:开发改完bug后进行回归验证。
4.交叉测试:负责的模块测试完成后,可以和其他测试交叉测试对方的模块。
5.验收测试:产品或者运营验收产品。
十八、http协议中有哪几种请求方式?
get,post,put,Delete,head等。
十九、get和post有什么区别?
get是获取数据,请求参数是放在url后面的,不安全。
post是提交数据,请求参数是放在body里的,相对安全。
二十、post常见的数据提交方式?
application/json;application/xml;text/html;from表单等。
二十一、如果项目上线后发现bug怎么办?
首先评估bug的严重性,如果是一般的bug,可以先记录下等下一个版本修改上线;
如果是严重的bug需要紧急修复上线,编写好对应的测试用例,再测试环境复现该bug(如果不能复现可以从线上日志找原因),等开发解决完之后,再回归测试上线。之后总结教训,分析原因。
二十二、接口调不通如何排除?
1.首先检查服务器是否启动,可以ping一下接口地址,还有端口号是否正确。
2.检查防火墙是否关闭。
3.浏览器是否设置了网络代理。
4.检查接口的四要素:请求地址,请求头,请求参数,请求方式。
5.接口会返回状态码,可以根据状态码定位。