软件测试员----面试,你准备好了么?

news2024/11/25 8:17:09

  最近有机会做一些面试工作,主要负责面试软件测试人员招聘的技术面试。

  之前一直是应聘者的角色,经历了不少次的面试之后,多少也积累一点面试的经验,现在发生了角色转变。初次的面试就碰到个工作年限比我长的,也没有时间仔细了解对方的简历,再加上应聘者比较“强势”。面试情况是比较糟糕的。

  有同学会说,唉!不就失去了一个应聘者嘛。多面几个就好了!这不单单是失去应聘者,面试者对面试官的印象更重要。面试官的能力与表现对于初次面试者来说往往代表的是公司的,更具体点是测试团队的能力。

  如果面试官都很“水”,这个水两方面,一是面试不够从容,思路不清晰。二是技术能力水,问半天问不到关键点上。那么身为面试者,对这家公司的印象会打折很多,就算能开得起面试者的期望薪资,面试者还要考虑在你这儿能不能学到什么,工作是否有挑战,是否有发展空间。

  所以,面试官的能力与表现对面试是否成功同样重要,毕竟就面试过程而言是一个双向选择的过程嘛。

  下面讨论测试人员应该具备的技能。

  在这个讨论的过程中,充满了我个人的偏见与喜好。不喜误喷!

  上面是我所画的一个体系图,这上面的技能相对比较通用,当然特殊情况下对测试人员的技能要求会有特别要求。

  软件测试基本知识:

  这一块其实没什么好讨论的,如果你有半年到一年的工作经验的话,对这一块一定有比较清晰的认识,当然,在实际的工作中不需要你对每一种测试方法去寻根求源,知道这些方法的含义与应用场景即可。

编写各种测试文档,对于初学者来说稍有难度。但终究还是谈不上什么技术含量的事情,如果对业务和流程足够熟悉,文档用例自然就会写了。

  测试辅助技能:

  我发现这两项技能在笔试和面试过程中必考,出现几率超高,但在实际的工作中,有些测试根本碰不到linux ,有些测试不需要去操作数据库。当然,测试嘛,也不能太处于表面了,也需要熟悉熟悉相关测试的表,了解了解系统服务器。

  好在这两项技能的要求都不高,linux 大多考几个常用命令,SQL一般考一下增、删、查、改。

  自动化技术(UI):

  大多同学会在简历必备测试技能里加一个QTP自动化测试工具,当我满怀起到和他聊一聊自动化时,得到的多大回答是这了解和学习过这个工具。这也不能怪测试人员,谁让满大街的招聘要求上都写着“要求熟悉LoadRunner 、QTP等自动化测试工具等。” 其实,他们公司根本就不用。这么多公司都要求,看来还是有必要学一学这个工具的。

  对于我而言,我并不太关心工具用得多熟练?对于web应用来说,更在意的是对前端技术了解多少?因为你要自动化的对象就是前端技术所呈现出来的各种功能。都不了解它,如何定位和操作它呢?

  UI的自动化不单单是QTP一个工具,如果你掌握了一种语言,做自动化的路就宽广了,你一定知道还有个叫selenium(webdriver)的自动化工具,你不一定知道ruby 有个watir框架也可以做自动,也许你不知道python有个splinter框架也可以做自动化。那么你就更不知道python 有个pywinauto框架可以对windows GUI做自动化。你不知道有自动化工具太多太多了。谈到这些就不得不涉及到编程技术了。相比较而言QTP 不需要太多的编程能力。

  对于自动化测试,另一个比较关心的是你对自动化的理解,什么情况下适合做自动化?你的自动化测试用例是怎么写的?什么样的用例适合转成自动化?你是如何来实施的?有什么样的策略来开展自动化工作?你需要自动化在项目中达到一个什么样的预期和效果?只是学学工具,拿个例子练习练习。很难对这些问题有真实的理解。

  性能测试:

  LoadRuner似乎比QTP名气更大,做测试必玩工具。没摸过LR都不好意思说自己是做测试的。性能测试是必须是要借助工具来实现了。不借助工具如何模拟成百上千的并发?

  最大的难点,其它是对系统架构的理解,其实,更多时候并不需要达到架构师水平,甚至不用达到开发的水平,但起码,你要弄清用的什么操作系统,什么数据库,什么开发语言与框架,什么中间件吧!你要知道如何对这些做监控的吧!你要知道叫上开发一块玩吧!

  对于性能测试,另一个我更关心的测试流程,你做性能测试的目的是什么?新系统验证?还是旧系统扩容?需要达到一个什么样的预期?在独立的环境可以开展么?压力在哪儿,脚本为什么要这样录制?你的测试结果真的有知道意义么?或对系统性能做出了合理的评估,或为系统有调优做出指导,或为系统扩容做出了依据。如果前因后果弄不清何必去做呢?

  编程能力:

  编程不局限于语言,大多同学也会在简历的必备技能最下方面写上一条,熟悉C语言或其它某种语言。大多止步于大学C语言水平。工作中没有机会用到。所以,就没机会去进一步提升这方面的能力。这似乎也挺合乎情理的,再说你们招的是测试又不是开发。

  不过,我个人偏执的很看重这一点,至于上面的自动化、性能会不会都无所谓,如果在编程能力上略懂一二,我会大力推荐。懂编程和不懂编程的人看系统的深度不一样,一点不懂的只能看出来这是按钮,那是输入框。 懂编程的就知道你的登录是个<from> ,输入框是个<input> ,你的登录提交是用的post 还是get呢?逻辑层就是获取到输入的用户名密码是查数据库做比较嘛。在测试过程中不管功能实现也好,bug也好,都会看得更透彻,从而更容易挖掘出相关的bug。

  一般懂编程的我都会让其写一个小程序,例如求素数,递归调用,用星号(*)打印一个梯形,如果测试工作写一些脚本之类的来辅助测试更是大大的亮点。不要觉得让你写程序就是“***难”。平时注意积累这又何难呢?

  对新的工作有什么期待?

  “我希望能接触一些性能测试、自动化测试等,因为之前的工作一直在做功能。”

  大多数测试人员认为提升自已的过程是这样的:

  现在有一个性能需求,然后领导找到你说,小张啊,你来研究研究性能测试吧!我们现在的需要迫切需要对系统做一次性能测试,然后,你回去开始研究性能测试,花一个月终于搞懂了,开始对系统做性能测试。最终完成了任务。

  但实际的情况是这样的:

  现在有一个性能需求,然后领导找到你说,小张啊,你会做性能测试么?答,这个以前没做过,得学习一下。领导说:噢,那这样吧!小王你回去了解一下吧。因为小王虽然也没搞过,但他平时做测试的资历更久,对于新技术更爱钻研。在领导看来,小王能在更短的时间搞定这个问题。如果这个需求迫切或要求更专业,领导会直接招一个专业做性能的。

  所以,结论很明了,机会是给有准备的人的。假如,你在某一技能上面持续积累,总会有发光的时候。

  面试官更多的时候是在找亮点,我只有一个岗位,在面试的十个人当中,有十个人都能把测试流程什么的说得顺溜(虽然我也只招一个懂测试会流程就行了)。有八个人说自己懂QTP、LR等工具,只有两个人真正的有自动化或性能测试经验,只有一个人编程方面还不错。你说面试官会选谁呢?

  亮点也是谈资(谈钱的资本),你和前一个面试者差不多,前一个面试者要5K,你要8K,那我更倾向于前者,如果你有别人没有的亮点,那我更倾向于有亮点者,我更愿意招个牛B的,工资又不是我给你开,最终是否谈拢是你和人事或上级的事儿。

  面试是个综合的过程,假如你思路清晰,思维敏捷。假如你和我一样有写博客的习惯。或者谈谈你最近看的两本技术书。让我看到你是个工作很有热情的人,你是个热爱技术的人。这都是和别人不一样的亮点。闪闪发光。到哪儿都发光。

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++11 标准模板(STL)(std::stack)(四)

定义于头文件 <stack> template< class T, class Container std::deque<T> > class stack;std::stack 类是容器适配器&#xff0c;它给予程序员栈的功能——特别是 FILO &#xff08;先进后出&#xff09;数据结构。 该类模板表现为底层容器的包装…

Spark学习——DataFrame清洗HDFS日志并存入Hive中

目录 1.开启Hadoop集群和Hive元数据、Hive远程连接 2.配置 3.读取日志文件并清洗 4.单独处理第四列的数据——方法一&#xff1a; 5.单独处理第四列的数据——方法二&#xff1a; 6.单独处理第四列的数据——方法三&#xff1a; 7.数据清洗结果展示 8.存入Hive中 9.…

The 2021 China Collegiate Programming Contest (Harbin) D. Math master

题目链接 题解 2632^{63}263大概是101910^{19}1019那么一共有19位需要讨论, 每一个位数各有保留和删除两种状态, 全部状态就是2182^{18}218种 因为每一位数都有两种状态, 使用二进制数表示每个状态, 正好能全部表示, 在二进制位数下1表示保留, 0表示删除(反过来也一样) 使用二…

分布式版本控制工具 —— Git

一、Git 基本介绍 1.1 相关概念 1️⃣ 首先&#xff0c;我们要知道什么是Git&#xff1f; Git 是一个免费、开源的版本控制系统&#xff0c;它可以有效地跟踪文件的更改&#xff0c;协调多人在同一个项目上的开发&#xff0c;以及管理不同版本的代码。 Git 最初是由 Linus …

微服务架构下认证和鉴权理解

认证和鉴权 从单体应用到微服务架构&#xff0c;优势很多&#xff0c;但是并不是代表着就没有一点缺点了。 微服务架构&#xff0c;意味着每个服务都是松散耦合的。因此&#xff0c;作为软件工程师和架构师&#xff0c;我们在分布式架构中面临着安全挑战。微服务对外开放的端…

PLE详解

具体的实践中&#xff0c;我们主要参考了腾讯的PLE(Progressive Layered Extraction)模型&#xff0c;PLE相对于前面的MMOE和ESMM&#xff0c;主要解决以下问题&#xff1a; 多任务学习中往往存在跷跷板现象&#xff0c;也就是说&#xff0c;多任务学习相对于多个单任务学习的…

Linux/Ubuntu服务自启动原理剖析及三种实现方式

面向Linux系统&#xff0c;并非只是Ubuntu&#xff1b;系统版本不同&#xff0c;配置上可能有所不同。 1、自启动的原理剖析 1.1、 运行等级 Linux分了7个运行等级&#xff0c;分别用数字0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6表示…

【Python】【进阶篇】十八、Python爬虫获取动态加载数据

目录十八、Python爬虫获取动态加载数据18.1 确定网站类型18.2 影片详情信息18.3 影片总数量18.4 影片类型与类型码18.5 编写完整程序十八、Python爬虫获取动态加载数据 如何获取电影“分类排行榜”中的电影数据&#xff08;电影&#xff09;&#xff0c;比如输入“剧情”则会输…

用EasyX图形库画一个哆啦A梦

继续说图形库&#xff0c;加一点实战用图形画图&#xff08;用来巩固代码&#xff09;&#xff1a; rectangle这个函数 四个参数&#xff0c;左上角坐标的x,y值&#xff0c;右下角坐标的x,y值&#xff1b;因为只要有两个点&#xff0c;就可以以它们的横坐标之差为长&#xff…

三范式建模和维度建模,到底该选哪一个?

编辑导语&#xff1a;当你需要从头开始设计数据仓库时&#xff0c;你会选择哪种建模方式&#xff1f;也许&#xff0c;你会从三范式建模和维度建模二者中选择。但是这二者有其各自的适用范围&#xff0c;具体选择哪种方法&#xff0c;还需要回归至业务层。本篇文章里&#xff0…

day-004-链表-两两交换链表中的节点、删除链表的倒数第N个节点、链表相交、环形链表II

两两交换链表中的节点 题目建议&#xff1a;用虚拟头结点&#xff0c;这样会方便很多。 题目链接/文章讲解/视频讲解 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* Li…

手麻系统源码,手术麻醉管理系统源码,二次开发方便快捷

手术麻醉管理系统源码&#xff0c;手麻系统源码&#xff0c;C# .net 桌面软件 C/S版 手术麻醉管理系统采用下拉式汉化菜单&#xff0c;界面友好&#xff0c;实用性强&#xff0c;设有与住院、病区、药房等系统的软件接口。 文末获取联系&#xff01; 开发语言&#xff1a;C# …

4.1 随机变量的数学期望

学习目标&#xff1a; 如果我想学习随机变量的数学期望&#xff0c;我可能会采取以下步骤&#xff1a; 掌握概率论基础知识&#xff1a;在学习随机变量的期望之前&#xff0c;我需要了解概率论的基本概念&#xff0c;例如概率、随机变量、概率密度函数等。 学习数学期望的定义…

算法总结---最常用的五大算法(算法题思路)

一、总结 一句话总结&#xff1a; 【明确所求&#xff1a;dijkstra是求点到点的距离&#xff0c;辅助数组就是源点到目标点的数组】 【最简实例分析&#xff1a;比如思考dijkstra&#xff1a;假设先只有三个点】 1、贪心算法是什么&#xff1f; 当前看来最好的选择 局部最…

第二章(2):从零开始掌握PyTorch基础知识,打造NLP学习利器

第二章&#xff08;2&#xff09;&#xff1a;从零开始掌握PyTorch基础知识&#xff0c;打造NLP学习利器&#xff01; 目录第二章&#xff08;2&#xff09;&#xff1a;从零开始掌握PyTorch基础知识&#xff0c;打造NLP学习利器&#xff01;1. Pytorch基础1.1 Pytorch安装1.1.…

计算机网络考试复习——第四章 4.1 4.2.1 4.2.2

网络层传输的单位是IP数据报 4.1 网络层的几个重要概念 网络层提供的两种服务&#xff1a;网络层应该向运输层提供怎样的服务&#xff1f;面向连接还是无连接&#xff1f; 在计算机通信中&#xff0c;可靠交付应当由谁来负责&#xff1f;是网络还是端系统&#xff1f; 面向连…

X79G Xeon 2630v2 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板X79G 处理器Intel Xeon 2630v2已驱动 内存32g (16*2 2666MHZ)已驱动 硬盘Intel 760p 512GB已驱动 显卡RX 470已驱动 声卡瑞昱 英特尔 High De…

硬件外设使用方法——GPIO

【硬件外设使用】——GPIO用法GPIO基本概念GPIO应用pyb与micropython什么是pyb什么是micropythonpyb与micropython关系GPIO在micropython中的用法什么是pyb库pyb库中的GPIO用法micropython下的GPIO用法经过与硬件群的小伙伴商量&#xff0c;决定直接找个板子讲实战了- -。 本部…

qt动态加载qss 更好的推荐方式

1、编写QRC资源文件[window和linux通用] 2、过rcc程序生成rcc资源文件 生成2进制数据&#xff1a; 通过控制台窗口执行以下命令&#xff0c;会把qrc中的资源文件写成二进制数据保存 rcc.exe -binary .\resuorce.qrc -o .\resuorce.rcc 生成16进制数据&#xff1a; 通过控制台窗…

JavaSE学习进阶day03_02 内部类

第二章 内部类&#xff08;最难的&#xff09; 2.1 概述 2.1.1 什么是内部类 将一个类A定义在另一个类B里面&#xff0c;里面的那个类A就称为内部类&#xff0c;B则称为外部类。可以把内部类理解成寄生&#xff0c;外部类理解成宿主。 2.1.2 什么时候使用内部类 一个事物内…