800道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web测试、接口测试、App测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题,命中率杠杠的,绝对是测试人的福音,面试者的最强武器。
PS:加上参考答案有几十万字,答案就没有全部放上来了,高清打印版本超过400多页,留言直接获取
1 测试理论
1.1 测试基础
- 什么是软件测试?
- 软件测试的目的?
- 软件测试的目标
- 软件测试的原则
- 测试的工作流程
- 测试工程师的职责
- 软件都有多少种分类?
- 软件的分类
- 测试的主要方面
10、 软件测试的对象
11、 什么是“测试案例”?
12、 怎么编写案例?
13、 软件测试的两种方法
14、 测试结束的标准是什么?
15、 软件的生命周期
16、 什么是软件的生命周期?
17、 软件测试按过程分为三个步骤
18、 面向对象的设计如何影响测试?
19、 软件带来错误的原因很多。主要的原因有哪些?
20、 做好软件测试的一些关键点
21、 软件测试的步骤是什么?
22、 如何录制测试脚本?
23、 应该考虑进行如何测试的测试方法
24、 怎样估计测试工作量?
25、 测试设计的问题
26、 当测试过程发生错误时,有哪几种解决办法?
27、 测试执行的问题
28、 测试评估的目标
29、 如何提高测试?
30、 C/S 模式的优点和缺点
31、 B/S 模式的优点和缺点
32、 测试结束的标准是什么” />
2 Linux 基础
- 说出10个以上的Linux命令
- 在RedHat中,从root用户切到userl用户,一般用什么命令?
- Linux中,一般怎么隐藏文件?
- 在Linux系统中,一个文件的访问权限是755,其含义是什么?
- 如何查看 CPU 信息?
- 查看占用 CPU 使用率最高的进程?
- 如何查看一个文件的末尾 50 行?
- 如何过滤文件内容中包含”ERROR“的行?
- 查看某端口号?
10、 查看某进程号?
11、 grep 和find 的区别?grep 都有哪些用法?
12、 查看IP 地址?
13、 创建和删除一个多级目录?
14、 在当前用户家目录中查找 haha.txt 文件?
15、 如何查询出 tomcat 的进程并杀掉这个进程,写出 linux 命令?
16、 动态查看日志文件?
17、 查看系统硬盘空间的命令?
18、 查看当前机器 listen 的所有端口?
19、 把一个文件夹打包压缩成.tar.gz 的命令,以及解压拆包.tar.gz 的命令?
20、 Xshell 工具如果想要实现从服务器上传或者下载文件的话,可以在服务器上安装什么包?
21、 以/etc/passwd 的前五行内容为例,提取用户名?
22、 在 linux 中 find 和grep 的区别?
23、 linux查看文件用什么命令,查看进程用什么命令
24、 查看日志常用什么命令,主要查看什么内容
3 MySQL基础
- 什么是数据库?
- 什么是关系型数据库,主键,外键,索引分别是什么?
- 写出表的增删改查SQL语法
- SQL的表连接方式有哪些?
- 表的连接查询方式有哪些,有什么区别?
- 什么三范式?
- SQL 的 select 语句完整的执行顺序?
- 说一下 Mysql 数据库存储的原理?
- 事务的特性?
10、 简述什么是存储过程和触发器?
11、 什么是数据库索引?
12、 数据库怎么优化查询效率?
13、 你用的 Mysql 是哪个引擎,各引擎之间有什么区别?
14、 如何对查询命令进行优化?
15、 数据库的优化?
16、 Sql 注入是如何产生的,如何防止?
17、 NoSQL 和关系数据库的区别?
18、 MySQL 与 MongoDB 本质之间最基本的差别是什么
19、 Mysql 数据库中怎么实现分页?
20、 Mysql 数据库的操作” />4 Web测试
- 描述用浏览器访问http://www.baidu.com的过程
- 以京东首页为例,设计用例框架。(注意框架设计逻辑,区域划分,专项测试等,不需要详细用例,需要查看 PC 可直接和辨识管提要求)
- 如何测试购买下单和退货流程
- 什么是sql 注入,什么是跨站脚本,什么是跨站请求伪造?
- 给你一个网站怎么开展测试?
- 电商支付模块的测试如何展开?
- 如何开展兼容性测试?
- nginx,tomcat,apache 都是什么?
- apache 和 nginx 的区别?
- 0 Selenium 有哪些定位元素方法
5 接口测试
- 什么是接口
- 如果模块请求 http 改为了https,测试方案应该如何制定,修改?
- 常用 HTTP 协议调试代理工具有什么?详细说明抓取 HTTPS 协议的设置过程?
- 描述 TCP/IP 协议的层次结构,以及每一层中重要协议
- jmeter,一个接口的响应结果如下:
- 接口产生的垃圾数据如何清理
- 依赖第三方的接口如何处理
- 测试的数据你放在哪?
- 什么是数据驱动,如何参数化?
10、 下个接口请求参数依赖上个接口的返回数据
11、 依赖于登录的接口如何处理
12、 接口测试的步骤有哪些?
13、 接口测试中依赖登录状态的接口如何测试?
14、 依赖于第三方数据的接口如何进行测试?
15、 解释什么是SOAP?
16、 解释什么是REST API?
17、 API测试发现的Bug类型是什么?
18、 我们测试的接口属于哪一类?
19、 Cookie 保存在哪里?
20、 HTTP有哪些请求方法?
21、 接口自动化测试的流程?
22、 接口测试用例的编写要点有哪些?
23、 提到UI级别测试和API测试之间的关键区别?
24、 HTTPS的工作原理
25、 HTTPS有哪些优点?
26、 HTTPS的缺点
27、 HTTPS和HTTP的区别主要如下:
28、 POST和GET有什么区别?
29、 Session与Cookie有什么区别?
30、 TCP和UDP有什么区别
31、 什么是TCP/IP?
32、 在API测试中测试的常用协议是什么?
33、 cookie有什么作用?
34、 Cookie测试的测试点
35、 cookie的缺点
36、 cookie与session的区别
6 App 测试
- 什么是Android四大组件?
- 当点击 APP 图标启动程序,说明将要发生那些过程?
- APP 测试的内容主要包括哪些,如何开展?
- Android 的兼容性测试都考虑哪些内容?
- 针对 App 的安装功能,写出测试点?
- 常用的 ADB 命令?
- 在查看 logcat 命令日志时候怎么内容保存到本地文件?
- App 崩溃(闪退),可能是什么原因导致的?
- 如何测试监测 app 的内存使用、CPU 消耗、流量使用情况?
10、 弱网测试怎么测
11、 “//*[contains(@text,”登录”)]”是什么意思
12、 Appium 都有哪些启动方式
7 管理工具
- 简述常用的 Bug 管理或者用例管理工具,并且描述其中一个工作流程?
- 禅道和 qc 的区别?
8 Python 基础
8.1 Python基础
- 斐波那契数列求 N” />9 Selenium 相关
- 什么是Selenium?
- 什么是Selenium Webdriver
- S什么是elenium IDE?
- 2.常用自动化测试工具机器运行原理,写出一段元素查找的代码?
- 如何开展自动化测试框架的构建?
- 4.如何设计自动化测试用例:
- webdriver 如何开启和退出一个浏览器?
- 什么是自动化测试框架?
- Selenium是什么,流行的版本有哪些?
10、 你如何从命令行启动Selenium RC?
11、 在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
12、 什么是Selenium Server,它与Selenium Hub有什么不同?
13、 你如何从Selenium连接到数据库?
14、 你如何验证多个页面上存在的一个对象?
15、 XPath中使用单斜杠和双斜杠有什么区别?
16、 如何编写Selenium IDE / RC的用户扩展?
17、 如何在页面加载成功后验证元素的存在?
18、 你对Selenium Grid有什么了解?它提供了什么功能?
19、 如何从你的Java Class启动Selenium服务器?
20、 Selenium中有哪些验证点?
21、 什么是XPath?什么时候应该在Selenium中使用XPath?
22、 什么是Selenium的CSS定位器策略?用例子来解释。
23、 当有很多定位器时,如ID、名称、XPath、CSS定位器,我应该使用哪一个?
24、 在Selenium中处理多个弹出窗口的机制是什么?
25、 你如何处理使用Selenium的Ajax控件?
26、 Selenium Webdriver优于Selenium RC的优点是什么?
27、 “GET”和“NAVIGATE”方法的主要区别是什么?
28、 隐式等待与显式等待有什么不同?
29、 你将如何处理Selenium WebDriver中的警报/弹出窗口?
30、 如何解决IE中的SSL认证问题?
31、 Selenium WebDriver中的可用定位器是什么?
32、 如何处理WebDriver中的AJAX控件?
33、 大致分类和比较TDD/BDD和DDD框架?
34、 什么是数据驱动框架?它与关键字驱动框架有什么不同?
35、 解释使用TestNG而不是JUnit框架的好处?
36、 与@Test注释相关的TestNG参数的目的是什么?
37、 可以使用TestNG运行一组测试用例吗?
38、 WebDriver哪个实现是最快的,为什么?
39、 是否可以在Selenium 2.0中使用Selenium RC API?
40、 可以在Java,Dot Net或Ruby中使用Selenium Grid吗?
10 性能测试
- 性能测试有哪些分类
- 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
- 服务端性能分析都从哪些角度来进行?
- 如何理解压力测试,负载测试以及性能测试?
- 如何判断是否有内存泄漏及关注的指标?
- 描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述)
- 简述什么是值传递,什么是地址传递,两者区别是什么?
- 什么是系统瓶颈?
11 LordRunner相关
- 1.LoadRunner 的工作原理是什么?
- LoadRunner分哪三部分?
- LoadRunner进行测试的流程?
- 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
- LoadRunner 脚本如何录制和编写?
- LoadRunner 中的Think Time 有什么作用?
- 4.在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner 进行测试?
- 5.一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
- 客户交付一个性能测试项目,请阐述你的实施流程。
10、 解释5个常用的性能指标的名称与具体含义。
11、 写出5个Loadrunner中常用函数,并对其中2个举例说明用法。
12、 简述LoadRunner的工作原理?
13、 什么是集合点?设置集合点有什么意义?LoadRunner中设置集合点的函数是哪个?
14、 HTML-based script与URL-based script的脚本有什么区别?
15、 如何设置LaodRunner才能让集合点只对一半的用户生效?
16、 LoadRunner的Controller组件中Pacing参数的作用是什么?
17、 LoadRunner中如何监控Windows资源?
18、 如果让QALoad模拟LoadRunner中只对关注的性能点进行迭代测试,你有什么好方法?
19、 什么是负载测试?
20、 什么是性能测试?
21、 说明负载测试过程?
22、 我们什么时候做负载和性能测试?
23、 什么是LoadRunner的组件?
24、 你用LoadRunner的哪个组件录制脚本?
25、 在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
26、 在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
27、 什么是场景
28、 解释Web Vuser脚本的录制模式
29、 为什么创建参数?
30、 什么是关联?解释自动关联和手动关联的区别
31、 什么是关联?解释自动关联和手动关联的区别,你在哪里设置自动关联的选项
32、 什么函数可以捕捉到web Vuser脚本的动态值?
33、 什么时候你在虚拟用户产生器中禁用日志,什么时候选择标准日志和扩展日志?
34、 你如何调试LoadRunner的脚本?
35、 你怎么写LR中用户自定义的函数?写几个你以前项目中的函数?
36、 在run-time setting里你可以设置哪些改变?
37、 你在哪里设置Vuser测试时迭代?
38、 你如何在负载下执行功能测试?
39、 什么是Ramp up?你如何设置?
40、 Vuser作为线程运行的优势是什么?
41、 如果你想停止执行出错的脚本,怎么做?
42、 响应时间和吞吐量间的关系是什么?
43、 你如何识别性能瓶颈?
44、 如果web服务器、数据库服务器、网络都一切正常,那么哪里可能有问题?
45、 你如何找出web服务器相关的问题?
46、 你是怎么找到数据库中的相关问题?
47、 覆盖图和关联图之间的区别是什么?
48、 你是怎么计划负载的?标准是什么?
49、 vuser_init动作包含什么?
50、 vuser_end动作包含什么?
51、 什么是Think Time?你如何改变这个阈值?
52、 简述使用Loadrunner的步骤
53、 什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
54、 你如何在负载测试模式下执行功能测试?
55、 什么是逐步递增?你如何来设置?
56、 响应时间和吞吐量之间的关系是什么?
57、 说明一下如何在LR中配置系统计数器?
58、 在LoadRunner中为什么要设置思考时间和pacing
59、 如何理解TPS?
60、 loadrunner中的设置线程和进程的区别
61、 HTML-Based scrīpt 和URL-Based scrīpt 录制的区别?
62、 本次通过loadRunner录制SQL Server介绍一下如何测试一个sql语句或存储过程的执行性能。
63、 LoadRunner如何创建脚本?
64、 LoadRunner如何设置Recording Options 选项?(以单协议http/html为例)
65、 LoadRunner如何选择协议?
66、 Loadrunner支持哪些常用协议?
67、 性能测试的类型都有哪些?
68、 Loadrunner常用的分析点都有哪些?
69、 并发用户数是什么?跟在线用户数什么关系?
70、 LoadRunner请求无法找到如何解决?
71、 LoadRunner HTTP服务器状态代码都有哪些?如何解决?
72、 HTTP的超时有哪三种?
73、 在什么地方设置HTTP页面filter?
74、 如何设置可以让一个虚拟IP对应到一个Vuser?
75、 ≈什么是contentcheck?如何来用?
76、 network中的speed simulation是模拟的什么带宽?
77、 生成WEB性能图有什么意义?大概描述即可。
78、 WAN emulation是模拟什么的?
79、 树视图和脚本视图各有什么优点?
80、 LR中的API分为几类?
12 计算机网络
- 什么是局域网和广域网
- DNS是什么,它是如何工作的” />13 组成原理
- 计算机基本组成
- 一条指令在CPU 的执行过程
- 3.计算机的逻辑部件
- 说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
- Windows操作系统中PATH环境变量的作用是什么?
- 目前流行的操作的系统有哪些?请举例说明安装操作系统的注意事项?
14 数据结构与算法
- 冒泡排序
- 插入排序
- 希尔排序
- 直接选择排序
- 堆排序
- 归并排序
- 基数排序
15 逻辑题
- 烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
- 你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?
- 如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
- 一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
- 12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)
- 在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?
- 已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
- 一间囚房里面关押着两个犯人。每天监狱都会为这间囚房提供一罐汤,让这两个犯人自己分。起初,这两个人经常会发生争执,因为他们总是有人认为对方的汤比自己的多。后来他们找到了一个两全其美的办法:一个人分汤,让另一个人先选。于是争端就这么解决了。可是,现在这间囚房里又加进来一个新犯人,现在是三个人来分汤。必须寻找一个新的方法来维持他们之间的和平。该怎么办呢?按:心理问题,不是逻辑问题
- 一张长方形的桌面上放n个一样大小的圆形硬币。这些硬币中可能有一些不完全在桌面内,也可能有一些彼此重叠;当再多放一个硬币而它的圆心在桌面内时,新放的硬币便必定与原先某些硬币重叠。请证明整个桌面可以用4n个硬币完全覆盖。
10、 有五间房屋排成一列 所有房屋的外表颜色都不一样 所有的屋主来自不同的国家 所有的屋主都养不同的宠物;喝不同的饮料;抽不同的香烟 提示:
11、 如果29只青蛙在29分钟里捕捉到了29只苍蝇,那么,要在87分钟内捉到87只苍蝇,需要多少只青蛙才行?
12、 一个人花8块钱买了一只鸡,9块钱卖掉了。然后他觉得不划算,花10块钱又买回来了,11块钱卖给了另外一个人,请问他赚了多少钱?
13、 A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛?
14、 一天张三的店里来了一位顾客,挑了25元的货。顾客拿出100元,张三没零钱找不开,就到隔壁店里把这100元换成零钱,回来给顾客找了75元的零钱。过一会,李四回来找张三,说刚才的钱是假钱,张三马上给李四换了真钱,请问张三赔了多少?
15、 如果20分钟前离上午9点钟的分数钟,等于现在离上午12点的分钟数的3倍,那么现在离上午12点还有多少分钟?)
16 人力资源
- 你的测试职业发展是什么?你自认为做测试的优势在哪里?
- 你找工作时,最重要的考虑因素为何?
- 为什么我们应该录取你?
- 请谈谈你个人的最大特色。
- 一个测试工程师应具备那些素质和技能?
- 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
- 为什么选择测试这行?
- 为什么值得他们公司雇用?
- 如果我雇用你,你能给部门带来什么贡献?
10、 如何从工作中看出你是个自动自觉的人
11、 你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么)
12、 通常你对于别人批评你会有什么样的反应
13、 如果明知这样做不对,你还会依主管的指过去做吗?
14、 你在五年内的个人目标和职业目标分别是什么?
15、 你怎样做出自己的职业选择?
16、 离职时候工资多少?
17 其他
- 好的测试工程师应具备的素质?
- 软件测试给你带来什么样的快乐?
- 为什么要在一个团队中开展测试工作?
- 你在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
- 请介绍一下你的项目
- 测试过程中,遇到阻塞时,该如何推进?
- 你们以前测试的流程是怎样的?
- 为什么选择测试这行?
- 如果时间不够,无法进行充分的测试怎么办?
10、 你是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
11、 你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
12、 你自认为测试的优势在哪里?
13、 你在测试中发现了一个 bug,但是开发经理认为这不是一个 bug。你应该怎么做?
14、 你是如何制定时间进度表的?
15、 介绍一下整体项目流程
16、 你是如何制定测试过程中的时间进度表的?
17、 测试工作进行到一半时,发现时间不够,你是如何处理的?
18、 怎样保证你所负责的模块通过了测试?
19、 软件测试人员和测试组长的职责分工
20、 如果你是测试组长你是如何对项目及组员进行管理的?
21、 什么时候开始搭建测试环境?由谁搭建?如何进行产品的集成?
22、 你所做的项目中采用了哪些测试方法?进行回归测试吗?
23、 上级如何检查你的工作?
24、 QA 是如何检查你的工作的?
25、 在你所做的项目中有需要测试的项目过程吗?有,请介绍。
26、 怎样保障你所负责的模块通过了测试?
27、 你是如何了解到你说项目中的成员?
28、 是否成立了独立的测试组?测试人员在项目中测试的职责?
29、 测试结果分析如何?如何产生和被记录?
30、 认为软件测试过程中较常见的困难是什么?如何有效克服这些困难?(根据自己实际测试中遇到的情况来写的)
31、 在实际项目中你是如何做测试计划?
32、 你什么时候开始制定测试计划?是否发生过变更?如何进行变更?
33、 你所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
34、 你认为做好测试用例设计工作的关键是什么?
35、 在你以往的工作中,一条软件缺陷(或者叫 Bug)记录都包括哪些内容?如何提交高质量的软件缺陷(Bug)记录?
36、 你在五年内的个人目标和职业目标分别是什么?
37、 怎样做出自己的职业选择?
38、 离职原因
39、 面试官一般会问,您还有什么想问的吗?
完整版留言