金三银四开始啦,这几天都会给大家分享一些软件测试的面试,来看看今天分享的内容:
被面试到的 Linux 命令;
项目经验是如何被考核的;
被面试到的 SQL 语句。
被问到的自动化知识;
被问到的性能测试知识;
被问到的测试用例知识;
终面问题;
希望通过我的分享,祝大家都能跳好槽。找到自己满意的工作。
作为一名高级测试工程师,必须掌握常见的 Linux 命令。这是毋庸置疑的,下面就给大家分享100%会被考察的几个命令。
(1)查看进程的命令。
ps -ef | grep 进程名
(2)查看端口的命令:
netstat -ntlp //查看当前所有tcp端口
·netstat -ntulp |grep 80 //查看所有80端口使用情况
·netstat -ntulp | grep 3306 //查看所有3306端口使用情
(3)查看日志的命令:
tail -f 日志文件名
以上这三个 Linux 命令在面试中回回被问到,重要性不言而喻,希望大家好好掌握。
项目经验这块,经过多次面试后,我总结发现,各大公司的面试官们关心的问题如下:
(1)你在整个项目周期中扮演的角色,或者说都干了什么事情。
这个问题没有所谓的标准答案,就是考察你在一个项目周期中的角色和任务都是什么,说清楚即可。
(2)Bug 的生命周期都有哪些?
基本的流程是:创建-开发解决/需求确认-回归-关闭。
(3)测试用例的设计方法有哪些?
说出边界值、等价类、场景法基本要求,在说出正交矩阵、PICT组合加分。
(4)给你一个电梯如何设计测试用例?给你一个 QQ 的登录界面如何设计测试?
电梯的那个问题,各位自行发挥吧。QQ 的 Web 界面测试,一定要指出浏览器的兼容性测试、还有缓存 Cookie、Catch的影响,说出这两点,面试官定会对你刮目相看。
这部分据我的经历来看,真正的考核 SQL 语句书写的面试官非常少,但是大部分面试官喜欢问到的语句如下:
建表语句:create table tablename{}。
distinct 关键字的用法。
多表查询如何做。
这里重点提一个概念,事务,这个问题的考察达到了80%。
如果你的简历里体现出你会自动化,有很大几率会问两个问题:
testng 的报告输出,这里面涉及的问题既有 testng 整个的实现框架,也会有其细节实现,比如输出报告的样式如何进行格式化;
执行用例时,出现错误,是如何处理的:考察了解图功能的代码实现。
性能测试知识的考察
毋庸置疑,这也是一个考察的重点,需要掌握以下内容:
(1)性能测试最重要的指标:并发用户数、TPS、正确率、响应时间。
(2)性能测试的监控体系;
监控 Linxu 服务器,推荐回答使用 NMON;
监控数据库资源,必录 Oracle,监控其资源消耗使用 LoadRunner,监控其 SQL 慢查询需要借助工具 DWR;
监控中间件,线程活动数等,需要使用的工具有很多,可以执行储备。
测试用例知识的考察
(1)请说说纸杯/电梯/qq登录的测试用例
这种题注意,尽量多说用例,这是让面试官看到你的思维活跃度高的依据。但是最好能有条理的说出来,而不是想起哪个测试点就说哪个。
遇到任何问题都要把大纲先说给或者画给面试官看,然后再从头开始添枝加叶,最后再说一句,因为时间关系,就不继续说了。
遇到没头绪的时候不用思考,思考就会冷场,一定要一边开始一遍思考,效果好,所以听完面试官的问题,直接开口说:我先把测试点大纲给你写出来。然后一边写一边就开始构思下一步。
我这里可以给出大致大纲:
功能/非功能/接口
功能可以分输入/处理/输出
非功能可以分为iso9126的六大特性27自特性来一个一个套
接口分为用户接口/软件接口/硬件接口
终面问题
这是个综合性基础知识问题,考验你在测试行业工作几年后的心得,是否有测试思维,明确自己的定位。可以谈谈你认为如何做好测试?如何衡量质量?你又如何专注软件质量提升,帮助团队快速迭代高质量交付。
数据库在测试工作中的重要性相信我就不用在这多累赘了,需要你对常见的关系型数据库和非关系型数据库的原理理解,而且总结出它们之前的区别。
测试工程师离不开一个关键字,“自动化”,在任何类型的项目或多或少会用到自动化测试技术。关于前后端自动化技术,是否有一套完整的测试框架,技术体系。
在开源自动化测试框架的理解上,有一定的开发思维,能进行封装,开源框架上二次开发。能根据项目灵活打造适合团队的测试框架,是测试工程师的能力分水岭。
这明显是个阿里系的问题,dubbo是阿里开源的一个高性能优秀的服务框架。考验的不仅是对测试技术,做为一个资深测试工程师,你还得了解公司产品的开发基础服务架构。
说实话,面试官这么问测试平台的问题,我快扛不住了。干过测试开发的应该都知道。
测试平台的构造,除了技术难点。你要考虑如何去推进这个工作?测试平台研发出来后,在整个测试部门推广运营这个平台是大难题。
站在功能测试人员的角度来想,去使用不成熟的测试平台来测试,但凡加大我的工作量,而对我自身工作和技术没有什么太大价值,一般都不是非常积极的去配合,测试平台如何推广运营是个难题。你得让所有人亲身感受到用与不用这个测试平台有什么区别。