150道大厂软件测试常见面试题,认真思考对你面试很有价值
软件测试基础
-
什么是软件测试?
-
软件测试的目的?
-
软件测试的目标
-
测试环境如何部署?
-
软件测试的原则
-
测试的工作流程
-
测试工程师的职责
-
软件有多少种分类?
-
软件的分类
-
测试的主要方面
-
软件测试的对象
-
什么是“测试案例"?
-
怎么编写案例?
-
软件测试的两种方法
-
测试结束的标准是什么?
-
软件的生命周期
-
什么是软件的生命周期?
-
软件测试按过程分为三个步骤
-
面向对象的设计如何影响测试?
-
软件带来错误的原因很多。主要的原因有哪些?
-
做好软件测试的一些关键点
-
软件测试的步骤是什么?
-
如何录制测试脚本?
-
应该考虑进行如何测试的测试方法
-
怎样估计测试工作量?
-
测试设计的问题
选择软件测试基础里的其中一道解答
软件的分类
liunx
-
说出10个以上的Linux命令
-
在RedHat中,从root用户切到userl用户,一般用什么命令?
-
Linux中,-般怎么隐藏文件?
-
在Linux系统中,一个文件的访问权限是755,其含义是什么?
-
如何查看CPU信息?
-
查看占用CPU使用率最高的进程?
-
如何查看一个文件的末尾50行?
-
如何过滤文件内容中包含"ERROR"的行?
-
查看某端口号?
-
查看某进程号?
-
grep和find的区别? grep 都有哪些用法?
-
查看IP地址?
-
创建和删除一个多级目录?
-
在当前用户家目录中查找haha.txt文件?
-
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
-
动态查看日志文件?
选择Liunx里的其中一道解答
说出10个以上的Linux命令
1、创建文件:touch
2、删除文件:rm(remove)
3、查看文件:cat
4、复制:cp(copy)
5、创建文件夹:mkdir(make directory)
6、剪切或者重命名:mv(move)
7、压缩解压缩:tar
8、查看:ls list
9、编辑:vi/vim
10、查看当前路径:pwd(Print Working Directory)
11、切换用户:su switch user
12、创建用户:useradd
13、删除用户:userdel
14、创建用户组:groupadd
15、删除用户组:groupdel
16、查找:find
17、修改权限:chmod(change mode)
18、查看进程:ps process
19、杀进程:kill
20、查看日志:tail
MySQL基础
-
什么是数据库?
-
什么是关系型数据库,主键,外键,索引分别是什么?
-
写出表的增删改查SQL语法
-
SQL的表连接方式有哪些?
-
表的连接查询方式有哪些,有什么区别?
-
什么三范式?
-
SQL的select语句完整的执行顺序?
-
说一下Mysql数据库存储的原理?
-
事务的特性?
-
简述什么是存储过程和触发器?
-
什么是数据库索引?
-
数据库怎么优化查询效率?
-
你用的Mysql 是哪个引擎,各引擎之间有什么区别?
-
如何对查询命令进行优化?
-
数据库的优化?
选择Liunx里的其中一道解答
.NoSQL 和关系数据库的区别?
接口测试
-
接口自动化测试的流程?
-
接口测试用例的编写要点有哪些?
-
提到UI级别测试和API测试之间的关键区别?
-
HTTPS的工作原理
-
HTTPS有哪些优点?
-
HTTPS的缺点
-
HTTPS和HTTP的区别主要如下:
-
POST和GET有什么区别?
-
Session与Cookie有什么区别?
-
TCP和UDP有什么区别
-
什么是TCP/IP?
-
在API测试中测试的常用协议是什么?
-
cookie有什么作用?
-
Cookie测试的测试点
-
cookie的缺点
-
cookie与session的区别
选择接口测试里的其中一道解答
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
Python
-
代码中要修改不可变数据会出现什么问题?抛出什么异常?
-
print调用Python中底层的什么方法?
-
简述你对input0函数的理解?
-
python两层列表怎么提取第二层的元素
-
阅读下面的代码,写出A0, A1至An的最终值?
-
range和xrange的区别?
-
考虑以下Python 代码,如果运行结束,命令行中的运行结果是什么?
-
在考虑以下代码,运行结束后的结果是什么?
-
什么是字典
-
现有字典d={a':24, 'g':52, 官:12, k:33}请按字典中的value 值进行排序?
-
说一下字典和 json的区别?
-
什么是可变、不可变类型?
-
存入字典里的数据有没有先后排序?
-
字典推导式?
-
快速去除列表中的重复元素
-
交集:共有的部分
-
并集:总共的部分
-
差集:另一个集合中没有的部分
-
对称差集(在a或b中,但不会同时出现在二者中)
-
输入某年某月某日,判断这一 天是这一 年的第几天? (可以用Python标准南)
-
打乱一一个排好序的list 对象alist?
-
说明一下os.path 和sys.path 分别代表什么?
-
Python中的os模块常见方法?
-
Python的sys模块常用方法?
-
模块和包是什么
selenium
-
如何解决IE中的SSL认证问题?
-
Selenium WebDriver中的可用定位器是什么?
-
如何处理WebDriver中的AJAX控件?
-
大致分类和比较TDD/BDD和DDD框架?
-
什么是数据驱动框架?它与关键字驱动框架有什么不同?
-
解释使用TestNG而不是JUnit框架的好处?
-
与@Test注释相关的TestNG参数的目的是什么?
-
可以使用TestNG运行一组测试用例吗?
-
WebDriver哪个实现是最快的,为什么?
-
是否可以在Selenium 2.0中使用Selenium RC API?
-
可以在Java, Dot Net或Ruby中使用Selenium Grid吗?
-
XPath中使用单斜杠和双斜杠有什么区别?
-
如何编写Selenium IDE / RC的用户扩展?
-
如何在页面加载成功后验证元素的存在?
-
你对Selenium Grid有什么了解?它提供了什么功能?
-
如何从你的Java Class启动Selenium服务器?
选择selenium里的其中一道解答
常用自动化测试工具机器运行原理,写出一段元素查找的代码?
性能测试基础
-
性能测试有哪些分类
-
你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
-
服务端性能分析都从哪些角度来进行?
-
如何理解压力测试,负裁测试以及性能测试?
-
如何判断是否有内存泄漏及关注的指标?
-
描述软件产“生内存泄露的原因以及检查方式。(可以结合一 种开发语言 进行描述)
-
简述什么是值传递,什么是地址传递,两者区别是什么?
-
什么是系统瓶颈?
Lordrunner
-
什么负载测试?
-
什么是性能测试?
-
说明负载测试过程?
-
我们什么时候做负载和性能测试?
-
什么是LoadRunner的组件?
-
你用LoadRunner的哪个组件录制脚本?
-
在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
-
在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
-
什么是场景
-
解释Web Vuser脚本的录制模式
-
为什么创建参数?
-
什么是关联?解释自动关联和手动关联的区别
-
你如何找出web服务器相关的问题?
-
你是怎么找到数据库中的相关问题?
-
覆盖图和关联图之间的区别是什么?
-
你是怎么计划负载的?标准是什么?
-
vuser init 动作包含什么?
-
vuser end动作包含什么?
-
什么是Think Time?你如何改变这个阈值?
-
简述使用Loadrunner的步骤
选择Lordrunner里的其中一道解答
LoadRunner进行测试的流程?
(1)测试测试
(2)创建虚拟用户脚本
(3)创建运行场景
(4)运行测试脚本
(5)监视场景
(6)分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
HR面试题
-
你的测试职业发展是什么?你自认为做测试的优势在哪里?
-
你找工作时,最重要的考虑因素为何?
-
为什么我们应该录取你?
-
请谈谈你个人的最大特色。
-
一个测试工程师应具备那些素质和技能?
-
好的测试工程师应具备的素质?
-
软件测试给你带来什么样的快乐?
-
为什么要在一个团队中开展测试工作?
-
测试过程中,遇到阻塞时,该如何推进?
-
你们以前测试的流程是怎样的?
-
为什么选择测试这行?
-
如果时间不够,无法进行充分的测试怎么办?
这150道软件测试面试题的答案已经整理成了PDF文档,如下图:
希望能帮助到你在面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。