前言
迎来的便是金九银十,一直想着说分享一些软件测试的面试题,这段时间做了一些收集和整理,下面共有三篇经典面试题,大家可以试着做一下,答案附在后面,希望能帮助到大家。
软件测试经典面试题(一)共25题
第1题:关于自动化测试与手工测试的比较,正确的是( )( 正确C )
- A:自动化测试能做的,手工测试不能做
- B:手工测试能做的,自动化测试都能做
- C:谁也不能完全代替对方
- D:自动化测试能做的,手工测试都能做
第2题:采用自顶向下集成的测试方法,需要编写( )。 ( 正确B )
- A:客户端程序
- B:驱动程序
- C: 条件桩
- D: 测试桩
第3题:系统测试阶段的测试对象不包括( ) ( 正确D )
- A:硬件系统
- B:文档
- C:软件系统
- D:源程序
第4题:使用录制模式产生的自动化脚本,与人工编写的脚本相比,后期维护成本通常( ) ( 正确B )
- A:不能比较
- B: 较高
- C: 较低
- D:没有差别
第5题:使用瀑布模型术语,在软件测试V模型中,对应“需求分析”的测试阶段是( ) ( 正确C )
- A:集成测试
- B:单元测试
- C:用户验收测试
- D:系统测试
第6题:关于UML类图下列描述正确的是 ( ) ( 正确D )
- A:类间的两种重要关系是关联与泛化
- B:UML中抽象类是将名用斜体表示
- C:关联是两个类之间的一条实线
- D:类图表示各个对象的类型以及其间存在的各种静态关系
第7题:多线程技术具有哪些优越性 ( ) ( 正确C )
- A:通信简洁、信息传送速度快
- B:创建速度快、系统开销小
- C:并行性高
- D:安全性高
第8题:在oracle数据库中,关于索引描述正确的是 ( ) ( 正确C )
- A:需要对大数据类型创建索引
- B:我们常用到的是B-Tree索引
- C:对于大表,索引能明显提高查询效率
- D:在数据表上创建约束,会自动生成索引
第9题:Oracle中VARCHAR2类型的长度是:( ) ( 正确A )
- A:4000
- B:3000
- C:1000
- D:2000
第10题:以下哪行代码会进行对象垃圾回收( ) ( 正确B )
1.public class MyClass{
2. public StringBuffer aMethod(){
3. StringBuffer sf = new
4.StringBuffer("Hello");
5. StringBuffer[] sf_arr = new StringBuffer[1];
6. sf_arr[0] = sf;
7. sf = null;
8. sf_arr[0] = null;
9. return sf;
}
}
- A:第8行
- B:第7行
- C:第5行
- D:第3行
第11题:以下循环执行()次 ( 正确A )
public class Test{
public static void main(String[] args){
int x=-10,k=0;
while(++x<0){
k++;
}
System.out.println(k);
}
}
- A:9
- B:10
- C:11
- D:无限
第12题:在划分了等价类后,首先需要设计一个案例覆盖( )有效等价类。 ( 正确B )
- A:等价类数量-1个
- B:尽可能多的
- C:2个
- D:1个
第13题:压力测试属于( )阶段 ( 正确A )
- A:系统测试
- B:集成测试
- C:用户验收测试
- D:单元测试
第14题:软件测试方法一般知识中,___称为功能测试,___测试称为结构测试。 ( 正确D )
- A:灰盒测试 白盒测试
- B:白盒 黑盒
- C:黑盒测试 灰盒测试
- D:黑盒测试 白盒测试
第15题:Loadrunner中哪个部件用来设置性能测试场景( ) ( 正确A )
- A:controller
- B:virtual user generator
- C:remote agent
- D:analysis
第16题:以下不能用作功能测试的自动化工具是 ( ) ( 正确B )
- A:WinRunner
- B:ClearCase
- C:QTP
- D:Robot
第17题:EJB组件在什么地方执行?( ) ( 正确A )
- A:EJB 容器
- B: 以上都对
- C:web容器
- D: 应用服务器
第18题:Java语言有许多优点和特点,下列选项中,( )反映了Java程序并行机制的特点。 ( 正确D )
- A:可移植
- B: 跨平台
- C: 安全性
- D:多线程
第19题:在Java中,关于final关键字的说法正确的是( ) ( 正确C )
- A:如果修饰方法,则该方法能在子类中被覆盖
- B: 如果修饰类,则该类只能被一个子类继承
- C:如果修饰变量,则一旦赋了值,等同一个常量
- D: 如果修饰方法,则该方法所在的类不能被继承
第21题:对于一个软件防火墙产品,“侦测到黑名单请求后发送警报”是一个( )需求。 ( 正确C )
- A:安全性
- B:功能
- C:性能
- D:可用性
第22题:对以下Java代码片段进行条件覆盖,少需要( )个案例:( 正确B )
if(a>b && b>c){
b=a/c;
}
- 1
- 2
- 3
- A:3
- B: 2
- C:4
- D:1
第23题:使用瀑布模型术语,在软件测试V模型中,对应“总体设计”的测试阶段是( ) ( 正确A )
- A:系统测试
- B:用户验收测试
- C:集成测试
- D:单元测试
第24题:下列四项中,不属于关系数据库特点的是( ) 。 ( 正确B )
- A:数据冗余小
- B:数据独立性高
- C:数据共享性好
- D:多用户访问
第25题:在ORACLE中,以下语句出错,哪些改动能够正确执行:( ) ( 正确B )
SELECT deptno, max(sal)
FROM emp
GROUP BY deptno
WHERE max(sal)>2500;
- A:将WHERE max(sal)>2500语句改成WHERE sal>2500
- B:将WHERE max(sal)>2500语句改成HAVING max(sal)>2500
- C:将WHERE max(sal)>2500语句改成HAVING sal>2500
- D:将WHERE和GROUP BY 语句顺序调换一下
软件测试经典面试题(二)共16题
第1题:下面哪一个不是C++的标准数据类型? ( 正确D )
- A. int
- B. char
- C. bool
- D. real
第2题:break关键字在哪一种语法结构中不能使用? ( 正确C )
- A. for语句
- B. switch语句
- C. if语句
- D. while语句
第3题:类的继承方式有几种? ( 正确B )
- A. 两种
- B. 三种
- C. 四种
- D. 六种
第4题:extern关键字的作用是什么? ( 正确D )
- A. 声明外部链接
- B. 声明外部头文件引用
- C. 声明使用扩展C++语句
- D. 声明外部成员函数、成员数据。
第5题:C库函数strstr的功能是? ( 正确A )
- A. 查找子串
- B. 计算字符串长度
- C. 字符串比较
- D. 连结字符串
第6题:stl::deque是一种什么数据类型? ( 正确A )
- A. 动态数组
- B. 链表
- C. 堆栈
- D. 树
第7题:STL库里含有下面的哪一种泛型算法? ( 正确D )
- A. KMP查找
- B. 折半查找
- C. 冒泡排序
- D. 快速排序
第8题:现在快且通用的排序算法是什么?( 正确A )
- A. 快速排序
- B. 冒泡排序
- C. 选择排序
- D. 外部排序
第9题:Win32下的线程的哪一种优先级? ( 正确C )
- A. THREAD_PRIORITY_HIGHEST 高优先级
- B. THREAD_PRIORITY_IDLE 优先级,仅在系统空闲时执行
- C. THREAD_PRIORITY_TIME_CRITICAL 优先级
- D. THREAD_PRIORITY_ABOVE_NORMAL 高于普通优先级
第10题:下面四个选项中,哪一个不是WinMain函数的参数? ( 正确D )
- A. HINSTANCE
- B. INT
- C. LPSTR
- D. WPARAM
第11题:VC++的编译器中,运算符new底层的实现是什么? ( 正确B )
- A. VirtualAlloc()
- B. HeapAlloc()
- C. GlobalAlloc()
- D. AllocateUserPhysicalPages()
第12题:下面哪一本C++参考书厚? ( 正确C )
- A. 《Think in C++》
- B. 《深入浅出MFC》
- C. 《C++ Primer》
- D. 《Effective C++》
第13题:当调用Windows API函数InvalidateRect,将会产生什么消息( 正确A )
- A. WM_PAINT
- B. WM_CREATE
- C. WM_NCHITTEST
- D. WM_SETFOCUS
第14题:关于virtual void Draw()=0,下面说法正确的有几个 ( 正确C )
- 它是纯虚函数(对)
- 它在定义它的类中不能实现(对)
- 定义它的类不可实例化(对)
- 如果一个类要继承一个ADT类,必须要实现其中的所有纯虚函数(错)//可以不实现,派生之后的类仍旧作为一个抽象类.
- A. 1
- B. 2
- C. 3
- D. 4
第15题:在oracle数据库中,关于索引描述正确的是 ( 正确C )
- A:需要对大数据类型创建索引
- B:我们常用到的是B-Tree索引
- C:对于大表,索引能明显提高查询效率
- D:在数据表上创建约束,会自动生成索引
第16题:关于UML类图下列描述正确的是 ( 正确D )
- A:类间的两种重要关系是关联与泛化
- B:UML中抽象类是将名用斜体表示
- C:关联是两个类之间的一条实线
- D:类图表示各个对象的类型以及其间存在的各种静态关系
软件测试经典面试题(三)共16题
第1题:坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,将出现的错误克服在早期 ( 正确A )
- A. 技术评审
- B.程序测试
- C.文档审查
- D.管理评审
第2题:经验表明,在程序设计中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模块中残留的错误与其他模块相比,通常应该 ( 正确B )
- A. 较少
- B.较多
- C.相似
- D.不确定
第3题:下面有关测试原则的说法正确的是 ( 正确A )
- A. 测试用例应由测试的输入数据和预期的输出结果两部分组成
- B.测试用例自诩选取合理的输入数据
- C.程序由编写该程序的程序员自己来测试
- D.使用测试用例进行测试是为了检查程序员是否做错了他该做的事
第4题:为了提高测试的效率,争取的做法是 ( 正确A )
- A. 选择发现错误可能性大的数据作为测试用例
- B.在完成程序的编码之后在指定软件的测试计划
- C.随机选取测试用例
- D.取一切可能的输入数据作为测试用例
第5题:以下哪一种选项不属于软件缺陷 ( 正确D )
- A. 软件没有实现产品规格说明所要求的功能
- B.软件中出现了产品贵规格说明不应该出现的功能
- C.软件实现了产品规格说明没有提到的功能
- D.软件实现了产品规格说明所要求等功能但因受性能限制而未考虑可移植性问题
第6题:软件生存周期过程中,修改错误代价的阶段是 ( 正确D )
- A.需求阶段
- B.设计阶段
- C.编程阶段
- D.发布运行阶段
第7题:以程序内部的逻辑结构为基础的测试用例设计技术属于 ( 正确D )
- A.灰盒测试
- B.数据测试
- C.黑盒测试
- D.白盒测试
第8题:下列能表达程序未按照预期运行,但不会导致整体失效的是 ( 正确B )
- A.故障
- B.异常
- C.缺点
- D.失效
第9题:下列关于缺陷产生原因的叙述中,不属于技术问题的是 ( 正确A )
- A.文档错误,内容不正确或拼写错误
- B.系统结构不合理
- C.语法错误
- D.接口传递不匹配,导致模块集成出现问题
第10题:下面有关软件缺陷的说法中错误的是 ( 正确C )
- A.缺陷是软件产品在开发中存在的问题
- B.缺陷是软件维护过程中存在的错误、毛病等各种问题
- C.缺陷是导致系统程序崩溃的错误
- D.缺陷是系统所需实现的某种功能的时效和违背
第11题:功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明,这属于软件缺陷级别中的 ( 正确B )
- A.致命缺陷
- B.严重缺陷
- C.一般缺陷
- D.微小缺陷
第12题:黑盒测试是一种重要的测试策略,又称为数据驱动的测试,其测试数据来源于 ( 正确A )
- A.软件规格说明
- B.软件设计说明
- C.概要设计说明
- D.详细设计说明
第13题:即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,其原因可能是 ( 正确D )
- A.程序可能会因为缺少某些路径而存在问题
- B.即使是穷举路径测试也决不能保证程序符合其设计规格说明
- C.穷举路径测试也可能不会暴露数据敏感错误
- D.以上全部
第14题:软件质量是软件产品能否得到市场认可的基本的问题,而软件测试是保证软件质量的重要手段,下面关于软件测试任务正确的是 ( 正确D )
- l)预防软件发生错误
- 2)发现改正程序错误
- A.仅1)
- B.仅1)和2)
- C.仅1)和3)
- D.都是
第15题:下面说法正确的是 ( 正确A )
- A.我们无法测试一个程序确认它没有错误
- B.黑盒测试是逻辑驱动的测试
- C.穷举测试一定可以暴露数据敏感错误
- D.白盒测试是一种输入输出驱动的测试
第16题:软件测试的目的是 ( 正确B )
- A.评价软件的质量
- B.发现软件的错误
- C.找出软件中所有的错误
- D.证明软件的正确的
第17题:以下选项中不属于软件缺陷状态的是 ( 正确C )
- A.激活状态
- B.非激活状态
- C.一致状态
- D.已修正状态
第18题:为了提高测试的效率,应该 ( 正确D )
- A.随机地选取测试数据
- B.取一切可能的输入数据作为测试数据
- C.在完成编码以后制定软件的测试计划
- D.选择发现错误的可能性大的数据作为测试数据
第19题:软件的集成测试工作由( )承担,以提高集成测试的效果。 ( 正确B )
- A.该软件的设计人员
- B.不属于该软件开发组的软件设计人员
- C.该软件开发组的负责人
- D.该软件的编程人员
第20题:软件测试计划的内容应包括 ( 正确D )
- A.测试目的、背景
- B.被测软件的功能、输入和输出
- C.测试内容和评价标准
- D.以上全部
第21题:计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷是属于 ( 正确A )
- A.缺陷
- B.故障
- C.失效
- D.缺点
第22题:问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态是 ( 正确A )
- A.激活状态
- B.非激活状态
- C.已修正状态
- D. 关闭状态
第23题:下列不属于软件本身的原因产生的缺陷的是 ( 正确C )
- A.算法错误
- B.语法错误
- C.文档错误
- D.系统结构不合理
第24题:从软件测试观点出发,软件缺陷由系统缺陷、加工缺陷、数据缺陷、代码缺陷和( )构成。 ( 正确B )
- A.设计缺陷
- B.功能缺陷
- C.性能缺陷
- D.接口缺陷
第25题:下列缺陷中,不属于加工缺陷的是 ( 正确B )
- A.算术与操作缺陷
- B.接口缺陷
- C.初始化缺陷
- D.静态逻辑缺陷
就先写到这里吧,答案如果有误的话欢迎大家在下发评论出来,我会马上做出修改。
最后为大家整理了一套最新的软件测试系统学习教程,包括测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、管理工具、Python基础、Selenium相关、性能测试、LordRunner相关等
通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点:
- 测试理论(测试基础+需求分析+测试模型+测试计划+测试策略+测试案例等等)
- Linux( Linux基础+Linux练习题)
- MySQL(基础知识+查询练习+万年学生表经典面试题汇总+数据库企业真题)
- Web测试
- API测试
- App测试
- 管理工具
- Python基础(Python基础+编程题+集合+函数+Python特性等等)
- Selenium相关
- 性能测试
- LordRunner相关
- 计算机网络
- 组成原理
- 数据结构与算法
- 逻辑题
- 人力资源
一、软件测试基础
- 软件测试的步骤是什么?
- 如何录制测试脚本?
- 应该考虑进行如何测试的测试方法
- 怎样估计测试工作量?
- 测试设计的问题
- 当测试过程发生错误时,有哪几种解决办法?
- 测试执行的问题
- 测试评估的目标
- 如何提高测试?
- C/S模式的优点和缺点
- B/S模式的优点和缺点
- …
二、Linux
- grep和find的区别? grep 都有哪些用法?
- 查看IP地址?
- 创建和删除一个多级目录?
- 在当前用户家目录中查找haha.txt文件?
- 如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
- 动态查看日志文件?
- 查看系統硬盘空间的命令?
- 查看当前机器listen 的所有端口?
- …
三、Python
- 统计python源代码文件中代码行数,去除注释,空行,进行输出?
- python调用cmd并返回结果?
- 冒泡排序
- 1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
- 请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
- 给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
- 判断 101-200 之间有多少个素数,并输出所有的素数
- 一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
- …
四、MySQL
- 你用的Mysql是哪个引擎,各引擎之间有什么区别?
- 如何对查询命令进行优化?
- 数据库的优化?
- Sql注入是如何产“生的,如何防止?
- NoSQL和关系数据库的区别?
- MySQL与MongoDB本质之间最基本的差别是什么
- Mysql数据库中怎么实现分页?
- Mysql数据库的操作?
- 优化数据库?提高数据库的性能?
- 什么是数据的完整性?
- …
五、Web
- Web测试和app测试区别?
- WEB测试环境搭建和测试方法
- WEB测试教程
- WEB测试要点及基本方法
- Web测试页面总结
- …
六、接口测试
- 什么是接口
- 如果模块请求http改为了https,测试方案应该如何制定,修改?
- 常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
- 描述TCP/IP协议的层次结构,以及每一-层中重要协议
- jmeter,一个接口的响应结果如下:
- 接口产生的垃圾数据如何清理
- 依赖第三方的接口如何处理
- 测试的数据你放在哪?
- 什么是数据驱动,如何参数化?
- …
七、性能测试
- 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
- 服务端性能分析都从哪些角度来进行?
- 如何理解压力测试,负裁测试以及性能测试?
- 如何判断是否有内存泄漏及关注的指标?
- 描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
- 简述什么是值传递,什么是地址传递,两者区别是什么?
- 什么是系统瓶颈?
- …
八、selenium
- 如何开展自动化测试框架的构建?
- 如何设计自动化测试用例:
- webdriver如何开启和退出一个浏览器?
- 什么是自动化测试框架?
- Selenium是什么,流行的版本有哪些?
- 你如何从命令行启动Selenium RC?
- 在我的机器端口4444不是免费的。我怎样才能使用另一个端口?
- 什么是Selenium Server,它与Selenium Hub有什么不同?
- 你如何从Selenium连接到数据库?
- 你如何验证多个页面上存在的一个对象?
- XPath中使用单斜杠和双斜杠有什么区别?
- 如何编写SeleniumIDE/ RC的用户扩展?
- 如何在页面加载成功后验证元素的存在?
- 你对Selenium Grid有什么了解?它提供了什么功能?
- 如何从你的Java Class启动Selenium服务器?
- Selenium中有哪些验证点?
- 什么是XPath?什么时候应该在Selenium中使用XPath?
- …
九、计算机与网络
- 一台计算机的IP是192.168.10.71子网掩码255.255.255.64与192.168.10.201 …
- 请简述DNS、活动目录、域的概念。
- 10M兆宽带是什么意思?理论下载速度是多少?
- 什么是IP地址?
- OSI七层网络模型的划分?
- TCP和UDP有什么不同?
- HTTP属于哪一层的协议?
- HTTP和HTTPS的区别?
- cookies和session的区别?
- HTTP的get请求和post请求的区别?
- HTTP1.0和HTTP1.1有什么区别
- TCP的连接建立过程,以及断开过程?
- 客户端使用DHCP获取IP的过程?
- 写出某个网段的网络地址和广播地址?
- …
十、人力资源
- 你的测试职业发展是什么?你自认为做测试的优势在哪里?
- 你找工作时,最重要的考虑因素为何?
- 为什么我们应该录取你?
- 请谈谈你个人的最大特色。
- 一个测试工程师应具备那些素质和技能?
- 还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
- 为什么选择测试这行?
- 如果我雇用你,你能给部门带来什么贡献?
- …
最后
整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!