软件测试面试题

一、测试基础

全面掌握软件测试理论基础、文档编写、测试流程
1.测试分为哪几个阶段
2.谈谈你之前测试的项目流程,在每个阶段的输出有哪些

需求分析,探讨需求功能点,数据库表的设计,接口设计(需求文档)
主管编写测试计划,任务分配,用例的设计,整理测试要点,用例评审(用例设计)
测试过程中,bug的提交,jira,bug的生命周期(测试缺陷报告)
3.谈谈敏捷模式的认识
4.linux常见查看日志命令有哪些
5.线上质量bug频频爆发怎么办
6.如何分析一个bug是前端还是后端的问题
抓接口请求信息,检查接口(用到了哪些接口),请求参数,返回的响应值
如如果前端没有请求接口,或请求的适合参数与需求不符,前端的问题

二、数据库

掌握sql查询增删改查,
子查询
关联查询
分组查询:

按照表中一个或多个字段,将数据进行分组,一般用于数据进行分类汇总
select后面的字段,只能是group by后面的字段
如果展示其他的列,需要给该列用聚合(sum,max)函数
分组过滤:
分组之前的条件,用where
分组之后的条件,用having
1.常用的sql优化方式
2.为什么select * 效率低:
不需要的列会增加数据传输时间和网络开销,尤其是大类型的字段(text,varrchar)
对于无用的大字段,会增加IO操作
将失去mysql优化器“覆盖索引”策略优化的可能性
3.什么是索引,为什么索引能增加查询效率
数据库当成一本字典,索引就是这个字典的目录,一般会针对where条件后面的字段
主键本身就是一种唯一索引
btree:二叉树算法
select * from where id = 4 #如果不加索引,一个个查找,11次
原理:取中间一个数,大于的有一栋,小于的左移,每次减半:4次
6
3 9
1 2 4 5 7 8 10 11
4.索引是建的越多越好吗
5.什么是ORM, 为什么要用ORM
6.如何将查询的数据汇总到excel, txt文件
7.关系型数据库和非关系型数据库的区别

三、Python

掌握python编程基础,面向对象高级编程,常用第三模块
1.字典和列表有什么区别
2.lambda函数是什么,在自动化测试中如何应用
3.浅拷贝和深拷贝的区别
4.类变量和实例变量的定义和区别
5.斐波那契数列
6.冒泡排序
7.用过的python的库哪些,分别用于工作有什么场景
8.装饰器是什么,装饰器一般在项目中用到哪些地方
9.利用python循环,输出1+11+111+1111+11111的值
软件测试面试题_第1张图片
改成1+12+112+1112+11112呢?

四、接口测试

1.目前市面上流行的接口大多有哪几种协议的接口:

http
https
rpc
websql
dubbo
(面试可以多说几句,我之前在项目中测过…怎么测的,用什么测的,如果只是简单回答,说明面试者积极性、综合能力和见识不突出)
2.http协议有什么特点,能说说这些特点体现在哪些方面吗
无状态 、灵活、无连接、简单快速
3.postman中如何实现接口之间的关联:
4.接口未全部提测,怎么实现接口脚本间的自动关联
5.若请求的接口需要先登录后方可请求,如何进行接口测试
6.cookie和session的原理,区别是什么
7.dubbo接口如何测试:

阿里巴巴开源的高性能服务框架,应用可以通过高性能rpc实现服务输出和输入,可和spring框架无缝集成
搭建消费者
8.接口测试断言从哪些方面去设计?接口测试也属于功能测试、黑盒测试
状态码 200,401,403,500
返回值,返回值里面很多数据是动态的
数据库校验
空校验,异常校验(数据异常,环境异常,前置条件异常)
幂等性
流程节点限制

五、自动化测试

UI自动化:APP,h5,小程序(元素定位)
接口自动化:http,dubbo… 自动化运行环境、自动化如何分布式、批量运行、如何持续集成
1.三种等待时间的区别和场景应用:

强制等待、隐式等待()、显式等待
2.之前项目做过自动化测试吗,如何推进的
用selenium +python
实现原理:unittest/pytest
数据驱动:excel
关键字驱动:封装了哪些方法
遇到了哪些问题:准备几个自动化遇到的问题,如何解决的,
自动化脚本(成千上万级别的用例)对公司项目产生了什么样的价值(成为公司固定资产,不管是开发、产品还是运营都会用到这个自动化脚本,可以帮我们线上监控、自动化回归、造数据、跑数据,提高了迭代效率,释放了很多人力;功能加自动化,能校验出很多因为代码提交、新功能上线产生的隐藏bug;性能,对接口进行压测,上线之后能承受多少并发量 )
3.自动化用例在什么环境下运行,如何批量运行
docker容器 (干净的环境,分布式) + jenkins (定时构建) + git (版本管理)
4.RF框架用过吗,关键字驱动的原理,如何开发系统关键字
5.selenium的底层核心原理是什么,如何开发系统关键字
6.requests中的session会话管理的作用是什么
7.unittest/pytest有什么区别
8.谈谈你对自动化分层思想的理解:
分层:
业务逻辑:登录 - 输入用户名、输入密码、点击登录
关键字驱动:
业务层关键字(退货、发货)
逻辑层关键字(公共方法:随机数,随机号码,数据库)
二次封装 click()
数据驱动:
配置文件:
=>能独立根据公司需求搭建自动化测试框架
9.自动化用例在什么环境下运行,如何批量运行
10.有没有独立搭建过自动化测试框架
11.测试开发在企业中具体是做什么的
注意问题:
缺少测试思维,开发思维
自动化接口实战项目经验
技术难点
自动化高级、性能高级、全栈高级

参考:
https://www.bilibili.com/video/BV1LT4y1j7ny?p=3

你可能感兴趣的:(数据库,软件测试,python,mysql)