一、自我介绍与软性热身题
1.请做一个自我介绍
2.你有什么优点和缺点?
3.你为什么要做软件测试这一行?
4.你为什么离开上一家公司?
5.你对我们公司了解有多少?
6.为什么我们应该录取你?
7.你的测试职业发展是什么?3-5年的职业规划?
8.你自认为做测试的优势在哪里?
9.你找工作时最重要的考虑因素是什么?
10.说说你的期望薪资
11.你通常对于别人批评你会有什么反应?
12.如果明知这样做不对,你还会依主管的指示去做吗?
13.如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理?
14.你觉得什么样的人最难相处?
15.如果你的工作通常能在时限内完成吗?
二、测试理论基础
测试基础概念
16. 什么是软件测试?软件测试的目的是什么?
17. 软件测试的原则有哪些?
18. 软件测试的流程是什么?
19. 一套完整的测试应该由哪些阶段组成?
20. 软件测试有哪些分类?
21. 黑盒测试和白盒测试的区别是什么?你是怎么运用的?
22. 黑盒测试和白盒测试常用的方法有哪些?请举例
23. 黑盒测试和白盒测试各自的优缺点?
24. 软件产品质量特性是什么?
25. 什么是软件的生命周期?常见的软件生命周期模型有哪些?
26. 什么是软件质量保障?
27. 软件测试与调试的关系是什么?
28. 测试的质量八大特性是什么?
29. 什么是UML?什么是CMM?
30. 什么是验证、评价、预排、检查?
31. 软件测试的对象是什么?
32. 软件带来错误的原因有哪些?
33. 做好软件测试的关键点有哪些?
34. 什么是”杀虫剂怪事”?
35. 完全测试程序是可能的吗?
36. 软件测试的风险主要体现在哪里?
37. 为什么尽量不要让时间有富裕的员工去做测试?
38. 软件测试人员就是QA吗?QA和QC的区别是什么?
39. 你怎么理解回归测试?是否思考过如何减少回归测试工作量?
40. 测试产品与测试项目的区别是什么?
41. 测试工具在测试工作中是什么地位?
测试流程与模型
42. 画出软件测试的V模型图
43. 请根据V模型分别概述测试人员在需求定义、设计、编码、系统集成阶段的工作任务及文档
44. W模型的描述?
45. 常见测试模型有哪些?
46. 软件测试的基本流程有哪些?
47. 需求测试注意事项有哪些?
48. 测试人员需要何时参加需求分析?
49. 如果需求一直在变化怎么办?
50. 测试活动中的风险有哪些?
测试用例设计
51. 什么是测试用例?测试用例的基本要素有哪些?
52. 设计测试用例的主要方法有哪些?
53. 等价类划分、边界值分析、因果图/判定表、场景法、正交法分别举例说明
54. 正交表测试用例设计方法的特点是什么?
55. 你认为做好测试用例设计工作的关键是什么?
56. 好的测试用例有哪些特点?
57. 描述测试用例设计的完整过程
58. 功能测试用例需要详细到什么程度才算合格?
59. 怎么才能够全面测试到每一个点?
60. 如何设计测试用例才能保证覆盖率?
61. 黑盒测试主要是为了发现哪几类错误?
测试类型详解
62. 单元测试的主要内容是什么?
63. 单元测试的策略有哪些?
64. 集成测试也叫组装测试,请简述集成测试的主要内容?
65. 集成测试通常有哪些策略?
66. 集成测试与系统测试的关系是什么?
67. 集成测试的进入准则和退出准则?
68. 系统测试包含哪些方面?
69. 系统测试的进入和退出准则?
70. 系统测试阶段低级缺陷较多怎么办?
71. 什么是验收测试?Alpha测试和Beta测试有什么区别?
72. 软件验收测试具体包括哪些?
73. 和用户共同测试(UAT测试)的注意点有哪些?
74. 比较以下测试类型的区别:功能测试、性能测试、压力测试、负载测试、容量测试、强度测试
缺陷管理
75. 简述一下缺陷(Bug)的生命周期
76. 一条软件缺陷记录包含了哪些内容?
77. 如何提交高质量的软件缺陷(Bug)记录?
78. 如何定义所提交bug的严重等级和优先等级?
79. Bug有哪些等级?
80. 写出bug报告流转的步骤,每步的责任人及主要工作
81. 缺陷处理流程是什么?
82. 开发人员老是犯一些低级错误怎么解决?
83. 发现的缺陷越多,说明软件缺陷越多吗?
84. 所有的软件缺陷都能修复吗?都要修复吗?
85. 开发人员说不是BUG时,你如何应付?
86. 修复一个BUG而导致其他BUG出现,该如何处理?
测试计划与报告
87. 测试计划工作的目的是什么?内容都包括什么?哪些是最重要的?
88. 测试计划编写的六要素?
89. 怎样做好测试计划、任务跟踪和漏测分析?
90. 项目版本执行过程中,测试人员如何把控测试进度?
91. 测试工作进行到一半发现时间不够,你如何处理?
92. 为什么要有测试报告?日常测试报告通常需要说明哪些内容?
93. 如何编写提交给用户的测试报告?
94. 测试总结报告包括哪些项?
95. 测试结束的标准是什么?
96. 测试出口准则和完成标准分别是什么?
测试方法与策略
97. 测试的策略有哪些?
98. 什么是测试策略?测试策略包括哪些?
99. 系统测试的策略有哪些?
100. 在测试工作中你常使用的测试方法有哪些?分别在什么场景下使用?
测试文档与评审
101. 软件系统的用户文档包括哪些?
102. 文档测试主要包含什么内容?
103. 简述用户文档的测试要点
104. 软件的评审一般由哪些人参加?目的是什么?
105. 阶段评审与项目评审有什么区别?
测试管理
106. 如果项目周期很短,测试人力不足,你是怎么协调的?
107. 描述下你团队的测试分工
108. 对于团队成员,你是如何打KPI的?
109. 如果你是测试组长,你如何对项目及组员进行管理?
110. 如何减少测试人员跳槽带来的损失?
三、计算机网络与协议
111. 描述TCP/IP协议的层次结构,以及每一层中的重要协议
112. TCP和UDP有哪些区别?
113. 简述子网掩码的用途
114. ISO模型?HUB、Switch、Router是ISO的第几层设备?
115. DNS是什么?它是如何工作的?
116. 描述用浏览器访问www.baidu.com的过程?
117. 什么是SQL注入?什么是跨站脚本(XSS)?什么是跨站请求伪造(CSRF)?
118. 防火墙如何保证安全?主要有哪些?
119. 常用的HTTP协议调试代理工具有什么?详细说明抓取HTTPS协议的设置过程?
120. 如果模块请求http改为了https,测试方案应如何制定修改?
四、Linux基础
121. 你常用的Linux命令有哪些?
122. 如何查看CPU信息?
123. 查看占用CPU使用率最高的进程
124. 查看进程的命令,杀死进程的命令是什么?
125. 如何查看一个文件的末尾50行?
126. 如何过滤文件内容中包含”ERROR”的行?
127. 查看某端口号?
128. 查看IP地址?
129. 创建和删除一个多级目录?
130. 如何查询出tomcat的进程并杀掉这个进程?
131. 动态查看日志文件?用什么查看log?
132. 查看系统硬盘空间的命令?
133. 把一个文件夹打包压缩成.tar.gz的命令,以及解压拆包的命令?
134. 在Linux中find和grep的区别?
135. 如何查找一个文件大小超过5M的文件?
136. 在Linux系统中,一个文件的访问权限是755,其含义是什么?
137. Linux中一般怎么隐藏文件?
五、数据库(MySQL/SQL)
138. 什么是关系型数据库?主键、外键、索引分别是什么?
139. 表的连接查询方式有哪些?有什么区别?(左连接、右连接、内连接)
140. SQL的select语句完整的执行顺序?
141. 事务的特性(ACID)?
142. 数据库索引是什么?怎么优化查询效率?
143. 你用的MySQL是哪个引擎?各引擎之间有什么区别?
144. 如何对查询命令进行优化?数据库优化怎么做?
145. SQL注入是如何产生的?如何防止?
146. MySQL中怎么实现分页?
147. SQL语句怎么看效率?
148. 存储过程和函数的区别?
149. 什么是存储过程和触发器?
150. 使用SQL生成10万条数据
151. 给你一张表,根据要求写SQL
152. 提取数据库中倒数10条数据?
153. NoSQL和关系数据库的区别?MySQL与MongoDB本质差别?
六、Web测试
154. 描述Web测试和移动应用测试的相同点和区别?
155. 基于WEB信息管理系统测试时应考虑的因素有哪些?
156. C/S模式和B/S模式的优点和缺点分别是什么?
157. 给你一个网站怎么开展测试?
158. 电商支付模块的测试如何展开?
159. 如何开展兼容性测试?
160. 配置测试和兼容性测试的区别是什么?
161. 什么是兼容性测试?兼容性测试侧重哪些方面?
162. 了解的常用浏览器有哪些?
163. Nginx、Tomcat、Apache都是什么?Apache和Nginx的区别?
七、APP测试
164. APP测试的内容主要包括哪些?如何开展?
165. 简述Android四大组件及生命周期
166. 当点击APP图标启动程序,说明将要发生哪些过程?
167. Android的兼容性测试都考虑哪些内容?
168. iOS应用和Android应用测试有什么侧重点?
169. 针对App的安装功能,写出测试点?
170. 常用的ADB命令有哪些?
171. 在查看logcat命令日志时怎么把内容保存到本地文件?
172. App崩溃(闪退)可能是什么原因导致的?如何抓取日志?
173. 如何测试监测APP的内存使用、CPU消耗、流量使用情况?
174. 请简述移动应用在升级安装时应该考虑的场景
175. 请讲述移动应用的灰度是怎么做的?
176. 客户端下3个常用的性能指标的名称与具体含义?
177. 如何测试一个应用的登录场景?
178. 请描述下微信朋友圈发小视频的用例设计?
179. 如果让你来测试扫码支付,你会考虑哪些场景?
八、接口测试
180. 请问你们公司是如何做接口测试的?
181. 接口测试质量评估标准是什么?
182. 接口类型有哪些?
183. 手机短信验证码接口怎么测试?
184. 常用HTTP协议调试代理工具有什么?详细说明抓取HTTPS协议的设置过程?
185. 什么是RESTful API?如何测试它?
186. 接口测试中如何验证数据的正确性?
九、性能测试
187. 请问你们公司是如何做性能测试的?请讲述性能测试的相关指标
188. 压力测试和负载测试的区别是什么?
189. 如何理解强度测试?
190. 什么是系统瓶颈?
191. 服务器中一般要监控哪些数据?如何监控?怎么从监控数据中发现问题?
192. 假设系统A调用系统B,我把系统B的接口都mock了,进行性能测试,有什么好处和坏处?
193. 有一天早上打车高峰,滴滴服务端挂了大概30分钟,工程师抢修后马上上线,之后又挂了,请问有哪些原因?
194. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
195. 您以往是否从事过性能测试工作?请尽可能详细描述完整过程
196. LoadRunner分哪三部分?进行测试的流程是什么?
197. 用JMeter做什么测试?如果有一个登录接口需要服务端返回参数再带着参数去请求才能完成登录,用JMeter怎么做?
十、自动化测试
198. 如何看待自动化和手工测试?怎样的比例才是健康的?
199. 你们公司的自动化投入产出比怎样?效率怎样?
200. 自动化测试用例的覆盖率多少?
201. 完整运行一次自动化用例需要多久时间?
202. 什么是分层自动化?
203. 你的测试数据是怎么准备的?
204. 测试脚本的维护成本是怎样的?
205. 自动化测试并发主要有哪些点?自动化测试分为哪几类?
206. 自动化登录成功如何校验?
207. 谁来进行自动化测试用例的维护?
208. 列举你熟悉的主流自动化测试工具
Selenium/WebDriver相关
209. 请问你的定位策略是什么?
210. 请问如何实现用例失败或异常时截图?
211. 请问如何分布式执行WebDriver用例?
212. 如何在脚本中执行JavaScript代码?
Appium与移动自动化
213. Appium的定位策略有哪些?请简述Appium的原理
214. iOS和Android的UI自动化的原理是什么?
215. 当定位策略都失败的时候,你该怎么做?
216. 请问Monkey测试的优缺点?如果使用Monkey发现了一个闪退,怎么重现它?
217. Selenium和Appium是怎么联系的?有什么关系?
218. 对于移动端混合型的元素你们是怎么抓取的?
QTP相关
219. 使用QTP做功能测试,录制脚本时,要验证多个用户的登录情况/查询情况,如何操作?
220. QTP中的Action有什么作用?有几种?
十一、安全测试
221. 软件的安全性应从哪几个方面去测试?
222. 什么是SQL注入?什么是跨站脚本(XSS)?什么是跨站请求伪造(CSRF)?
223. 防火墙如何保证安全?主要有哪些?
224. 如何测试网络协议?(一致性测试、互操作性测试、性能测试、健壮性测试)
225. 怎么测试一个网络协议是否安全?
十二、编程与算法(硬题)
Python基础
226. 斐波那契数列求N?
227. 字符串反序输出?
228. 判断回文?
229. 统计Python源代码文件中代码行数,去除注释、空行,进行输出?
230. Python调用cmd并返回结果?
231. 什么是可变、不可变类型?
232. 字典和JSON的区别?
233. 写一个列表生成式,产生一个公差为11的等差数列
234. 给定两个列表,怎么找出他们相同的元素和不同的元素?
235. 写一段Python代码实现删除一个list里面的重复元素
236. 请按字典中的value值进行排序
237. range和xrange的区别?
算法题
238. 请写出冒泡排序
239. 1~9999数列中数字3出现的次数,用递推方法解出
240. 从一个数组中找出前4个最大的数,用最优解
241. 写一段程序,删除字符串a中包含的字符串b,举例输入a=”asdw”,b=”sd”,返回”aw”
242. 写一个方法,把字符串转为数字,比如str=”1234″,变成int 1234
243. 阶乘(N!)题:10000!得出末尾有多少个零
244. 给你几个英文单词(举例Hello world),设计简单脚本使其反着输出单词(输出world hello)
面向对象与多线程
245. 什么是面向对象编程?
246. 讲下Java多线程的使用
247. 有三个线程T1、T2、T3,怎么确保它们按顺序执行?
248. Thread类中的start()和run()方法有什么区别?
249. 请写一个线程安全的单例模型
250. 结构化程序设计和面向对象程序设计各自的特点及优缺点
251. 什么是值传递,什么是地址传递,两者区别?
252. 描述软件产生内存泄露的原因以及检查方式
十三、测试管理工具
253. 熟悉的软件项目管理工具有哪些?
254. 结合你使用的缺陷管理工具,描述缺陷跟踪管理流程
255. 描述使用Bugzilla缺陷管理工具对软件缺陷跟踪管理的流程
256. 你觉得Bugzilla在使用过程中有什么问题?
257. TestDirector有些什么功能?如何对软件测试过程进行管理?
258. 禅道和QC的区别?
259. 什么是版本控制?常用的版本控制系统有哪些?
260. 说说你对软件配置管理的理解?
十四、系统与架构
261. 说出4种以上常用的操作系统及其主要的应用范围
262. Windows操作系统中PATH环境变量的作用是什么?
263. 内存有哪几种存储组织结构?请分别加以说明
264. 如何将自己的本地磁盘(D)做成FTP供远端主机使用?
265. 对RUP、CMM、CMMI、XP、PSP、TSP的认识?
266. 目前流行的操作系统有哪些?请举例说明安装操作系统的注意事项?
267. Ghost的主要用途和常用方法?
十五、开放性问题与实战场景题
268. 给你一支笔/一个水杯/一部电梯,请你设计测试用例
269. 手上有这支笔,请你根据这支笔设计测试用例
270. 一个有广告的纸杯子,请设计测试用例
271. 一个身份证号码输入框,怎么设计用例?
272. 登录功能怎么设计测试用例?
273. 页面中有一个输入日期的输入框和一个输入身份证号的输入框,如何进行用例设计?
274. 如何测试一个应用的登录场景?
275. 请描述下微信朋友圈发小视频的用例设计?
276. 如果让你来测试扫码支付,你会考虑哪些场景?
277. 给你一个应用,请简述你会从哪些方面去测试?
278. 请描述下你上个公司的测试流程?
279. 在您参与或负责的项目测试中,发生过哪些棘手的问题,最后是如何解决的?
280. 测试过程中你都经常碰到哪些问题?页面报404/500怎么处理?
281. 如何验证数据的正确性?怎么确保本次测试符合预期?
282. 需求不懂怎么办?
283. 你觉得软件测试的核心竞争力是什么?
284. 一个测试工程师应该具备哪些素质和技能?
285. 怎样才能成为一个优秀的测试工程师?
286. 你觉得测试在一个公司中扮演什么角色?
287. 测试中你有没做过风险评估?
288. 你觉得Web端和手机端测试有什么不同?
289. 测试计划是哪个开发阶段写的?在编码之前就要把测试计划写好吗?
290. 谈谈软件测试技术,以及如何提高
291. 谈谈软件测试职业发展,以及个人的打算
292. 谈谈软件测试在企业的地位,也可以结合软件生命周期来谈
293. 一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的?
294. 软件工程师要具有哪些素质?
295. 你会哪些测试工具?怎么操作?
296. 你觉得你来应聘有哪些优势?
297. 随便找一件物品,让你测试——考查实际测试操作能力
298. 有一个新的软件,假如你是测试工程师,该如何做?
299. 请就如何在开发中进行软件质量控制说说你的看法
300. 在搜索引擎中输入汉字就可以解析到对应的域名,请问如何使用LoadRunner进行测试?