花了3天时间,整理了100+大厂面试经验,汇总出来这份3000字的软件测试面试攻略给你!
(大厂面试真题我放在文末,自行获取,附答案!)
首先你要明白一个问题,面试的过程并不为为了显示面试官技术有多牛,也不是为了体现他们公司有多么难进,而是考察你的能力和招聘需求是否相匹配,进而评估你能否满足工作内容,甚至满足更过的岗位期待。
弄清楚了这个核心,那么就只需要把控好两方面的内容:
1、自己的技能水平可以满足招聘需求
2、面试官可能问到的技术或相关问题
首先说技能的问题,如果技能达不到招聘的需求,那么面试你肯定过不了!
高清图片文末获取
我根据薪资的不同,划分成以下几个级别具体说一下:
(文末有测试开发岗位简历模板,自己拿)
可能你是刚毕业的学生,也可能你是刚做这个行业不久,那么首先以下基本的理论你是必须要掌握的:
软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;
搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;
这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
Linux相关技能
操作环境、命令、安装数据库、部署测试环境等
数据库相关技能
各种命令用法、字段、增删改查
接口测试相关技能
接口测试基本理论、http协议、测试方法;
接口测试需求分析、用例编写、评审;
几种工具的掌握,jmeter、postman、soupUI;
APP测试相关技能
安装/卸载、离线、UI、登录等测试内容;
兼容性测试、monkey、fiddler抓包;
OK,搞定了这些,基本上这个级别大部分的招聘需求你都能搞定了!
都说自动化玩好了很牛掰,但是性能测试才是互联网企业的核心痛点!
对于性能测试,业界很多都是在“耍流氓”,举个栗子:
我拿到了一份“流氓”的性能测试报告,上面只写了响应时间、TPS是多少,然后罗列了一下压力机基本配置情况,比如40个并发相应时间是5秒,TPS是260。
那么,我该怎么判断这次性能测试的有效性:
1.场景是否合理?
2.压力是否传递均匀或者传递到指定目标?
3.是否有干扰因素,或者说那些数据是否有效?
4.有没有一些可信的判断方法?
这些问题的出现,其实就是反映出了目前在做性能测试的一些误区:
如果要搞定这些问题,那么性能测试你得这么去学:
性能测试的概念和流程
常见问题剖析、流行工具、方案设计
性能测试工具
jmeter工具的使用、实战;
jmeter多协议、拓展与定制;
分布式压测与任务调度;
性能监控
性能监控体系与监控数据采集
性能实施
分布式服务压测,场景设计、场景执行
测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告
jvm调试与系统调试
性能瓶颈分析
搞定这些,你完全可以很自信的和面试官说自己精通性能测试!
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
脚本编写、标准库、多线程、第三方库,外部数据处理
unittest、pytest测试框架、参数化、数据驱动
web端的自动化测试
selenium安装、录制、处理
web控件、JavaScript脚本、PO模式
移动端APP自动化测试
appium使用、录制、元素定位方法
APP控件定位、交互,参数化用例
appium问题定位分析、源码分析、二次封装
服务端接口自动化测试
接口自动化测试框架request
接口请求构造、断言
json/xml请求、响应断言
headcookie处理、认证体系
上面这些说的是性能和自动化测试的学习路线和内容,搞定这些,基本上在这个行业,月薪2万以上是非常轻松的事情了!当然如果你想成为技术专家,或者想带领技术团队进行实施落地,那么请你接着往下看,关于年薪30W+的测试开发需要学习哪些内容:
完善测试技术体系
Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础
web自动化测试
selenium测试框架
PageObject设计模式、原则、演练
APP自动化测试
Android自动化测试框架
appium高级应用于原理剖析
APP自动化测试实战
测试框架封装改造
ios自动化测试
移动专项测试
健壮性测试、弱网测试、崩溃检测、耗电量分析等
移动端性能测试
移动端安全测试
接口自动化测试
接口协议与抓包、代理技术与mock
接口自动化测试框架、HTTPrunner测试框架
dubbo接口自动化测试
接口管理工具swagger、接口安全测试
docker容器技术
docker容器、docker镜像
持续集成/持续交付/devops
jenkins持续集成
Jenkins持续交付
弄明白了各个薪资范围对应的照片需求是什么,那么下一步就看面试官会怎么问你问题了,我这里整理了80道最核心的经典面试题,文末自行获取。
技术类问题
1、以前做过怎样的项目?说一下你们的测试流程?在项目组中做过怎样的工作?
2、所做项目的情况,主要做什么类型的测试?
3、你认为是bug,而开发不认同时怎么办?
4、 给你一个网站,你如何测试?
5、熟悉数据库吗 ?平时数据库用的多吗 ? (大概测试过程的1/4时间在查数据库)
6、linux查看文件用什么命令,查看进程用什么命令 ?
7 、 查看日志常用什么命令,主要查看什么内容 ?
8、 软件测试用例设计/测试用例的内容/管理工具?
9、如何判断一个问题是bug?
10、平时写测试用例会用到的设计方法?
11、有哪些不同的测试计划活动?
12、哪些信息应该包括在开发的缺陷或错误报告中?
13、你觉得自动化测试的价值在哪里?你们公司为什么要做自动化测试?
14、举例一下说明一下你遇到过那些异常
15、什么是PO模式,为什么要使用它
16、你会封装自动化测试框架吗?
职业发展类问题
1、你对测试最大的兴趣在哪里?为什么?
2、 你的测试职业发展是什么?
3、你认为测试人员需要具备哪些素质?
4、你为什么能够做测试这一行?
5、一个测试工程师应该具备哪些素质和技能?
6、你认为做好测试用例设计工作的关键是什么?
7、您认为做好测试计划工作的关键是什么?
埋坑问题
1、怎样看待加班问题?
2、基于目前中国的国情,大多数公司的项目进度紧张、人员较少、需求文档根本没有或者很不规范,你认为在这种情况下怎样保证软件的质量?
3、为何尽可能不要让时间有富裕的员工去作一些测试?
4、如何减小测试人员跳槽带来的损失?
5、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
(超长图预警!)
高清原图文末获取
由于内容较多,建议点赞和收藏,以后随时调阅!
1、点赞,帮助更多人,让TA们也能看到这篇文章
2、关注我 @霍格沃兹测试学院-测吧,让我们成为长期关系
3、查看文末,领取我为你专门准备的测试开发干货!
谢谢你的支持~
免费领取:简历模板+面试技巧+自动化+测开+性能+用例模板+核心教程资料
测试在职如何拿到20k+高薪offer?
好的软件测试人员简历是什么样子的?www.zhihu.com如何编写测试用例?www.zhihu.com软件测试简历项目经验怎么写,没有项目经验?www.zhihu.com
发布于 2020-11-17
赞同 312 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
程序员臻叔
公众号“程序员臻叔”,专注测试干货分享!欢迎入群交流
33 人赞同了该回答
看到其他回答都在传授面试技巧,讲得都挺不错的。那我就补充补充一些 面试题 干货吧
根据我工作这几年来的面试经验,加上之前收集的资料,我整理出来350+道软件测试工程师常考的面试题。字节跳动、阿里、腾讯、百度、快手、美团等大厂常考的面试题,在文章里面都有提到。
虽然这篇文章很长,但是绝对值得你点击一下收藏。
想要找工作的同学,假如你每次面试之前,把此文拿出来过一过,好好复习一下,相信你一定能找到一个满意的工作。
Tip:我整理的面试题都按照这个脑图写,不定期更新,往下翻有目录,后期会不断把参考答案补充上去,点击标题阅读即可,此回答长期有效,找测试相关工作的同学一定要好好收藏。
http://weixin.qq.com/r/GUiagqPE6P6Xrefh9x0L (二维码自动识别)
Q:简单自我介绍一下吧
Q:项目和实习经历?(注意使用STAR法则表述)
工作内容
Q:按测试内容划分,测试有哪些种类?
Q:软件开发(测试)的流程是怎么样的?
Q:你印象最深刻的 bug 是?
Q:谈谈你对 CI/CD 的理解
Q:谈谈你对 DevOps 的理解
Q:什么是 BDD ? 什么是 TDD ?
Q:APP的一个页面,你怎么区分是原生Native页面,还是H5?
测试方法
Q:黑盒测试的方法有哪些?
Q:白盒测试的方法有哪些?
Q:什么是单元测试?
Q:什么是集成测试?
Q:测试用例怎么编写与设计?
Q:什么是灰盒测试?
测试文档
Q:测试用例都包含哪些要素?
Q:测试报告需要展示哪些要素?
Q:测试排期应该怎么估算?
Q:谈谈你构造数据的经历?
自动化测试
Q:举例说明,都有哪些功能可以用自动化来进行?
Q:如何判断一个功能能否进行自动化测试?
Q:定位xpath路径都有哪些方法?
Q:如何定位一个动态的元素?
Q:如何定位类似于悬浮在web页面上的元素(类似于web上飞来飞去的广告)
Q:列举你知道的自动化测试工具
测试工具
Q:聊聊 fiddler 的抓包原理
Q:fiddler 怎么抓取 https 请求?
Q:wireshark 抓包的头部有什么?
性能测试
Q:性能测试如何做的?
Q:性能测试需要关注哪些方面?
游戏测试
Q:印象最深的游戏是哪个?哪些方面最吸引你?
Q:印象最深的游戏里有过哪些bug,分析下原因
Q:如何对一个大地图游戏进行测试?该有哪些测试点?
Q:测试程序设计的不合理 与 测试程序完善但是测试人员出现失误,哪一项更严重?
Q:游戏测试的定位和职责你觉得是什么?
Q:游戏采用客户端和服务器架构的必要性是什么?
Q:LOL脚本的原理是什么?
Q:为什么RPG游戏脚本没有LOL这种竞技类脚本开发的多?
Q:有一个触发概率极低但是非常致命的BUG,明天项目一定要上线,你怎么处理,不用非得解决,就是问我怎么处理这种事。
Q:为什么想做游戏测试?
Q:让你做一个游戏,你更想做哪个类型的(MMORPG?MOBA?FPS?RTS?)
Q:说说游戏史,除了游戏还有什么爱好?
Q:列举你知道的游戏测试的测试工具
排查问题的思路
Q:网页崩溃的原因是什么?
Q:有个用户反馈上传头像失败,分析原因?
Q:app闪退的原因?
Q:偶然闪退的排查?
Q:网页卡顿的原因是什么?
Q:10%的用户反馈用不了功能,你讲如何排查?
Q:登录的按钮不能点击,如何排查问题?
Q:压测的时候,QPS一直上不去,你会怎么排查?
Q:APP提示无法连接网络,你会如何排查?
Q:怎么判断一个BUG到底是前端的BUG还是后端的BUG?
实战案例
Q:微博发动态,设计一下测试点
Q:对一台自动售货机进行测试用例设计
Q:设计微信发红包测试用例
Q:设计抖音直播功能测试用例
Q:设计微信扫码支付的测试用例
Q:设计百度首页的测试用例
Q:微信的点赞功能怎么测试?
Q:微信红包是先计算每个人能获得的钱还是当这个人点了再计算。
Q:微信朋友圈评论功能怎么测试?
Q:微信上线一个新的好友推荐功能功能如何测试?
Q:测试微信换头像功能,设计测试用例
Q:抖音视频的安全性测试,测试点有哪些?
Q:如果手机浏览器输入 http://baidu.com打不开页面,你会怎么排查?
Q:设计输入框测试用例?
Q:编写一个登录界面的测试用例?
Q:对一个接口编写测试用例
Q:搜索功能怎么测试?
Java
Q:什么是多态?
Q:什么是GC?
Q:set 与 hashset 的区别
Q:map 与 hashmap 的区别
Q:hashmap 的查找,删除,添加的时间复杂度
Q:查找所有java进程
Q:杀死java进程
Q:介绍一下 java 的拷贝、四种引用
Q:java容器有哪些?简要介绍一下 java 的数组和链表
Q:谈谈你对 java 集合了解多少?
Q:Java 三大特性是什么?
Q:List 和 Map 有什么区别?
Q:谈谈 List、Set、Map的区别?
Q:重写与重载的区别是什么?
Q:HashMap 和 HashTable 的区别是什么?
Q:ArrayList 和 LinkedList 的区别是什么?
Q:Map 的 put 方法
Q:java的封装,java 的访问权限关键字的作用域?
Q:为什么 java 要面向接口编程?
Q:什么是反射?
Q:interface 和 abstract 的区别是什么?
Q:熟悉 maven 么?谈谈你对 maven 的了解
Python
Q:全局变量和局部变量变量名能否一样?
Q:Python 里 is 和 == 的区别?
Q:Python 变量的创建与消亡过程
Q:Python的垃圾回收的机制
Q:dict的底层结构,tuple和list的底层结构的区别
Q:深拷贝浅拷贝的区别是什么?
Q:什么是协程?
Q:什么是装饰器?举一个你用过装饰器的例子
Q:@classmethod 和 @staticmethod 的区别,以及分别运用在哪些使用场景?
Q:什么是鸭子类型?
Q:python 的可变类型有哪些?
Q:python 常见的数据类型有哪些?
Q:列举 python2 和 python3 的区别
Q:什么是lambda函数?怎么用?
Q:别的编程语言都有三目运算符,三目运算符在python中怎么表达?
Q:try...except...else 和 try...except...finally 的区别是什么?
Q:什么是可迭代对象?可迭代对象的原理是什么?
Q:with...as 的原理是什么?
Q:解释一下python的GIL锁
Q:python 是单继承还是多继承?
Q:python 继承的顺序是什么?
Q:什么是元类?
Q:为什么都说 python 慢?
Shell
Q:什么场景下,适合编写 Shell 脚本来处理?
C++
Q:指针和引用的区别是什么?
链表
Q:一个有序链表,怎么求第K大个节点?
Q:怎么找出这两个链表是否有相交的点
Q:数组与链表的区别
Q:链表逆序
数组
Q:怎么对俩有序数组合并?
Q:求数组中和为 n 的两个数,时间复杂度是多少?
Q:int 型数组,怎么排序?
Q:int 型数组,怎么去重?
复杂度
Q:时间复杂度是什么?
Q:怎么计算时间复杂度?
排序
Q:八大排序都有哪些?
Q:快排的原理
Q:归并排序的原理
Q:冒泡排序的原理
Q:插入排序的原理
Q:选择排序的原理
树
Q:数的定义,代码实现
Q:什么是树的高度?怎么求?
Q:计算二叉树节点的个数
Q:什么是根结点?什么是叶子节点?
Q:打印二叉树
递归
Q:什么是递归?
Q:递归的时间复杂度是什么?
字符串
Q:字符串长度可以改变么?
堆与栈
Q:堆和栈都有什么区别
Q:代码实现栈
动态规划
Q:什么是动态规划?
高级算法
Q:什么是深度遍历?什么是广度遍历?
查找
Q:能够实现二分查找的必要条件是什么?
哈希
图
开发框架
Django
Q:简单介绍一下Django的目录结构
Q:了解什么是MVC么?为什么说 Django 是MTV模型?
Q:一个网络请求在Django中的实现过程
Q:uwsgi是什么?用uwsgi和用Django的原生启动方式,有什么区别?
Q:了解 ORM 么?简单介绍一下Django的ORM映射
Q:Django的 CBV 和 FBV 的区别?实际项目中你会使用哪种方式?为什么?
Q:怎么把 Django 的 module 同步到数据库中?同步过程中会遇到什么坑么?
Spring
Q:Spring 框架介绍
Q:什么是 IOC?
Q:什么是 DI?
Q:什么是 AOP?
测试框架
selenium
Q:selenium框架的运行原理
Q:selenium定位元素的方法都有哪些
Appium
Q:Appium用过吗?原理是什么?
Unittest
Pytest
TestNG
Junit
计算机网络
TCP/UDP
Q:简单介绍 TCP 三次握手(为什么不是两次、四次)
Q:四次分手是什么?
Q:TCP 拥塞是什么?
Q:TCP怎么保证安全的,UDP能否也像TCP那样安全,怎么做?
Q:你知道 tcp 的控制可靠性的策略和重传机制么?
Q:TCP协议属于哪一层?
HTTP/HTTPS
Q:cookie 和 session 机制、区别
Q:输入url到网页显示出来中间的过程
Q:列举你知道的网页状态码
Q:3 开头的网络状态码的含义是什么?302和304的区别是什么?
Q:4 开头的网络状态码含义是什么?
Q:5 开头的网络状态码含义是什么?
Q:什么是 HTTPS?原理是什么?
Q:GET 和 POST 的区别是什么?
Q:网络请求 method 有哪几种?
Q:简单介绍一下什么是 RESTful API
Q:PUT 和 POST 的区别
Q:列举常见的请求 Header 头
Q:一个HTTP请求报文是什么样的?(GET举例)
Q:GET 的长度限制了解么?
其他
Q:最大连接数和QPS区别
Q:网络一共分为几层?
Q:客户端向服务器请求图片和动态资源的区别
Q:图片渲染的过程 前端
Q:网络七层有哪些?tcp,udp,arp都在哪一层?
Q:QPS 和 TPS 的区别是什么?
Q:解释一下DNS
Q:什么是反向代理?
Q:什么是 socket?
Q:【手撕】用 socket 实现一个聊天室功能?
操作系统
进程/线程
Q:进程与线程的区别?
Q:何时cpu处理进程最慢?
Q:为什么会出现死锁?
Q:进程间通信的方式?
Q:线程间通信的方式?
Q:如何做到线程同步?
Linux
Q:linux切换目录
Q:linux命令,统计一个文本中关键字出现的次数
Q:linux 查找当前目录下所有后缀为 .py文件
Q:知道的linux常用命令:查看指定端口进程
Q:cd - 和 cd ~
Q:linux 查看某个进程命令怎么写
Q:如何查看日志?怎么查看后500条日志?
Q:awk有什么用?如何用(举个例子)?
Q:如何查看系统性能?
Q:如何查看剩余磁盘空间大小?
Q:如何查看目录占空间大小?
Q:你知道 xarg 的用法吗?
Q:怎么从本地计算机与服务器中进行文件传输?
Q:测试服务器之间怎么进行文件拷贝?
Q:sed 有什么用?如何用(举个例子)?
Q:怎么杀死一个进程?
Q:怎么递归删除一个目录下的所有文件?
Q:怎么查看内存大小?
Q:怎么查看 CPU 使用情况?
Q:怎么重启 Linux 服务器?
Q:怎么打印出一个文件的第500-1000行?
文件存储
Q:静态存储和动态存储的区别
Q:视频在服务器的存储几种方式
Q:CDN有什么用?
Q:为什么前端静态资源要上传到CDN上?
其他
Q:系统资源包括哪些?
Q:什么是 IO 操作?
Q:什么是内存?
Q:什么是硬盘?
Q:什么是CPU?
Q:什么操作比较消耗CPU?
Q:什么是UTF-8?什么是Unicode?
Q:什么是 IO 多路复用?以及怎么实现?
Q:谈谈什么是分布式?为什么要用分布式?
数据库
非关系型数据库
Q:非关系型数据库有哪些?
Q:Redis的数据结构有哪些?
Q:Redis 和 Memcached 的区别?
Q:Redis 的用途?
Q:Redis一秒能写入多少数据?
Q:Redis为什么快?
Q:Redis的过期时间怎么设置?哪些场景适合缓存更长时间?
Q:什么是缓存雪崩?
Q:什么是缓存击穿?缓存击穿和缓存穿透的区别是什么?
Q:什么时候适合用MongoDB?
Q:Redis 适合做消息队列吗?为什么?
Q:Redis 的数据是存储在内存当中的,假如断电之后就会造成数据丢失,那怎么对 Redis 进行数据固化?
关系型数据库
数据库基本理论
Q:有哪些数据库优化的方式?
Q:关系型数据库和非关系型数据库的区别?
Q:数据库的事务有什么用?什么时候应该使用事务,什么时候不该使用事务?
Q:数据库索引有什么用?什么是联合索引?
Q:主键适合用自定义ID还是自动ID?
Q:外键是什么?为什么大公司有时候不建议使用外键?
Q:索引设置得越多越好吗?索引得优缺点是什么?
Q:InnoDB是基于什么实现的?
Q:为什么会造成数据库死锁?怎么解决?
Q:事务都有哪些特点?
Q:数据库设计的三大范式是什么?
Q:一张数据表最多不建议超过多少行?
Q:为什么要进行分表分库?
Q:分表分库有哪几种方式?举例说明
SQL
Q:【手撕】数据库,查找一个学生两门功课都大于80分的姓名
Q:【手撕】联表查询2个表中工号为“123”的人的所有信息
Q:【手撕】一个人员表,一个部门表,人员表中存了部门id,查人员表各部门表所有数据
Q:【手撕】查询一个城市列表里面重复的城市名,并且统计重复次数
Q:【手撕】查找一个学生成绩表中平均分数大于90分的学生名单
Q:【手撕】查找学生成绩表中平均成绩最高的同学
Q:数据库怎么拷贝数据?
Q:删除数据的方式有哪些?说说 drop table和truncate table的区别?
Q:跳台阶问题
Q:4分钟沙漏和7分钟沙漏怎么漏出9分钟
Q:两个粗细不同的香,燃尽时间都是1个小时,怎么用这个2根香计算15分钟的时间
Q:赛马
Q:10堆苹果,每堆10个,9堆每个50g,1堆每个40g,有一个称,求只称一次,找出这个轻的一堆
Q:飞机加油问题
Q:逻辑:四个开关四个灯泡
Q:地球弧形
Q:求最大回文个数
Q:一个数组中有正数有负数(没有0),请将它排成正负相间的数组(多余的全部放后面),时间复杂度不超过O(n);
Q:一道编程题,输入一串由ABCD四个字随机组成的字符串和一个整数k,返回字符串种前k个字的顺序重复了几次。
Q:编程:判断一个字符串是否符合ipv4格式
Q:代码题,给一个句子,只把单词翻转然后输入
Q:【手撕代码】字符串中只出现一次的字符、找出数组中最小的四个数字
Q:代码:一串字符串中最小的整数
Q:写代码,类似高考成绩,一个表中有很多数据(无序的),给你一个成绩,查出在表中的排名
Q:编程题,鸡兔同笼,一半的兔子伸起一半的脚,输入地上有几只脚,列出所有的可能性(兔子是基数则整除2)
Q:判断一个字符串是否是点分十进制的ipv4格式
Q:100万个学生 按照成绩 及对应排名录入 分数查找排名(hashmap)
Q:python的编程题,输入一个字符串然后空格切割在统计每个字母出现的次数
Q:为什么想做测试
Q:对测开的理解
Q:测试过程中有没有出现问题,是如何解决的
Q:最近看了什么书?学了什么?为什么学?有看什么技术书籍吗?
Q:个人优缺点,举例
Q:测试看重什么能力
Q:项目问题细挖
Q:为什么选择xx公司?
Q:你对我们公司有什么了解吗?
Q:之前实习收获了什么
Q:介绍下自己的优缺点
Q:抗压能力如何,描述一件自己如何抗压的经历
Q:反问环节:你有什么问题想问我么?
Q:项目中收获了什么?
Q:平时怎么学习的
Q:为什么要离职?
Q:你的期望薪资是多少?
欢迎关注我的知乎号NET.Dzreal,持续分享测试开发干货。
适合测试人员看的经典书籍有哪些?www.zhihu.com
如果对您有帮助,就请点一个赞吧,让更多的人看到!
编辑于 2020-05-07
赞同 334 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
徐林林
培训师
553 人赞同了该回答
辅导学员简历面试,发现还是有不少人思路不是特别清晰,也不知道该如何准备一次完美的面试。下面总结了关键的12个问题,能够比较完美地回答好这12个或者12类问题,相信能够给自己的面试带来很大的帮助:
第一个问题:自我介绍(心理学首因效应告诉我们第一印象非常重要),自我介绍最重要的是能够在面试官心目中留下一个好的第一感觉。说得更直白一点是让面试官舒服。但是我发现很多人就是直接简单的介绍了一下过去的经历,但是实际上一方面过去的经历没有很好的让人发现优点。其实面试好比相亲,你想说什么不重要,重要地是人家想听什么。比较好的自我介绍套路是这样:“您好,我叫XXX,很高兴能获得这次面试机会,今天来面试是想证明自己是最合适的人选,另一个方面是获得您的认可,结合我过去的工作和学习经历,我自信我能符合咱们公司的认可,接下来您看是我继续介绍我做过的项目,还是您问您关心的问题?”
第二个问题:项目介绍(项目经验直接决定一个人能否胜任一份工作,企业更应该看重一个人解决问题的思路和具体能力),项目介绍部分最重要的思路是应该先整体后局部,介绍整体的时候要有量化的数据(从项目度量的五大维度:规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本),然后是整体的测试流程,然后再是角色与职责,接下来是项目中自己的特色,比如做得最好的是、遇到最大的困难时、最差的是,最后是心得体会。
第三类问题:数据库方面知识,最基本的要求是数据库记录的增删改查(insert、delete、update、select),表结构的增删改查(create、drop、alter、describe)、存储过程、触发器等。
第四类问题:linux操作系统相关,最基本的目标是熟悉常见的50个命令,比如find命令(-name、-type、-perm、-user、-group、-ctime、-atime)等,熟悉vi、熟悉linux搭建测试环境。比如LAMP环境搭建。
第五类问题:缺陷相关知识,最基本的是缺陷跟踪的流程(流程的基本要素),整体的流程,最好能在纸上给面试官画出来(尤其是男面试官,从男人好色的角度来看,写得很清楚很重要),缺陷单的属性,至少能列出20个属性,每个属性的意义,如何描述好缺陷单,缺陷单描述的5C原则,比如缺陷重现步骤应该complete。如何描述一个你认为的最经典的bug单。
第六类问题:用例相关,最基本的包括用例的格式要素,用例设计工程方法论,每个方法要求(方法的背景,操作步骤,优缺点、适应范围,与其他用例方法如何配合),在项目中如何利用测试用例设计工程方法。如何评价、评审测试用例,评审从哪些维度?要设计好测试用例需要哪些方面的知识结构,比如技术、业务、方法。
第七类问题:软件测试流程,系统测试相关规范和标准的流程:熟悉产品/项目,需求评审,测试需求,测试计划,测试方案,测试用例,预测试,第一轮正式测试、第二轮回归测试、第三轮测试,测试报告,测试总结,测试指南。
第八类问题,网络相关,最基本的网络基础知识,比如TCP/IP协议。
第九类问题,测试工具,包括三个大的类型,第一类是性能测试工具、自动化测试工具、测试管理类工具。最起码的要求是熟悉工具的使用。
第十类问题,给你一个软件,比如QQ、QQ斗地主,你如何去测试,这类问题基本的思路是,从软件质量模型、测试工具、测试方法、测试流程、探索式测试等角度先宏观解决,然后再具体微观讲解用例如何设计等。
第十一类问题,一个优秀/卓越的软件测试工程师应该具备哪些能力与素质,素质方面包括沟通、五心工程师、追求完美等;
第十二类问题,最后一个问题,面试官一般会问,您还有什么想问的吗?还有什么想了解的吗?总体上来说最重要的是留下一个好的近因效应,就好比相亲的时候,分手离开的时候,留下好的最后的印象,基本的思路应该分三种情况,第一种是面试官对你满意,自己也感觉不错的情况下,先表示感谢,然后积极主动的问题,比如,非常感谢您给的这次机会,但是我还是想问,如果我有下一轮面试,我想知道知道是什么时候,我应该再做哪些方面的准备。第二种情况是面试官和自己感觉都一般般,感觉自己是鸡肋,这个时候说不说很重要,基本的套路是,非常感谢面试官给的这个机会,坦白地说我对自己今天的面试表现不是非常满意,还可以表现得更好,但是如果我还是非常想得到这个机会,您能否给我一些建议。第三种情况是面试情况非常糟糕,这种情况下,很少有人能说出感谢,但这恰恰体现一个人的风度。基本的思路是,不管怎么样,还是得感谢您给的机会,让我自己认识到自己的不足,坦白地说我离这个岗位的要求还有些距离,但是我还是想知道,如果将来我还想来咱们公司面试,您能否给点具体建议。
总结,面试是一个相亲的过程,相亲的成败取决于很多要素,但是好的、充分地准备,能够让我们更加从容地和主动的去面对压力与挑战,而不是简单地把自己变成超市里面的菜,供人挑选。
面试必须要警惕的20个问题
更多内容,请关注我们的公众号 HGQATNT 或者访问我们的网站 http://www.qatnt.com
编辑于 2015-07-24
赞同 55338 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
黑马测试
已认证的官方帐号
256 人赞同了该回答
写在前面:拿到面试机会的前提是能写出一份不错简历,如果对如何写出优秀测试简历不清楚的话,那就狠狠点击:
好的软件测试人员简历是什么样子的?www.zhihu.com
回到题主的问题“如何去面试软件测试工程师”,这个主题是站在用人单位的角度问这个问题,但是相信很多人搜到这个问题,目的是为了知道如何准备面试,以便拿到软件测试工程师的Offfer(所以我会更多站在求职者的角度去解答这个问题)。
但我们要清楚,找工作是出卖服务的过程。我们得先知道企业的需求是什么,才知道要怎么把自己卖出去,所以在面试之前,我们需要先分析企业的招聘需求。
企业的招聘要求里面会列出很多项内容。比如某公司的行政助理岗位,要求行政管理相关专业毕业、熟练使用Office、性格开朗、沟通能力强、积极主动等等。这些要求其实就是基于冰山模型的一套系统。
冰山模型简单为大家介绍一下。它是美国著名心理学家麦克利兰提出来的。用来表示个体素质的各个要素,现在成为很多企业进行人才筛选和培养的基础模型。
在该模型里面,知识与技能是冰山上面漏出海面的部分,它比较容易观测,而且相对而言容易后天习得,比如画PPT、做Excel等等;能力半浮半沉,改变周期长,但重要性更高,比如沟通能力、解决问题的能力等等;而性格特质、动机和价值观,基本上完全隐藏在海面之下,这部分不容易被观测,却对人的行为表现起到至关重要的作用,而且在成年后基本定型,不太容易受到外界影响而改变。
好,那我们已经知道了什么是冰山模型,现在就用这个模型来梳理一下行政助理的岗位要求:
1)首先,要素1:知识与技能,在招聘要求中,知识体现在对行政管理相关专业的要求上,技能则体现在熟练使用Offer这个要求上;
2)其次,要素2:能力,指思维、沟通等软能力,对应招聘要求里的沟通能力强;
3)最后,要素3:性格特质、动机和价值观,对应招聘要求里的性格开通、积极主动。
所以说,你可以用这个模型,将企业的招聘需求进行拆解,这样就能做到对企业的需求了然于胸了。
不仅仅是行政助理,软件测试等几乎所有岗位都可以按照冰山模型这么拆解(试试用冰山模型拆解下图中的测试岗位需求)。
冰山模型介绍完后,我们回到“如何去面试软件测试工程师”这个主题。
随着互联网及移动互联网的发展,越来越多的IT公司更加注重公司IT产品的质量,所以招聘测试工程师的岗位需求也越来越多,同时对软件测试工程师的要求也会越来越高。企业对于测试工程师的招聘需求大体也是遵守“冰山模型”,一般也都会包括以下几个方面:
所以我们完全可以按照该冰山模型去准备,下面我们来详细阐述:
1、测试理论、测试流程类的问题。
比如会问面试者之前工作中的测试流程、测试提交的缺陷包括哪些要素?怎样提交缺陷能保证开发快速有效的解决对应的缺陷?另外也会问到测试用例相关的问题,比如测试用例包括哪些要素?设计测试用例的常用理论方法?也可能会被问到测试报告包括哪些内容?所以这一块的知识点是做为测试人员的必备基础知识,可参考以下技能树。
2、Linux操作系统相关
比如会被问到常用的一些命令(cat tail find grep ps kill top),一般主要回答查看文件(cat、tail、more、grep),查看进程(ps),查看内存(top、free)、cpu(top)以及杀掉进程(kill)等相关命令,不要回答cd 、copy、rm、mv等非常非常基础的命令。另外也有可能会被问到是否有在linux搭建过测试环境,那么这种情况下建议面试前自己去找一些后台系统去练习一下在linux上搭建环境。
3、数据库相关的问题
这一块最基本的增删改查的语句肯定要会,另外的话关于条件查询、联表查询也必须要会。再高级一点的话,可以去看一些存储过程以及触发器的实现 。
4、自动化相关的问题
自动化相关的问题会比较多,如果问UI自动化的话,那么必须要熟悉UI自动化的框架,比如Web自动化框架可以通过python+selenium+unittest来实现,而移动端自动化是通过python+appium+unittest来实现。针对selenium和appium对应的api一定要提前熟悉,同时也要知道对应的api所使用的场景。
5、网络通信类相关的问题
这一类问的比较多的可能都是跟http有关系,比如会被问到http头部包括哪些内容?http的GET和POST方法有什么区别。TCP/IP七层模型也有可能会被问题(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
6、工具类的问题
抓包工具的使用,比如fiddler、charles是怎么实现弱网测试的。
7、app专项测试类的问题
app会做哪些专项测试?(安装卸载、兼容性、交叉测试、稳定性测试、PUSH推送测试、性能测试、用户体验测试)性能测试主要测试哪些性能?用什么工具测试的?(性能测试项包括内存、CPU、FPS、电量、流量、启动速度, 使用的工具是GT)
8、其他类的问题
有可能会问到性能测试或者安全测试(信息安全、sql注入、xss攻击、CSRF攻击、越权、)之类的问题,那么根据自己之前的经验来回答
技术问题对于测试人员而言属于门槛需求,非常重要,建议在面试前要反复刷题。给大家提供一份《黑马软件测试2020面试宝典》,网盘链接:https://pan.baidu.com/s/1o5rHWpg7N9FuQI9I6-0K1A 提取码:jei7
思维方面一般会问到的是如果测试过程中遇到了问题你会怎么处理?
针对这样的问题要从几个方面进行考虑:
1、要分析问题到底是前端的问题还是后端的问题
2、如果是前端问题,能直观的看到问题原因,可以直接提问题单
3、如果是后台的问题,那么先去检查后端的相关配置是不是正确的
4、如果配置正确,那么可以去检查对应的数据是不是正常的,比如数据库的数据、redis的数据
5、如果以上都是正确的,那么基本可以肯定是代码的问题,这时可以去查看对应的后台日志信息,并提交问题。提交问题单时可以将日志信息附上去。
企业一般通过两个问题来了解软件测试应聘人员的沟通能力
首先会让面试者做自我介绍,这一项是非常重要的,因为这一项会给面试官留下非常重要的第一印象。自我介绍时可以做一个简要的说明,来自哪里、毕业于哪里、以及结合自己之前的工作经验做一个简要的说明,这个过程时间大概在2-3分钟即可。同时说话要流畅、自信。
第二个问题可能会让你介绍一下上家公司产品的业务流程,那么这个时候要能非常清晰明了的说出产品的业务流程,同时针对面试官提出的业务疑问都能及时解答。
第三个问题可能会让你介绍“你有什么缺点”来了解你的沟通能力。
一般通过“请介绍你工作中最难忘的一件事情”等开放性问题来了解。针对这类体现性格、抗压性的问题,在面试前一定要认真准备,回答一定要是正向的,积极的。最好提前准备故事来体现我们的正向、积极、抗压能力强。
----------------------了解了考察的4个方面,接下来看如何准备面试--------------------------
以上四个问题,除了第一类技术问题是可以通过刷题来解决外(一般面试的时候,会安排笔试来考察),其他三类问题,面试官都需要通过与应聘者交流来获取。所以作为应聘者,我们需要通过三步走来进行充分准备以便于沟通。
第一步:逐条列出企业招聘需求,针对每条要求
1)横向比较:相比较其他人,是否做得更好?;
2)多多举例:这项要求是否有相应事例证明?请列出至少2件代表事例,且是周围人做不到的例子。
第二步:根据分析,填写匹配度
1)匹配度高:至少有两个有效事例作为证明,且强于绝大数人。
2)匹配适中:至少有一个有效事例作为证明,且强于一半以上的人
3)匹配度低:较难找到事例作为证明,未与其他人形成差异化优势
第三步:根据匹配结果确定下一步
1)填写完匹配表后,80%以上为“高”,且“低”最多一个的,工作匹配度很高,好好准备你已经整理好的故事。
2)50%-80%要求为“高”,且“低”不超过30%的,则要继续挖掘经历;
3)只有50%以下的要求为“高”,且“低”超过30%,嗯,建议放弃,看看别的公司。
通过以上三步,我们就实现了面试前“知己知彼”,最终实现面试时的“百战不殆”
最后,强烈推荐大家查看黑马测试为大家精心准备的非技术面试系列避坑问题《测试人员面试失败,绝大部分死在这29个问题上》,如下链接所示:
必看:测试人员面试失败,绝大部分死在这下面29个问题上-黑马程序员技术交流社区bbs.itheima.com
如果想了解到更多有关测试求职的知识,可以狠狠点击下方链接:
黑马软件测试面试帖大集合(含简历模板+面试真题+宝典+视...-黑马程序员技术交流社区bbs.itheima.com
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
---------------------------------------------------------------------------------------------------
最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
2020软件测试学习路线图,内附视频教程+自学路线+工具+面试篇-黑马程序员技术交流社区bbs.itheima.com
软件测试有前景吗?
软件测试行业到底有没有前景和出路?
软件测试工程师的工资有多高?
软件测试这个职业能干多久?
软件测试真的干到35就干不动了吗?
二十五岁零基础转行做软件测试怎么样?
本人女,想转行做软件测试,没有任何经验,也没有基础,现在已经毕业两年了,25岁,现在转行来得及吗?
女生学软件测试,容易吗,这个工作会不会压力很大?
软件测试员比软件开发员要求低些吗?
软件测试的魅力何在?您为什么选择测试一行而不做开发?
作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的?
作为一名软件测试工程师,需要具备哪些能力?
软件测试人员怎么快速让自己牛逼起来?大概要多久才能很牛逼?
大四应届毕业生,想自学软件测试,要学到什么程度才能找到工作?
如何系统、高效地学习入门软件测试,并能找到软件测试的工作?
零基础想转行做软件测试,可以吗?
软件测试需要学什么?
想要成为一个优秀的软件测试人员,应该学些什么?
零基础如何通过学习进入软件测试行业?
在校生想成为软件测试工程师自学需要学什么?
新人如何入门和学习软件测试?
怎样做好软件测试
在博为峰(51Testing)进行软件测试相关培训有必要吗?
软件测试培训靠谱吗?
这么多的软件测试培训机构,哪个好?
怎么的技能可以让软件测试工程师获得高薪?
面试软件测试工作,如何回答:为什么要从事软件测试行业?你觉得你会什么?
如何去面试软件测试工程师?
好的软件测试人员简历是什么样子的?
如何编写测试用例?
手机软件的测试主要有哪些方面去测试,性能测试用什么去测试好?
如何做好app的测试工作?
软件测试完后,还有BUG,是测试人员的问题吗?
做了大半年的软件测试,可是觉得我在浪费时间,怎么办?
四年测试工程师经历,下一步转开发还是继续测试?
软件测试工程师应该怎样提高自己?
转行软件测试两个多月,感觉很迷茫,下一步该如何提高自己?
四年手动软件测试,裸辞后找不到工作怎么办?
做软件测试,如何才能实现月入20K?
如何学习自动化测试?
编辑于 04-19
赞同 25651 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
柠檬班软件测试
创新教育,极致服务
8 人赞同了该回答
找工作,找更好的工作,永远是职场人士特别是互联网这个人才流动性巨大行业的永恒话题。
提到找工作,则又离不开对于面试的探讨。
网上存在着诸多面试相关的文章攻略,不过站在面试官角度谈面试的却很少。
本文就站在面试官的角度,谈一谈一个面试是怎么组织的,有哪些技巧和思路,希望帮到开始接触招聘任务的测试管理人员,同时也从另一个角度帮助求职人员应对面试。
一个测试团队的组建过程是怎样一个链路,或者说一个测试人员是怎么被招聘进团队的呢。
一般来说,整体上要经历以下的步骤:
对于测试管理人员(面试官)而言,在谈面试之前,首先要说说人员需求的确定。对人员的不同需求注定着我们面试中用到的思路和考察点不太一样,当然面试官要提前确定不能泛泛而论。
总结了几个问题,在发布招聘需求或者开始参加面试之前,试着回答一下:
这些问题思考清楚以后,就可以产生我们耳熟能详的JD技能要求了,例:
在招聘和面试时,我们到底都考察一个测试人员的哪些方面能力素质呢?懂测试?会某种工具?
其实这个问题,我们更系统的来归纳一下,就是一个测试工程师能力胜任模型,见下图:
不同的企业和项目都有着不同的人员需求,这里不能一概而论。但是通常来讲,测试人员的能力构成模型应该包括以上雷达图里的六个维度:
基础理论:求职者对于有没有着牢固的测试理论基础?对于测试的角色和团队地位有着准确的认识?有没有出色的测试思维和理念?
-有的团队在招聘测试工程师时会很看重技术和工具经验等,但往往会忽视更基础的这一部分。实际上,再强的能力也要建立在牢固的基础之上,这一部分需要重视。
技术能力:对于未来预期他要用到的技术有没有足够的经验或者理解?比如测试设计技术?操作系统知识?数据库使用?测试工具的使用?编程能力有没有?自动化测试做过吗?
-面试官往往很看重这一块内容,不过实际操作起来,其实是有难度的。这要求面试官本身对于技术的掌握要到比较好的水准,才能去判断别人。而其实市场上,想要招聘到100%满足技术要求的人员其实是非常困难的,因为企业百花齐放,每个企业每个项目可能都用着不尽相同的技能工具集合,想要求职人员的技能工具经验完全匹配我当前的职业需求机率是很小的。原则上我们应该更看重其学习能力和主动意识,工具技术相关经验只要满足70%以上匹配度即可,过于纠结这部分可能会得不偿失错失人才。
-对于面试者也是一个思路,什么情况下我可以去应聘某个职位?负责任的告诉你,当你的技能包与职位描述60-70%匹配时,就可以去应聘了。反过来当你的技能100%甚至120%满足某职位需求时,就不要考虑了--因为你一定超出这个职位需求了,为什么不去考虑更好的工作呢?
职业素养:职业素养是职场人员的软技能,比如时间观念,沟通能力,抗压能力等等。
-这是非常重要的能力组成部分。一个求职人员再牛,如果没有好的职业素养,一切都是白搭。
业务能力:业务能力也是测试人员必备的能力之一,包括领域知识经验和产品相关经验。
-测试做为最关心产品最终实现和用户体验的人员,当然需要对产品所处业务领域有足够经验和知识,比如一个财务处理系统,对于财务知识要求就会比较高。不懂相关知识,可能连需求消化都需要额外的时间和精力,而且还可能导致测试出现偏差。当然类似财务处理这样的专业领域,想要找到足够相关经验的测试人员是比较难的,所以一般只能做为加分项。
-产品知识同样对于测试人员很重要,了解产品的架构和运作逻辑,才能帮助他更好的规划和执行测试。同样做为加分项,招聘时要注意求职人员有无类似产品的工作使用经验。比如一个长期工作在硬件嵌入式系统的人员,换到一份互联网P2P公司,这两种产品从架构到机制可能完全不一样。
管理能力:管理能力对于初级测试工程师一般没有很高要求。但是对于经验比较丰富的人员而言,管理就会被提上日程。
-管理不单单是做为测试经理或主管去全方位管理团队的能力,同样还包括个人管理,比如时间规划,比如协调组织能力。进一步说,对于规模稍大的团队,核心人员能够胜任lead(带领者)和mentor(导师)这样的角色也是很必要的。
企业文化:企业文化是个听起来很虚的东西,不同的企业可能有不同的文化,比如客户导向,比如注重质量,比如讲究效率。
-我们换个名词叫做‘团队文化’。比如我的团队,现阶段需要一个沉稳型的工程师,还是一个奋进型的创业者?总的来说,正能量,积极主动,有责任感这样几个核心要素是可以适应各种不同文化的。
以上模型的六个维度中,有一些是可以通过简历筛选大体上完成匹配度检查的,而另外一些简历上体现不到的东西则需要在面试中进一步观察。
上一节我们用能力胜任模型谈论了一个测试工程师的考察维度,那这些素质究竟该怎么在短短的一场面试中考察到呢?
接下来说一说具体的考察方法,也就是套路。每一种问题我们从想要得知什么和不想看到什么两个方面去讨论。
有几类问题是面试中大家比较常见到的,反套路也很多,我们稍微介绍一下:
功能:给求职者一个表达的窗口,同时也是考察其表述能力和基本素质的问题。
想看到的:主动的态度,良好的表达能力,充分的准备,简明扼要的阐述
不想看到的:语言支离破碎,介绍过短或过长(表达沟通能力堪忧);想到什么说什么,没重点(对应聘没有做好准备,求职意愿不强,规划能力不够)
功能:判断求职者的稳定性,挖掘隐性问题。
想看到的:合理的理由,正能量的表达
不想看到的:充满怨气的理由(可以反应出很多问题),没什么理由(工作内在动力不明确)
功能:考察求职者的规划能力,景愿,以及工作动力
想看到的:诚实的表达,合理的规划
不想看到的:毫无规划(没有工作目标动力的支撑,进步可能性小)
谈缺点
这个问题不得不吐槽一下,原本这个问题是一种挑战性套路,但是被反套路得太多,所以现在这个问题更多的我认为是要考察诚实品质了。
功能:挖掘隐性问题,判断人物性格
想看到的:诚实、诚实、诚实。能够认识到问题,并且有解决的思路,人非圣贤,孰能无过?知错能改,善莫大焉。
不想看到的:反套路(强行优点说成缺点),没缺点(。。。),调侃(严肃点。。。什么都被你打哈哈过去了,我面试还怎么面?)
功能:考察求职者的主动思考能力,对公司职位的青睐度
想看到的:对于公司,项目,职位,技术充满兴趣的问题
不想看到的:反套路(动辄上升通道和培训机会),没问题(一脸懵,缺乏思路和主动能力)
除了以上这些被问烂了的问题,还有一些个人总结的面试问题思路:
比如在合理的范围内提出质疑,和疑问,比如:
‘某项技术在我们的项目内是硬性要求,而您的简历上看到并没有相关经验,你觉得你能胜任这方面工作吗?’
这样的问题其实主要是考察面试者的情商,性格和态度。个人最想看到的回答要体现出对于自己的信心,诚恳的态度,以及做事的思路。
比较好的回答可以是这样的:
“我承认您说的这方面经验欠缺的问题。不过我也认为我自己是一个学习能力和学习主动性都比较强的人,只要能够给我一定的时间去跟随团队学习相关技术,相信我能用最短的时间内掌握技术。”还可以在此基础上举出自己学习某项技术的经历。
将考察点埋藏于问题深处的提问方法,比如:‘您希望的直属领导是什么样的?’或是‘当你在工作中发现领导工作错误,怎么处理?’
这样的问题其实也是在考察面试者的情商和团队协作能力,以测试对方与当前团队的匹配度。
现在的测试团队组织经常采用模块式的划分,一个面试者可能在以往工作中主要负责某产品特定模块的测试工作。
这种场景下一个好的问题可以是,他不熟悉的模块是如何工作的?或者他们的开发人员是如何工作的?
这样的问题在于考察面试者的主动思考能力和整体把握能力,一个拥有这样能力的人员不会说‘哦,这块不是我测试的,我不太清楚’。
同理有一个小技巧也是我在面试的时候经常会问的,比如面试者简历中提到的常用工具,如果涉及到英文缩写,我会问:‘你知道这个缩写的全称吗?’
比如一个面试者的简历中经常提到使用JDK,如果他完全不知道其全称是Java Development Kit,那么在我眼里这就是一种主动思考能力的缺失。
软件测试职位的面试中,其实经常会面对这一种问题。比如随手递给你一个水杯,问“怎么测试?”
这种问题是有一定价值的,在考察测试基础理论的同时,也考察测试思维和做事思路。
他的一种演变形式可以是给出更实际的需求文档或测试点,要求写出测试用例。
工作中有没有遇到过什么难题,你是怎么解决的?
做为面试官,问这样的问题同样是在考察一个人的思路。所谓难题可以是技术上的,也可以是流程上的,甚至可以是人际交往中的。
解决难题的思路和方法很大程度能够体现一个人的智商,情商以及思考回路。
对于面试者而言应该尽量将这个问题诠释出来。说问题一定比不说要好。
以上就是我对面试思路和套路的一个小总结。城市套路深,其实说起来可以说没完没了,如果大家遇到过有意思的面试套路,也不妨留言分享。
编辑于 2019-01-14
赞同 8添加评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
testerTechnology
2 人赞同了该回答
其实很多时候面试官问到的几个方面的问题:
首先就是一些基本技能,和测试技能的问题。
其次就是简历中写到的技能。
再次也就是职位所要求的技能。
第一方面,基本技能和测试技能。 基本技能或者叫基本素质吧,首先就是沟通的事情,其实沟通很重要,如果没有一个好的沟通,工作中无法和其他同事去沟通,无法表达清楚自己所想表达的,就无法更高效率的解决问题。还有就是一个人的一些性格特点,不要太张扬吧。测试技能比如分析能力,分析能力很重要,例如你发现一个bug,直接提过去给前端开发,开发说笨孩子!这是后端的原因,,所以其实我们可以先用抓包工具例如charles进行抓包分析,是不是服务端返回的数据的问题呢? 第二,简历写的技能,比如简历写了做了接口自动化测试,那么,面试官可能会问你,你用什么框架呢?怎么分层的,怎么检查的,检查了数据吗?检查了状态吗吗?还是每个字段的解析分析呢? 第三,面试职位要求的,例如我们要求你会app自动化,那我我可能会问到你,你问自动化具体怎么做的?原理是什么?怎么封装?如果出现崩溃了你们怎么去捕获的log。还有如果网络异常导致很多case失败,你怎么快速定位等等!
注意注意 smart原则哦...
软件测试项目 实战学习的具体视频路线:软件测试学习项目实战学习之路 - 网易云课堂
编辑于 2019-09-17
赞同 24 条评论
分享
收藏喜欢
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
POPTEST研学圈
已认证的官方帐号
1 人赞同了该回答
题主站在面试官的角度上来问这个问题,少有啊。
首先要知道,公司需要人,考量一下对方是不是符合你们的任职要求。
考察他有没有一个清晰的职业规划,是否和当前招聘符合?
重点考察他的项目,在项目当中他参与了哪些?从项目中吸取了哪些经验和教训?
然后问一下为什么选择测试这份工作?考察他的态度和发展潜力?问一下他认为影响最深的一个项目是什么?为什么?
再问一下对方会不会编程语言,会哪种语言?然后就是问一些技术上面的东西?拿到项目之后,怎么做?流程是什么?等等之类的。
希望能给题主一些启发。能够帮到你。
发布于 2020-11-27
赞同 1添加评论
分享
收藏喜欢
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
王豆豆
B端产品经理/软件测试/写作/ 健身/金融
43 人赞同了该回答
以前在培训机构会对学生做模拟面试。
今年公司招聘软件测试人员时,也有幸去做过几场面试,在面试之前也专门有做过这方面的功课,王豆豆就分享一下王豆豆是如何去面试软件测试工程师的。
在面试之前,首先你要确定你是想招一个什么样的软件测试人员,来承担哪一部分的工作,以及你想要他为团队带来一个什么样的效果,比如我们公司今年招聘主要是围绕二类测试人员来进行招聘的:
一类是技术能力很强的,准备将其放到基础服务部门,希望招聘进来的小伙伴能承担自动化测试/性能测试等专项测试工作的搭建、部署等工作,基于这点就需要应聘的小伙伴有过从零开始做自动化/性能测试的经验;
一类是业务能力强的,这个是准备将其放到业务测试部门,这需要应聘的小伙伴有过相似的业务测试经验,如果没有需要考验应聘者学习能力,思维活跃度,对测试的见解如何等方面来判断小伙伴是否能承担对应的工作。
根据部门的需求来筛选由HR提供过来的简历,这就和测试工作很类似,如果你要测试某个功能或业务,那你需要对其需求有至少90%以上的了解,才能开展测试,剩下的10%可以放到测试进行时去深入,为自己部门招聘事先一定要清楚自己想找一个什么样的人,不然就会出现HR将应聘者叫来面试,然后面试几分钟就发现此人不合适,这无疑是浪费大家的时间。
前期的准备工作都做好,那就可以开始正式面试了。
刚开始的第一个环节,了解候选人,这时首先会让面试者做一个自我介绍。
这一个环节让面试者做自我介绍,想要达到以下几点:
1.了解面试者的经历,你可能会说简历上面不是都写了,自己看就行了,王豆豆面试之前都会看,并且分析一下,根据工作经历去设计几个主要的面试问题,但面试时王豆豆更需要面试者自己说出来,有时写和说是完全二回事。
2.根据面试者自我的介绍,大致判断此人沟通能力和逻辑思维能力,一般从语速、流畅度、内容链接、面部表情、说话时动作等方面来判断
3.判断面试者的性格,也是根据语气、语速、表情、动作等方面
后面二点会在面试过程中一直都有考察,也就是从面试开始到面试结束,送面试者离开都会考察。
第二个环节,深入了解候选人
当面试者自我介绍完成之后,王豆豆就会根据面试者在自我介绍时的内容进行提问,大致会分以下几个方面:
1.测试流程
面试题:
请介绍一下你们的测试流程?
你们是如何做软件测试的?
你们什么时候开展自动化测试?
你们自动化测试的流程是怎么样的?
等等,大致是这些问题,可能每次问的方式不同,但其中心思想就是了解一下面试者公司是如何开展测试的。
如果测试流程区别太大,面试者应聘成功后能否快速开展工作,比如有些测试人员公司文档很齐全或流程很规范,那他应聘成功某类没有需求文档或测试流程来约束测试和开发,他是否能快速开展工作,这比他以前的公司需要多做很事情,如需要依靠自己去梳理需求等。
一般不会招聘流程区别大的面试者,因为这是一个不稳定的潜在风险。
如果面试者所从事的公司流程都很一致,那就会再额外设计一些其他流程中工作内容面试题来加以判断。
2.工作内容与职责
面试题:
你在你们团队承担哪一部分的工作?
你做得怎么样?有没有什么成果?
--上面这个问题大部分是针对自动化测试的,有部分大牛在测试团队中会自己写测试框架或测试工具,那还会额外问下推广如何
你是如何设计测试用例的?一般写测试用例的工具?
你们的需求/用例是如何做评审的?效果怎么样?
平时工作中,你是如何提取测试需求?
额外会问,如果没有需求文档,你是如何提取测试需求?有哪些方法?
缺陷的处理流程?
有没有碰到过难以定位的bug?最后是如何解决的?
上面的面试问题主要是考察面试者的工作内容,平时有没有对这些工作内容有过总结。
3.掌握的技能
这个阶段主要是考察面试者的技能,一般会根据面试者自身的情况来问,大体会围绕着Linux、SQL、接口测试、自动化测试、性能测试这几维度来问,可能是实际的操作,也可能是概念的问题。
比如说:
针对linux,可以问:
1.如何结束后台或前端进程?
2.查找某个进程的命令
3.查看日志文件
4.替换文件中某个字符串
等等,很多,这个根据当时想到的是哪个就问哪个
针对SQL,因为测试人员大部都只会用到SQL语言,所以面试时问到也是这个:
1.左连接查询和右连接查询的区别?这个是很公司都喜欢问,王豆豆问得比较少
2.查询某个字段值数量大于2的值有哪些?
3.如何提升查询效率
还有的其他问题基本有:
1.selenium 2 的原理---这个是问得最多的
2.用什么工具来做接口测试?
3.接口测试需要注意哪些?
4.接口测试的参数怎么设计?
除了以上的问题,王豆豆还会设计一些场景题问,这主要是考察测试人员的测试思维、思维活跃度、反应能力,如果是面试者没碰到过的功能,还可以看下面试者的学习能力。
一般王豆豆就问以下几个:
1.登录界面如何设计测试用例?---针对功能
2.拿淘宝来说,如何测试购物时优惠券功能?
3.有一个查询消息和回调消息的接口,我们可以主动去发起查询任务,也可以让对方系统将消息回调给我们,针对这个接口应该如何去设计测试用例?
以上的问题基本就是面试过程中最重要的那部分,面试到这个地方,基本就能判断此人是否是我们所需要的。
第三个环节,收尾
这个环节,分二步走:
1.问面试者基本情况
1. 上家公司离职的原因
2.接受加班不?---因为项目情况,有时会经常加班
3.住在哪里?看上班距离
4.有没有小孩子?谁带?
2.第二步主要是问面试者有没有什么问题想问
这个时候,大部分面试者都比较关心公司的平台和业务、测试部门项目情况、测试部门岗位划分,这时就会向面试者介绍公司的情况,产品业务,运营模式,测试部门的情况等。
也有面试者会关心福利问题或加班情况,基本按实说就行了。
这个时候如果面试者没有问题,那基本面试就结束,如果有下一轮,就让面试者等待,然后找HR再安排。
编辑于 2018-04-17
真诚赞赏,手留余香
赞赏
还没有人赞赏,快来当第一个赞赏的人吧!
赞同 434 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
千锋教育上海
做有情怀、有良心、有品质的IT职业教育机构
15 人赞同了该回答
我们面对一场未知的软件测试工程师面试能够做的除了做好本质工作,还有就是一些基本的面试题也是需要了解的。正所谓,机会永远是留给有准备的人的。如果你好好的面对面试,那你肯定收获的会比没有准备的多得多。下面是千锋软件测试培训讲师总结的一套关于软件测试的面试题(节选),为你的求职增加一些成功的几率。
01. 为什么要在一个团队中开展软件测试工作?
答:软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。
02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。
软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。
03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
答:需求人员连同系统分析人员&测试人员开会讨论需求。系统分析人员写出需求分析说明,并连同系统分析人员&测试人员&需求人员开会讨论可行性。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出Bug统计表。
04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
答:从事过write test plan,creation of test case,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长与写测试用例和进行功能测试。
05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
答:有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。
功能测试只对软件的功能是否满足用户需求来做测试。性能测试需要和压力和负载测试联合起来。
06. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。
系统测试:在所有都考虑的情况下,对系统进行测试。
验收测试:第三方进行的确认软件满足需求的测试。
07. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
答:测试计划工作是对测试工作内容的一个有效的组织和规划,能保证测试工作有效的展开。测试计划工作包括测试目标,测试范围的定义,测试方法的选择,测试进度里程碑,测试资源的有效配置和管理。
测试计划工作也称为测试策略,主要描述测试工程的总体方法和目标,描述目前在进行那一阶段的测试(单元测试,集成测试,系统测试)以及每一阶段内进行的测试种类(功能测试,性能测试等)确定测试范围,生成测试数据等。
其中软件计划中的测试目标最重要,他的软件测试的所需要达成的最终结果。
08. 您认为做好测试计划工作的关键是什么?
答:1. 明确测试的目标,增强测试计划的实用性
2. 坚持“5W”规则,明确内容与过程,'what''why''when''where''how'
3. 采用评审和更新机制,保证测试计划满足实际需求
4. 分别创建测试计划与测试详细规格、测试用例
面试题其实只是一个辅助面试的工具,具体的还是要根据自己学到的技术知识进行回答,技术才是我们自信的法宝,而自信就是你征服面试官的利器!更多软件测试方面的学习可咨询并关注千锋教育!
5点面试经验:
1、思维丰富,但讲求实际
2、话不能说得太死,要给自己留余地
3、沉着冷静应对刁难
4、该讲的讲完,不该讲的不多说一字
5、考虑问题周到准备充分
编辑于 2018-04-24
赞同 15添加评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
白码会说
自省、清醒、优秀。
9 人赞同了该回答
Time will tell.
普遍地来讲,面试会分为HR面和技术面,很少会有群面,部分的企业会有交叉面。
总地来说,技术面是考察你专业技术水平,HR面主要看个人综合素质以及家庭情况符不符合公司要求。一般技术面过了,HR面基本上也没有问题了,但也有少数企业HR面会刷掉很多人。
以下是我整理出来的一部分测试岗位面试题。
你好,我叫xx,来自xx,毕业于xx。目前有x年功能测试经验。上份工作任职于xx公司,主要负责xxx系统测试,负责xxx,一个类似xxx功能测试,负责的功能模块有xxx、xxx、xxx等。主要运用xxxx,xxxxx,xxxx等常见的xxx测试方法。
我熟悉软件测试 xxxx 、 xxxx 和 xxxx 等,有 xxx 、xxx 、xxx 、xxx 的测试经验。熟悉数据库增删改查操作,熟悉使用测试管理工具。
知乎、开源中国、51testing、博客圆、简书、csdn、掘金。
测试基础知识、流程、测试用例、数据库知识、抓包分析、接口测试、测试工具、性能测试等。
个人性格比较细心、耐心、考虑事情比较全面周到,这对于我在设计测试用例时很有帮助。当测试和开发发生沟通矛盾时我也能很好地解决,我平常喜欢看知乎热门评论,喜欢考究大众心理,这对于我在用户角度设计测试点很有帮助。
功能模块、版本号、前置条件、优先级别、步骤、预期结果、实际结果等。
xxxx(软件名),是一款xxxx、xxxx、xxxxx于一体的xxxxx。我们公司大约一个月发布一个版本,需求数20-40个不等用例数xxx,每个版本包括的需求xxxxxx、xxxxx、客户端以及后台需求。
项目分客户端版本负责人、H5版本负责人、后台版本负责人等,负责人牵头以及落实整个测试流程。我担当过的角色有客户端、后台系统测试人员。负责过的模块用例数大概是x左右。
关系型数据库。把复杂的数据结构归结为简单的二元关系即二维表格形式,通过SQL结构化查询语句存储数据。
非关系型数据库。非关系型数据库也被称为NoSQL数据库,全称“Not Only SQL”。为高性能、高并发而生。
Mysql应用于互联网领域、大中小型网站、游戏公司、电商平台等等。特点是体积小、速度快、成本低且开放源代码。
Oracle应用于传统大企业、大公司、政府、金融、证券等。特点是安全,但成本高。
http,https,dubbo,rpc等。
get,post,put,delete,head,Trace,opions等。大多以 get 和 post 请求为主。
POST 和 GET 都是向服务器提交数据,并且都会从服务器获取数据。
区别:
(1)传送方式:get通过地址栏传输,post通过报文传输,故而post更相对来说私密性一点
(2)传送长度:get参数有长度限制(受限于url长度),而post无限制;
(3)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留;
(4)get方式大多用作查询接口,获取响应数据;而post方式更多做数据添加、修改或删除等操作。
application/json json 字符串
application/x-www-from-urlencoded 表单传递
multipart/form-data 主要用于上传文件
Cookie 数据存放在客户的浏览器上,Session 数据放在服务器上。
Cookie 不是很安全,别人可以分析存放在本地的 Cookie 并进行 Cookie 欺骗,考虑到安全应当使用Session。
Session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用 Cookie 。
单个 Cookie 保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个 Cookie 。
可以将登陆信息等重要信息存放为 Session ;其他信息需要保存,可以放在 Cookie 。
1xx -- 信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个1xx响应)
2xx -- 成功(表明服务器成功地接受了客户端请求)
3xx -- 重定向(客户端浏览器必须采取更多操作来实现请求,例如用户未登录就操作了修改的功能)
4xx -- 客户端错误(发送错误,客户端有问题)
5xx -- 服务器错误(服务器由于遇到错误而不能完成该请求)
常见的有:
200 :服务器成功返回用户请求的数据
201:用户新建或修改数据成功
202:表示一个请求已经进入后台排队(异步任务)
301:删除请求数据
302:在其他地址发现了请求数据
303:建议客户访问其他URL或访问方式
304:客户端已经执行了GET,但文件未变化
400 :用户发出的请求有错误,服务器没有进行新建或修改数据的操作
401:表示用户没有权限(令牌、用户名、密码错误)
403 :表示用户得到授权(与401错误相对),但是访问被禁止
404:用户发出的请求针对得到是不存在的记录,服务器没有进行操作,该操作是幂等的
500:服务器发生错误,用户将无法判断发出的请求是否成功
502:服务器返回超时
针对输入,可按照参数类型进行设计,参数是否必填,参数之间是否存在关联,参数数据类型限制,参数数据类型自身的数据范围值限制; 针对接口处理,可按照逻辑进行用例设计; 针对输出,可根据结果进行分析设计。
检查接口,前端和后台之间是通过接口文件相互联系的,需要查看接口文件。 检查请求的数据是什么,反馈的数据又是什么。 页面可以直接F12,或者抓包查看。如果发送的数据是正确的,但是后台反馈的数据是不符合需求的,那就是后台的问题;如果前端没有请求接口或请求的时候发送数据与需求不符,那这个时候就是前端的问题了。
在工具中可以使用全局变量等方式将需要的数据进行传送,或者使用对响应数据进行提取,传给下游接口。
可以使用fiddler进行调用接口时预设期望响应,mock返回自己设置的响应数据,最大限度的降低对第三方数据接口的依赖。
请求登录口获取返回的响应头,或者响应信息中的数据,Cookie,Token,Session 等,传递给依赖登录接口的请求头中,发起请求即可。
遇到这样的情况,应先问需求是什么,测试的是什么样的杯子。
因为设计测试用例的规则是根据需求分析文档设计用例,需求是什么就测什么。
在没有需求分析文档的前提下来设计测试用例,能考查一个测试人员的基本功底。比如考虑问题是否全面,设计测试用例的方法是否合理等等。
在设计测试用例时一般从这几个方面进行分析:功能测试、性能测试、兼容性测试、界面测试、安全性测试、可用性测试、可靠性测试。
参与需求评审、编写测试计划、测试方案、测试用例、进行测试方案及用例的测试组内部评审、外部评审。
提取部分一级用例提交研发自测,研发自测通过后开开始执行一轮系统测试。
测试过程中发现并提交、跟踪问题。问题修复后进行回归测试。
一轮测试完成后对修复包进行冒烟测试,测试通过则进行二轮测试。二轮测试完成后会进行需求交叉测试。
完成测试编写系统测试报告提交验收测试。验收测试通过输出验收测试报告。
自动化测试工具 (如QTP)、性能测试工具 (如loadrunner)、测试管理类 (如jira)、安全测试工具、渗透测试工具。
因为之前了解过软件测试这个行业,认为它的发展前景很好。
Alpha测试:用户在开发环境下进行测试,可以是内部人模拟实际操作环境下进行测试,在开发者受控环境下进行测试。由开发者随时记录下错误和使用的问题。
Beta测试:多个用户在一个或多个用户实际使用环境下进行测试,在开发者无法控制的环境下进行测试。由用户记录遇到的问题,定期向开发者发送遇到的问题。是一种模拟真实使用环境而发现产品缺陷的测试。
区别:
1、测试场景的不同;
2、一般情况 Alpha 测试先于 Beta 测试;
3、通用软件产品需要较大规模的 Beta 测试,测试周期较长。如果产品通过了 Beta 测试,那么就可以正式发行了。
尽可能地找出软件的错误和缺陷。
如果没有专业的测试人员,很难能发现软件的一些错误或者bug的存在。
想在工作中慢慢积累经验,让自己强大起来,能够胜任更重要的职务。
我认为自己的优点是能足够耐心地对待每件事情、善于观察事物、承受能力强。缺点是,平时话比较少,但沟通和表达还是没问题的。
做测试应具备一定协调能力,因为测试人员要经常与开发接触,处理一些遇到的问题,处理不好会引起冲突,工作上就会做不好。然后,测试人员需要有耐心且细心,不放过每一个可能的错误,有时做测试也是很枯燥的。
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
测试是程序的执行过程,目的在于发现错误。一个成功的测试用例在于发现至今未发现的错误。确保产品完成它所承诺或公布的功能,且用户可以访问到的功能都有书面说明。确保产品是健壮和适应用户环境的。确保产品满足性能和效率的要求。
一般测试分为五个阶段:单元测试、集成测试、确认测试、系统测试、验收测试。测试过程中如有需要还要进行回归测试。
测试覆盖类型有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
分性能测试、负载测试、压力测试、容量测试。负载测试与压力测试可以结合进行。
C/S 又称 Client/Server (客户/服务器模式)。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。客户端需要安装专用的客户端软件。
B/S是 Brower/Server 的缩写,客户机上只要安装一个浏览器(Browser)。浏览器通过Web Server 同数据库进行数据交互。
质量保证,是对软件制作过程的制作质量进行管理,看是否符合公司的规定。
软件测试,是对软件产品的质量本身进行测试,是从技术方面出发测试软件质量
白盒测试是测试人员利用程序内部逻辑结构及有关信息、设计或选择测试用例,对程序所有的逻辑路径进行测试。工具有Rational Purify 、Rational Quantify 、Rational Purecoveage。
路由器作用是用于连接不同网段且找到网络数据传输最合适的路径。
集线器作用是将一些pc机连起来组成一个局域网。
交换机作用与集线器相似,区别在于集线器采用的是共享带宽的方式,交换机是独享带宽。
Bug 出现的位置、可重现的步骤、所使用的数据、bug的截图、发现人及日期。
先通过对软件的测试用来熟悉整个软件,接着是与开发沟通掌握软件的特性并记录,作为测试的依据。
白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖。
黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法。
1、功能性:适应性、准确性、互操作性、依从性、安全性。
2、可靠性:成熟性、容错性、易恢复性。
3、可使用性:易理解性、易学习性、易操作性。
4、效率:时间特性、资源特性。
5、可维护性:易分析性、易变更性、稳定性、易测试性。
6、可移植性: 适应性、易安装性、遵循性、易替换性。
1、了解项目或系统的业务需求;
2、和项目经理协调好,了解项目的进度计划安排情况;
3、对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计。
背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、常用术语、提交文档、风险分析。
测试经验越多,测试能力越高。所以职业发展是需要时间累积的,一步一步向着高级测试工程师奔去。我有初步的职业规划,前3年累积测试经验,不断更新修正自己,做好测试任务。
我希望加入公司。并且想问,你认为我还有哪些比较不足的地方,可以给我一些建议吗?然后有复试时间吗?
关注我,私信领取软件测试、面试题、面试技巧、简历优化资料
编辑于 2020-09-04
赞同 91 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
隔壁老王说测试
软件测试小白入坑抱团学习大本营!
5 人赞同了该回答
首先如果是还没入行的朋友刚了解软件工程师这个职业的话,就要知道什么是软件测试工程师。
软件测试工程师指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷,测试软件是否具有稳定性、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
所以软件测试是与开发平级的职位,软件测试工程师在公司的重要性是很高的,去面试软件测试工程师要把心态放平,因为公司需要软件测试工程师来进行软件质量的保证。
如何去面试软件测试工程师?
对于面试问题的回答来说,一定是要站在面试官的角度进行考虑,在这里就站在面试官的角度,谈一谈一个面试是怎么组织的,有哪些技巧和思路。希望帮到开始接触招聘任务的测试管理人员,同时也从另一个角度帮助求职人员应对面试。
一、常见招聘流程
首先为刚接触招聘的人员来讲解一下一个测试团队的组建过程是怎样一个链路,或者说一个测试人员是怎么被招聘进团队的呢。一般来说,整体上要经历以下的步骤:
1.确定人员需求,一般都是项目里缺少什么职位的话,就会去招什么人
2.多渠道发布招聘需求,在各大招聘网站都会有所发布
3.简历筛选确定候选,在网站上发布的招聘信息所收到的简历中进行筛选
4.复数轮次笔试面试,通过网选之后,会有HR小姐姐与你发送面试或笔试的要请
5.签约意向确定,当你面试笔试都通过后就会发你一份offer
6.入职
对于测试管理人员(面试官)而言,在谈面试之前,首先要说说人员需求的确定,根据公司需求会有不同的软件测试工程师的要求,比如要求会自动化测试、接口测试、性能测试等。对人员的不同需求注定着我们面试中用到的思路和考察点不太一样,当然面试官要提前确定不能泛泛而论。
总结了几个问题,在发布招聘需求或者开始参加面试之前,试着回答一下:
1. 预期人才招入后,从事团队什么样的,哪部分工作
2. 我需要的是招之即用的人才,还是潜力股,还是解决技术难题的大牛
3. 具体而言,预期人才应该具备哪些技术能力或者潜力
4. 预期人才应该拥有怎样的核心竞争力
5. 人员预算是多少
6. 预期多久要到岗
7. 通过哪种渠道来招聘
这些问题思考清楚以后,就可以产生我们耳熟能详的JD技能要求了,例:
1. 3-5年测试行业工作经验,热爱测试工作
2. 精通软件测试常用的方法和技术,可以承担产品功能和非功能测试
3. 熟悉web系统,具有互联网产品工作经验者优先
4. 熟悉云存储系统,了解主流云技术产品
5. 熟悉Linux工作环境,掌握至少一门常用脚本语言
6. 熟悉持续集成和持续交付体系,能完成相应测试,部署,交付流程
7. 具备自动化测试经验者优先
8. 具备数据库性能调优经验者优先
二、能力胜任模型
在招聘和面试时,我们到底都考察一个测试人员的哪些方面能力素质呢?懂测试?会某种工具?
不同的企业和项目都有着不同的人员需求,这里不能一概而论。
但是通常来讲,测试人员的能力构成模型应该包括以上雷达图里的六个维度:
01 基础理论:求职者对于有没有着牢固的测试理论基础?对于测试的角色和团队地位有着准确的认识?有没有出色的测试思维和理念?有的团队在招聘测试工程师时会很看重技术和工具经验等,但往往会忽视更基础的这一部分。实际上,再强的能力也要建立在牢固的基础之上,这一部分需要重视。
02 技术能力:对于未来预期他要用到的技术有没有足够的经验或者理解?比如测试设计技术?操作系统知识?数据库使用?测试工具的使用?编程能力有没有?自动化测试做过吗?面试官往往很看重这一块内容,不过实际操作起来,其实是有难度的。这要求面试官本身对于技术的掌握要到比较好的水准,才能去判断别人。而其实市场上,想要招聘到100%满足技术要求的人员其实是非常困难的。因为企业百花齐放,每个企业每个项目可能都用着不尽相同的技能工具集合。想要求职人员的技能工具经验完全匹配我当前的职业需求机率是很小的。
原则上我们应该更看重其学习能力和主动意识,工具技术相关经验只要满足70%以上匹配度即可,过于纠结这部分可能会得不偿失错失人才。
对于面试者也是一个思路,什么情况下我可以去应聘某个职位?负责任的告诉你,当你的技能包与职位描述60-70%匹配时,就可以去应聘了。反过来当你的技能100%甚至120%满足某职位需求时,就不要考虑了。因为你一定超出这个职位需求了,为什么不去考虑更好的工作呢?
03 职业素养:职业素养是职场人员的软技能,比如时间观念,沟通能力,抗压能力等等。
这是非常重要的能力组成部分。一个求职人员再牛,如果没有好的职业素养,一切都是白搭。
04 业务能力:业务能力也是测试人员必备的能力之一,包括领域知识经验和产品相关经验。
测试做为最关心产品最终实现和用户体验的人员,当然需要对产品所处业务领域有足够经验和知识。比如一个财务处理系统,对于财务知识要求就会比较高。不懂相关知识,可能连需求消化都需要额外的时间和精力,而且还可能导致测试出现偏差。当然类似财务处理这样的专业领域,想要找到足够相关经验的测试人员是比较难的,所以一般只能做为加分项。
产品知识同样对于测试人员很重要,了解产品的架构和运作逻辑,才能帮助他更好的规划和执行测试。
同样做为加分项,招聘时要注意求职人员有无类似产品的工作使用经验。比如一个长期工作在硬件嵌入式系统的人员,换到一份互联网P2P公司,这两种产品从架构到机制可能完全不一样。
05 管理能力:管理能力对于初级测试工程师一般没有很高要求。但是对于经验比较丰富的人员而言,管理就会被提上日程。管理不单单是作为测试经理或主管去全方位管理团队的能力,同样还包括个人管理,比如时间规划,比如协调组织能力。进一步说,对于规模稍大的团队,核心人员能够胜任lead(带领者)和mentor(导师)这样的角色也是很必要的。
06 企业文化:企业文化是个听起来很虚的东西,不同的企业可能有不同的文化,比如客户导向,比如注重质量,比如讲究效率。我们换个名词叫做“团队文化”。比如我的团队,现阶段需要一个沉稳型的工程师,还是一个奋进型的创业者?总的来说,正能量,积极主动,有责任感这样几个核心要素是可以适应各种不同文化的。
以上模型的六个维度中,有一些是可以通过简历筛选大体上完成匹配度检查的。而另外一些简历上体现不到的东西则需要在面试中进一步观察。
三、面试套路
上一节我们用能力胜任模型谈论了一个测试工程师的考察维度,那这些素质究竟该怎么在短短的一场面试中考察到呢?接下来说一说具体的考察方法,也就是套路。每一种问题我们从想要得知什么和不想看到什么两个方面去讨论。有几类问题是面试中大家比较常见到的,反套路也很多,我们稍微介绍一下:
01 自我介绍
功能:给求职者一个表达的窗口,同时也是考察其表述能力和基本素质的问题。
想看到的:主动的态度,良好的表达能力,充分的准备,简明扼要的阐述。
不想看到的:语言支离破碎,介绍过短或过长(表达沟通能力堪忧);想到什么说什么,没重点(对应聘没有做好准备,求职意愿不强,规划能力不够)。
02 离职原因
功能:判断求职者的稳定性,挖掘隐性问题。
想看到的:合理的理由,正能量的表达。
不想看到的:充满怨气的理由(可以反应出很多问题),没什么理由(工作内在动力不明确)
03 职业规划
功能:考察求职者的规划能力,景愿,以及工作动力
想看到的:诚实的表达,合理的规划
不想看到的:毫无规划(没有工作目标动力的支撑,进步可能性小)
04 谈缺点
这个问题不得不吐槽一下,原本这个问题是一种挑战性套路。但是被反套路得太多,所以现在这个问题更多的我认为是要考察诚实品质了。
功能:挖掘隐性问题,判断人物性格
想看到的:诚实、诚实、诚实。能够认识到问题,并且有解决的思路,人非圣贤,孰能无过?知错能改,善莫大焉。
不想看到的:反套路(强行优点说成缺点),没缺点...调侃(严肃点...什么都被你打哈哈过去了,我面试还怎么面?)
05 要求对方发问
功能:考察求职者的主动思考能力,对公司职位的青睐度
想看到的:对于公司,项目,职位,技术充满兴趣的问题
不想看到的:反套路(动辄上升通道和培训机会),没问题(一脸懵,缺乏思路和主动能力)
四、总结思路
除了以上这些被问烂了的问题,还有一些个人总结的面试问题思路:
01 挑战式问题
比如在合理的范围内提出质疑,和疑问,比如:“某项技术在我们的项目内是硬性要求,而您的简历上看到并没有相关经验,你觉得你能胜任这方面工作吗?”这样的问题其实主要是考察面试者的情商,性格和态度。个人最想看到的回答要体现出对于自己的信心,诚恳的态度,以及做事的思路。
比较好的回答可以是这样的:“我承认您说的这方面经验欠缺的问题。不过我也认为我自己是一个学习能力和学习主动性都比较强的人,只要能够给我一定的时间去跟随团队学习相关技术,相信我能用最短的时间内掌握技术。”还可以在此基础上举出自己学习某项技术的经历。
02 陷阱式问题
将考察点埋藏于问题深处的提问方法,比如:“您希望的直属领导是什么样的?”或是“当你在工作中发现领导工作错误,怎么处理?”这样的问题其实也是在考察面试者的情商和团队协作能力,以测试对方与当前团队的匹配度。
03 不熟悉的领域
现在的测试团队组织经常采用模块式的划分,一个面试者可能在以往工作中主要负责某产品特定模块的测试工作。这种场景下一个好的问题可以是,他不熟悉的模块是如何工作的?或者他们的开发人员是如何工作的?这样的问题在于考察面试者的主动思考能力和整体把握能力。
一个拥有这样能力的人员不会说:“哦,这块不是我测试的,我不太清楚”。同理有一个小技巧也是我在面试的时候经常会问的,比如面试者简历中提到的常用工具。如果涉及到英文缩写,我会问:“你知道这个缩写的全称吗?”比如一个面试者的简历中经常提到使用JDK。如果他完全不知道其全称是Java Development Kit,那么在我眼里这就是一种主动思考能力的缺失。
04 发散性问题
软件测试职位的面试中,其实经常会面对这一种问题。比如随手递给你一个水杯,问:“怎么测试?”这种问题是有一定价值的,在考察测试基础理论的同时,也考察测试思维和做事思路。他的一种演变形式可以是给出更实际的需求文档或测试点,要求写出测试用例。
05 解决问题的经历
工作中有没有遇到过什么难题,你是怎么解决的?做为面试官,问这样的问题同样是在考察一个人的思路。所谓难题可以是技术上的,也可以是流程上的,甚至可以是人际交往中的。解决难题的思路和方法很大程度能够体现一个人的智商,情商以及思考回路。对于面试者而言应该尽量将这个问题诠释出来。说问题一定比不说要好。
发布于 2019-11-19
赞同 5添加评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
软件质量保障
阿里巴巴集团 测试专家
48 人赞同了该回答
1.请你自我介绍一下你自己?
回答提示:一般人回答这个问题过于平常,只说简历上都有的东西。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事、主要的成就等,这些可以和学习无关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信,最好在回答每个问题之后都说一句“谢谢”。
HG职业战略分析师建议:
这个是一个开放式问题,面试官考察是沟通表达能力、另外也是建立第一印象最重要的一个问题。从沟通的角度来看,好的沟通可以从性格、专业、逻辑、情感、需求这五大维度来体现。从性格角度来看,介绍自己时要热情、主动、活泼等;从专业角度来看,涉及行业知识、专业技术等自己的优势要尽量要专业的词汇和表达方式;从逻辑上来看,参考的自我介绍逻辑套路:先问候、表达感谢与高兴、我是谁、对面试职业准备和了解程度、表达兴趣、自信(企业看重的你的优势,譬如专业技能、行业经验、沟通能力等)、对面试官的尊重、最后是互动(譬如接下来你问你关心的问题,还是我继续详细介绍工作背景等,谢谢)。
2你觉得你个性上最大的优点是什么?
回答提示:沉着冷静、条理清楚、立场坚定、顽强向上、乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我在XX经过一到两年的培训,加上实习工作,让我能胜任这份工作。
HG职业战略分析师建议:
这个问题非常关键,基本的原则有几条,第一条是谦卑原则,不能过于夸张的去表达个性优点,用相对的语气来词汇来表达;第二条是与工作相关原则,如果工作需要的是热情的性格,就展现你热情的优势;第三条是比较原则,也就是相对于竞争对手而言,你的优势;第四条是事实原则,也就是说个性优势是自己真正的优势,可以从细节处打动面试官。
说说你最大的缺点?
回答提示:企业通常不希望听到直接回答缺点,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。
HG职业战略分析师建议:
这个问题很难回答,但有几条原则供参考,第一条是非致命原则,也就是你回答的缺点不能是这个职业不容许的,譬如软件测试工作需要不错的沟通能力,你说自己的缺点是沟通能力差就彻底完蛋了。第二条原则是诚实原则,基本的策略是说不说面试官也知道的缺点或者劣势。譬如应届生没有工作经历等;第三条原则是用优点来弥补原则,说了缺点之后面试官还是会在意,最佳的方式是用另一个优点来弥补。譬如应届生参加过培训有过一定的项目经验能弥补没有工作经历的劣势。
4你对加班的看法?
回答提示:实际上好多公司问这个问题,并不证明一定要加班,只是想测试你是否愿意为公司做出奉献。
回答样本:如果是工作需要我会义不容辞加班,我现在没有任何负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班。
HG职业战略分析师建议:
这个问题在IT工作领域几乎一定会被问到,显然是无法直接Say NO的,但也不能简答直接的回答你愿意,因为面试官不会傻到直接相信。建议的回答思路是三方思考:首先站在企业的角度来思考,体现你的奉献精神;其次是站在客观的角度,从大环境角度来讲,IT行业需要加班;最后站在自己的角度来回答,参考的套路是我愿意为了更快适应团队、更快提高自身能力价值、更快积累经验,加班在一定程度上可以帮助自己达到这些目标,更何况现在还年轻。
5你对薪资的要求?
回答提示:我对工资没有硬性要求,我相信贵公司在处理我的问题上会很合理。我注重的是找对工作机会,所以只要条件公平,我不会计较太多。
HG职业战略分析师建议:
这个问题分场景,如果是最后HR问工资,首先我们先要确定下是不是前面的面试已经通过了。基本的原则是如果面试官没有主动谈薪资,我们决不能主动谈薪资。参考的思路是薪资不是最关键的问题,我最看重的是工作能力和学习成长的机会。如果你希望的薪资是6000以上,那回答的套路是结合我之前的工作经历,上一份工作的薪资是6000,我希望下一份工作有所改善。千万不能直接谈希望多少以上才考虑的没有回旋余地的话。
6在五年的时间内,你的职业规划?
考官总是喜欢有进取心的应聘者,此时如果说“不知道”,或许就会使你丧失一个好机会。最普通的回答应该是“我准备在XX领域有所作为”或“我希望能按照公司的管理思路发展”。
HG职业战略分析师建议:
人无远虑,必有近忧,职业规划是一个非常重要的问题,拿软件测试领域为例,参考的回答套路:我希望用自己的努力和公司提供的平台,在5年内成为一名优秀的测试管理人员,或者是希望成为性能测试领域的专家等。最后最补上一句,当然眼下最重要的是希望能尽快适应新的工作。职业规划可看出您的目标、进取心及对自己的定位,所以一定要表明自己有职业规划。谈职业规划须设立一定的时间段达成一定的目标,比如在两到三年内达到软件测试架构师的水平等。
7你还有什么问题要问吗?
回答提示:企业不太喜欢说“没问题”的人,因为他们很注重员工的个性和创新能力。如果有人这样问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗?或者说贵公司的晋升机制是什么样的?可以体现出你对学习的热情和对公司的忠诚度以及你的上进心。
HG职业战略分析师建议:
对应自我介绍第一个问题关注第一印象,这个问题从心理学的角度来看体现的是近因效应,也就是所谓的最近的印象。非常关键,回答的好坏从很大程度影响面试结果。基本的原则是不能为难面试官,另外就是要表达感谢。参考套路:首先还是非常感谢您提供的这次面试机会,我也非常珍惜这次机会,但是我想知道我如果有幸能通过面试,我可以先做哪些相应的准备,另外我想知道什么可以上班,或者适当赞美下面试官,譬如假如我有幸进入贵公司,请问您是我领导吗?
8如果我们录用了你,但一段时间后发现你不适合这个职位,怎么办?
回答提示:①如果你确实热爱这个职业,那你就要不断学习,虚心向领导和同事学习知识和经验,了解这个职业的内涵和要求,力争减少差距;②你觉得这个职业可有可无,那还是趁早换个适合你的、你热爱的职业,那样对企业和个人都有好处。
HG职业战略分析师建议:
发现不适应通常可以分为两大类原因:一大类可能是公司问题,譬如没有安排老员工作为导师指导等;另一大类可能是自身问题,这里重点介绍这个问题,最好的套路就是要表达你热爱这个行业,有很好的学习能力与态度来大小对方的顾虑。另外表达自己愿意沟通很改进。
你对于我们公司了解多少?
回答提示:去面试前先做功课,了解一下该公司的介绍、背景和业务,让对方觉得你真的很有心想得到这份工作。
HG职业战略分析师建议:
面试好比相亲,知己知彼方能百战不殆;看过非诚勿扰的朋友们都注意到过有些男嘉宾上场专门为某个嘉宾而去。对方当然会很感动,其实面试也同样如此,我们要给面试官一个感觉是对方企业是你的心动企业。拿软件测试面试为例,去面试前我们需要了解面试企业的企业文化、价值观、公司所做的产品或者项目、并准备一些相关的案例。另外可以通过表达有朋友、同学也在对方公司,他们也非常认可贵公司,所以推荐我来咱们公司。
10请说出你选择这份工作的动机?
回答提示:这是想知道面试者对这份工作的热忱及理解度,并筛选因一时兴起而来应试的人,如果是无经验者,可以强调“就算职业不同,也希望有机会发挥之前的经验”。
HG职业战略分析师建议:
选择的动机非常重要,可以两个维度,一个是从自身角度来看,表达这个工作有自己喜欢的,譬如喜欢的工作内容,符合自己的性格和特长等,另外是从赞美企业的角度来看,可以从最佳雇主的27个维度中挑选面试目标企业的优势。两个维度来表达动机,给企业感觉更真诚。
11你能为我们公司带来什么呢?
回答提示:①试着告诉他们你可以减少公司成本——“我已经接受过XX近两年专业的培训,立刻就可以上岗工作”;
②企业很想知道未来的员工能为企业做什么,求职者应再次重复自己的优势,然后说:“就我的能力,我可以做一个优秀的员工在组织中发挥能力,给组织带来高效率和更多的收益”。企业喜欢求职者就申请的职位表明自己的能力。
HG职业战略分析师建议:
同上,最重要的是再次体现自己的优势和愿意奉献的态度。
12你怎么理解你应聘的职位?
回答提示:把岗位职责和任务及工作态度阐述一下。
HG职业战略分析师建议:
同上,针对软件测试工程师面试,可以参考HG卓越软件测试工程师六大维度来回答,具体见下图:
13喜欢这份工作的哪一点?
回答提示:每个人的价值观不同,自然评断的标准也会不同,但是在回答面试官这个问题时不能太直接,尤其是薪资方面的问题。如果自己能仔细思考出这份工作的与众不同之处,相信在面试上会大大加分。
HG职业战略分析师建议:
同上,针对软件测试工程师面试来看,最好的是这份工作能带来一定的挑战、挑战的是追求完美、可以结合完美测试一书中的观点来回答,把你对测试行业的热爱体现出来,测试行业好比黑客,带来的乐趣是找到关键问题的愉悦感和成就感。
14就你申请的这个职位,你认为你还欠缺什么?
回答提示:企业喜欢问求职者弱点,但精明的求职者一般不直接回答。他们希望看到这样的求职者:继续重复自己的优势,然后说:“对于这个职位和我的能力来说,我相信自己是可以胜任的,只是缺乏经验,这个问题我想我可以进入公司以后以最短的时间来解决,我的学习能力很强,我相信可以很快融入公司的企业文化,进入工作状态。”
HG职业战略分析师建议:
同上,针对软件测试工程师面试来看,最需要注意的事项是最好结合面试官感觉到你的缺点来回答,这样会给面试官好的感觉是你是好学的、有自知之明的人。同时表达我愿意花时间来弥补这个劣势。
15你为什么愿意到我们公司来工作?
回答提示:对于这个问题,你要格外小心,如果你已经对该单位做了研究,你可以回答一些详细的原因,像“公司本身的高技术开发环境很吸引我”、“公司一直都稳定发展,近几年来在市场上很有竞争力”、“我认为贵公司能够给我提供一个与众不同的发展道路。”这都显示出你已经做了一些调查,也说明你对自己的未来有了较为具体的远景规划。
HG职业战略分析师建议:
这个问题基本的思路是拍企业的马屁,可以从最佳雇主的27个子维度来挑选,譬如贵公司提供的是公平公正的用人环境、行业地位、做的是伟大的产品或者提供的是伟大的服务、或者看重所做的项目等。
16你做过哪件事最令自己骄傲?
回答提示:这是考官给你的一个机会,让你展示自己把握命运的能力。这会体现你潜在的领导能力以及你被提升的可能性。记住:你的前途取决于你的知识、社交能力和综合表现。
HG职业战略分析师建议:
基本的原则是自信但不自负,可以比较谦卑的表达自己比较满意的某一件事情,譬如在大学作为学生会干部,成功策划了某场活动,体现了你自己的组织能力、沟通能力和应变能力等。
17如果我录用你,你将怎样开展工作?
分析:这个问题的主要目的是了解应聘者的工作能力和计划性、条理性,重点是想要知道细节。
HG职业战略分析师建议:
除了上面提到的工作能力和计划性,面试官还看重你为新的工作提前愿意做哪些准备的态度,所以你可以针对前面面试所展现出来的弱点,先强化弱点。
18在前一家公司的离职原因是什么?
回答提示:避免把离职原因说得太详细、太具体,也不能掺杂主观的负面感受,同时也不能躲闪回避,不能涉及自己负面的人格特征等。
HG职业战略分析师建议:
谈离职原因好比谈分手的原因,其实分手的原因有很多,但是最重要的原则是不能说过去的之前公司的不好,这样会跟面试官留下你不是一个懂得感恩的人的非常坏的印象,或者之前薪酬太低,避免把“离职原因”说得太详细、太具体。应该说一些相对笼统或者说无法抗拒的比较客观的原因,比如工作地点变迁、随家人来深圳等,也可以说想寻找更好的发展空间,综合行业、企业和岗位这三个角度来考虑自己的职业发展,企业的发展平台非常不错,想在企业有长期的发展,因此想加入企业等。
19谈谈你过去做过的成功案例?
回答提示:举一个你最有把握的例子,把来龙去脉说清楚,切忌没有重点和夸大其词,把别人的功劳说成自己的。
20为什么我们要在众多的面试者中选择你?
回答提示:根据我对贵公司的了解,以及我在这份工作上所累积的专业、经验及人脉,相信正是贵公司所找寻的人才,我也相信能和主管、同事都合作愉快。
分析:别过度吹嘘自己的能力,或信口开河,例如一定会为该公司带来多少业务等,这样很容易给人一种不切实际的感觉。
相信上面的回答能给各位一定的启发,但是,面试这些事儿,不同企业有各自的风格和侧重点,这里的回答仅供大家参考,能否面试成功能否面试成功,还是要靠各位脚踏实地提升能力,以及结合自身实际情况在面试中进行灵活应对,切忌盲目套用。
编辑于 03-15
赞同 487 条评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
程序员-小枫
Q群:1140267353 领取资料
2 人赞同了该回答
软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验)
。今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异议或者有想问的问题,可以在评论区留言,看到后将在第一时间内回复!
1、软件测试的流程是什么?
分析:每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有工作经验,直接按照公司流程回答即可,如果是刚转行或者刚实习,那按标准回答即可,文中回答仅供参考;
回答: 项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书;(需求评审阶段)
需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,计划评审通过后开发人员开始进行程序的开发,测试人员开始测试用例的编写,等程序的第一个版本出来后,开发人员进行第二个版本的迭代,这时测试人员对程序进行测试并记录追踪管理缺陷,直到程序迭代完毕。(产品研发阶段)
程序迭代完毕并修复大部分缺陷后,测试人员开始进行工作的总结,并最终输出一份测试报告书,记录此次的测试工作共,程序存在的相关问题。(产品发布阶段)
2、测试用例主要有哪些元素?
分析:每个公司因为使用的模板不一样,所以测试用例的内容也是不尽相同的,所以回答时只需要回答出基本的元素即可;
回答: 测试用例主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等;
3、软件测试有什么策略和阶段?
分析:软件测试的策略就是测试将按照什么样的思路和方式进行如采用什么技术,什么步骤等。
回答 :软件测试的策略主要有:动态测试和静态测试、白盒测试和黑盒测试。测试阶段按照研发顺序分别是:单元测试、集成测试、系统测试,有些公司还会有验收测试;(单元测试开发在调试代码时就完成,集成测试也是,但是有时测试人员也需要进行集成测试;测试人员平时主要的工作就是系统测试,验收测试是有客户参与进行的测试);
4、黑盒测试和白盒测试是什么?二者有什么区别?
分析:黑盒测试和白盒测试的概念百度百科上面都有,这里不再做太多介绍。黑盒测试和白盒测试的区别:https://www.cnblogs.com/i16i1007/p/66240.html记得
回答: 黑盒测试主要是在程序界面进行测试,通过设定某种场景检验程序在这种场景下是否给出了正确的反应,验证程序正确实现了需求规格说明书中的需求,而白盒测试主要是针对程序内部结构,对程序代码进行代码走查等,但是白盒测试的成本会比较大,当程序有多个路径时,可能会产生较多的遗漏;
5、软件测试有什么类型?
回答: 常见的软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等;
6、测试用例是什么?有什么作用?
回答:测试用例就是设计一个特定场景,让软件在这种场景下运行,检验程序是否给出正确的反应,以此验证软件是否正确实现了客户需求。
作用:1、避免盲目测试并提高测试效率;在软件版本更新之后只需修正少部分用例即可开展测试工作,降低工作强度,缩短测试周期;
2、可以分清哪些是测试重点,测试用例是测试工作的见证,能知道测试了哪些功能,没测哪些模块;
3、测试用例是量化测试工作的方法之一;
7、你平时是怎么设计测试用例的?
分析:这个问题的点主要考察是否掌握测试用例设计方法,在回答之后,HR可能会继续追问某种设计方法的概念或者实例,这时举例说明即可;如:等价类划分法就是把程序的输入域划分成等价类,从每个部分中选取少数代表性数据当做测试数据。
回答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图还有错误推测法;
8、软件缺陷的定义是什么?
分析:什么样的问题才是一个缺陷,需要从客户需求出发;
回答:1、软件未实现需求规格说明书中的要求;
2、出现需求规格说明书中指明不应该出现的错误;
3、软件未实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)
4、软件出现难以理解、不易使用或者运行速度慢等问题都可以认为是软件缺陷;
9、缺陷中应该包含什么元素?严重等级一般有哪些?
分析:这个问题和上面测试用例一样,每个公司的要求可能都会不一样;
回答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、日志等;软件缺陷等级一般有四种,致命(程序奔溃)、严重(金额计算错误、数据出错)、一般(不影响使用但是会造成一定的麻烦)、优化(字体字号不统一)
10、给你一个杯子,你会怎么测试?
分析:给你一个杯子,给你一个电梯,这种问题在前期的面试中是经常遇到也是非常经典的一道面试题,这里给出一个链接,回答时从外观、功能、性能等各个角度说起,再结合自己的一些话就可以了。
回答:经典测试用例,一个水杯的测试https://blog.csdn.net/ganhongxia/article/details/60254
11、测试报告里面包含什么内容?
分析:测试报告,是测试工作结束后测试部门输出的一份测试结果,但每个公司的测试报告内容都会有些差别。有些公司的测试报告是有测试部门的负责人一人编写,或者是由每个测试工程师输出自己对应模块的测试报告再由测试组长整合成一份完整的测试报告;
回答:测试报告内容一般有:编写目的、系统简介、测试环境、测试方法和工具、测试执行结果与记录、缺陷汇总、遗留缺陷跟踪、测试用例执行情况、测试结论与建议等;
12、如果在测试过程中发现了BUG,可是开发不承认这是Bug,你会怎么办?
分析:HR问这个问题主要还是想知道你平时是如何处理与同事之间的关系。开发和测试是两个即对立又统一的两个岗位,所以开发和测试之间关系的处理也是HR面试过程中需要考虑的一个点。当然,HR问这个问题也表名该公司有氛围不是很好的风险。
回答:首先还是应该回归到客户需求上面,确认这个问题到底属不属于一个缺陷,如果确实是则要和开发同事解释清楚;如果开发还是坚持自己想法的话,则询问同事或者测试组长的意见,讨论这个问题到底属不属于缺陷问题,如果大家都觉得是则需要和开发解释清楚。
13、你们公司的需求评审是怎么进行的?
分析:需求评审,就是对客户需求,软件各个模块之间模糊的点进行审查,排除不理解或者没有考虑到的点。
回答:需求评审,在一些分工比较明确的公司,都是由PD(产品设计师)负责,需求确认好后再下发到开发和测试部门;分工不怎么明确的公司可能就是开发测试产品等大家坐在一起共同探讨;评审形式一般分为线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续的评审会议做准备。
14、MySQL的常用命令有哪些?
分析:数据库知识,是测试工程师必备的一个基本技能,在面试过程中也是经常会遇到的一个考点。对于刚入行的测试,对数据库知识的要求不会太高,只要求能掌握基本的增删改查语句即可。关于数据库的知识,在后续的时间里,也会慢慢的整理出来,供大家学习、参考。
回答:这里只给出几个标准的语法结构:
增:insert into 表名(列名) values (数据);
如:在stu表中插入id为001,姓名为张三的学生,(insert into Stu(stu_id,stu_name) values (001,‘张三’);)
删:delete from 表名 where 指定数据;
如:在stu表中删除id为001,姓名为张三的学生:(detele from Stu where stu_id=‘001’ and stu_name = ‘张三’;)
改:update 表名 set 改变项 where 指定数据;
如:在stu表中修改id为001的学生姓名为“张三”:(update Stu set stu_name = ‘张三’ where stu_id=‘001’ ;)
查:select (查询项) from 表名 where 指定条件;
如:在stu表中查询id为001,姓名为“张三”的学生信息:(select * from Stu where stu_name = ‘张三’ and stu_id=‘001’ ;)
15、Linux下的一些常用命令是什么?
分析:Linux系统,也是软件测试工程师必须要掌握的一项基本的技能,由于Linux具有运行稳定等很多优点,软件的服务器大多部署在Linux系统上,搭建测试环境也是测试工程师需要掌握的。关于Linux的知识,在后续的时间里,也会慢慢的整理出来,供大家学习、参考。由于Linux下很多命令都是常用的,所以这里不给出答案。
16、你未来的职业规划是什么?
分析:职业规划问题,是所有面试中最常问的问题,问的人可能是HR、部门主管、经理、甚至是董事长。同一个问题,问的人不同,想要获取的信息也肯定是不一样的。HR更多的想看你在公司的稳定性;技术主管可能更想知道你是否真的喜欢测试这个岗位,后期是否会主动学习型新的技能等;而经理更多的是看你的职业规划符不符合公司的发展方向;软件测试工程师的发展方向主要有:测试开发、产品经理、测试转开发、测试大牛、讲师等岗位;
回答:HR:如果是HR问的话,多从稳定性的角度回答,如:家人、朋友都在公司附近,或者喜欢贵公司的文化氛围等;
技术:回答之前可以先简单介绍一下自己为什么选择软件测试这个职业,以及自己对这个职业的看法,最后再回答自己的职业发展方向即可;
经理or董事长:这个回答回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司的发展方向不是非常了解,所以在回答时可以再带一句,“具体的发展方向,还需要公司的发展方向去调整”。这样回答就会保险一些。
17、还有什么想要问我的吗?
分析:这个问题在每个面试的尾声都会被问到,直接说没有,会让HR觉得你不关心这个岗位,问的多了又会显得面试之前没有做好充分的准备。所以问题一般控制在两到三个比较好。
回答:1、公司的研发团队目前是什么规模?开发、测试分别有多少人?
2、公司的业务方向是什么?
3、如果我入职之后,我的工作职责是什么?
18、为什么想要离职?
分析:这个问题主要是想要了解你的近况,以及上一家公司是什么原因导致你离职,。在大部分情况下,HR都会理解你,但是在回答问题时千万不能太过于实诚,有些面试者一上来就在抱怨上一家公司如何压榨公司员工等,没有一家公司愿意接受这样的面试者,HR并不能完全感受你所遭遇到的,所以还是请控制好自己的负面情绪。
有什么问题可私聊哟~
编辑于 2020-08-12
赞同 2添加评论
分享
收藏喜欢
收起
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续
成都汇智动力重庆分公司
1 人赞同了该回答
如何去面试软件测试工程师?
一般情况下,自我介绍需介绍个人的基本信息、履历,但不是重点,核心点在于介绍个人的工作经历,如果有大公司、大项目背景可重点介绍下,个人的技术特点也可以重点讲下,如在企业中主要负责接口测试,特别是银行的支付接口等。
通过自我介绍,让面试官得到从简历中无法快速获取的信息,主要重点就是上述的公司、项目、技术背景,通常1-3分钟左右,在介绍时可重点突出这些信息,给面试官一个信号,让他能接着你的介绍继续问下去。简短,突出重点!
举例:
面试官:“您好,能否做个简短的自我介绍?”
应聘者:“面试官您好,很高兴得到这次面试机会,我给您大概介绍下我自己。我叫XXX,2013年6月毕业于四川大学计算机专业,毕业后在XXX公司一直从事软件测试的相关工作,共参与过四川联通智能校园网、四川烟草信息平台、四川交通厅全省呼叫中心平台等几个项目,四川联通智能校园网主要用于四川省各个校园学生安全信息定位,移动应用与GPS定位穿戴设备整合的项目。我主要负责这个项目的移动端(andriod及ios)、PC端及后台服务的功能测试及性能测试工作。第二个项目是四川烟草局为了解决各个授权销售点进货及质量追踪问题,而研发的基于云计算、大数据模式的移动应用系统,也分为三个环节,一个是移动端,仅有andriod的,一个是PC端,还有6个后台基础数据运营支撑平台,我主要负责功能测试。第三个项目是交通厅建设的全省交通服务呼叫中心,B/S结构的,我主要负责功能及性能测试,还负责客户需求调研及系统建模等工作。现在项目基本结束了,想换一个工作环境,所以今天来贵公司面试,谢谢”
讲述的过程中,应该精神饱满,说话流利,做过的项目必须说清楚,先整体,后细节,条理清晰,态度谦卑,自信,首尾呼应。
如果是其他的项目,需自己对项目功能结构非常清楚,业务过程,功能结构,系统架构等关键点要记清楚。
最后几句话,是告诉面试官现在来面试的原因,这个时候面试官可能会问离职的原因,这个地方不要讲公司倒闭,裁员,人际关系复杂等等,尽量讲自己想稳定点,不希望公司换来换去的