热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

3年测试经验来面试,连应届生都不如,还敢要20k?

篇首语:本文由编程笔记#小编为大家整理,主要介绍了3年测试经验来面试,连应届生都不如,还敢要20k?相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了3年测试经验来面试,连应届生都不如,还敢要20k?相关的知识,希望对你有一定的参考价值。






由于朋友临时有事, 所以今天我代替朋友进行一次面试, 第一次面试他人(不是应聘我们公司), 我以很认真负责的态度完成这个过程, 大概近30分钟。 主要是技术面试, 在近30分钟内, 我与被面试者是以交流学习的方式进行的, 整个沟通过程比较愉快但是内心毫无波澜。

作为一个面试者, 应该有好的态度, 与被面试者平等沟通, 试图引导他/她分析问题, 不随意打断他/她, 更不能以卖弄自己那一点点臭知识为目的, 毕竟我们希望招到的是合适的人。 另外, 如果被面试者很厉害, 那么,这也是面试者学习的一个机会。学习和尊重, 从来都是双向的。

鉴于对方简历和经验比较简单, 所以我就问得很浅, 多的不说, 仅给出我们聊过的技术话题, 即便是俗套而又简单的题目, 我也把它罗列一下:



  • 什么是系统瓶颈?
  • 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
  • 在您以往的工作中,一条软件缺陷(或者叫 Bug )记录都包含了哪些内容如何提交高质量的软件缺陷( Bug )记录?
  • 测试结束的标准是什么?
  • 请你回答一下性能测试有哪些指标,对一个登录功能做性能测试,有哪些指标,怎么测出可同时处理的最大请求数量
  • 如何回答登录功能怎么进行测试?
  • 正交表测试用例设计方法的特点是什么?
  • 需求测试的注意事项有哪些?
  • 一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?

就这9个问题给来面试的,问的他漏洞百出,进阶问题更是一问一个死,前沿技术最新动态也毫无关注。而这个人的薪资要求却是接近20k,并且在谈论过程中自视甚高。

特别他有一个给我留了很深印象,简历有3年经验,做的都是小程序测试的展示项目,面试过程中一直强调自己技术如何如何强大,在原公司如何的受重用,问了些细节部分,全部是用的手工,几乎没有什么自动化,我跟几个朋友说起这个事,他们也有同感,人心浮躁,肯踏实做技术的没几个,只是冲着高工资来,做什么都停留在能用,而不是会用。

以上并不是给不想学自动化测试的人们的一个借口。而是觉得测试者不要在工作中迷失了自己。目前就大量招聘信息来说,想要高薪得会以下几点:



懂自动化测试基础,懂Appium操作,元素定位、操作、等待、滑动等,深入讲解PO、unittest、yaml、配置文件、测试报告等知识,基于关键字驱动、Pytest和jenkins持续集成完成App测试框架设计与开发、测试工具、比如性能测试工具loadrunner,自动化测试工具selenium、Appium。



绵薄之力

做为一名自动化软件测试,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级测试者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!你能在 公众号:豆子熊!免费获取一份216页软件测试工程师面试宝典文档资料。

下面分享我整理的这份2021年可能是最全的软件测试工程师发展方向知识架构体系图。

初级软件测试工程师专业技能储备

1)了解计算机以及软件测试相关的基础知识

a.计算机基础知识

计算机组成部分,操作系统分类,常见的系统架构(B/S和C/S),常用的DOS命令

b.软件测试基础理论知识

软件测试的目的、定义、原则,产品质量模型,软件测试的基本流程

2)常用的Linux命令

在软件测试中,有时候需要我们自己去搭建测试环境,或者是在服务器部署自动化项目。而服务器基本都是使用Linux系统的,所有我们需要掌握一些基础的Linux命令

3)SQL语句

在软件测试中,测试结果的校验或者自动化中的测试数据准备,都会操作数据库来完成。所以对于数据库的最基本的增、删、改、查的SQL语句,需要能够独立完成编写

4) 手工测试用例的编写(最重要)

作为一个软件测试工程师,最基本的要求就是用例编写的能力。如何编写出一份高覆盖率,低重复率的测试用例,是初入软件测试行业应该去不断追求的能力。

5 ) 缺陷的管理

了解在团队中,如何管理测试人员提出的BUG,从而保证项目的BUG能够及时被修复
掌握以上的技能,对于一个初入软件测试行业的同学而言,就肯定可以站稳脚跟了。


中级软件测试工程师专业技能储备

1、接口测试相关专业技能

无论是自动化测试还是性能测试,甚至之后往测试开发方向发展,最基础的就是针对接口进行测试。所以要想做好中级软件测试工程师,第一步就是能够完成接口测试。

1)接口以及接口测试相关的理论基础知识

包括接口及接口测试的概念,接口测试的原理,接口测试的流程,http协议,Restful接口风格。这些内容都需要有所了解

2)接口工具的使用:Postman和Jmeter

接口测试,可以使用代码,也可以使用工具。通常情况下,接口测试最多还是使用工具来完成.原因无他,“高效”。

3)抓包工具:Fiddler和Charles

在测试过程中,我们为了定位前后端的问题,就会使用抓包工具,查看接口返回的结果。从而定位问题是前端的,还是后端的。

这两个工具,我们一般二选一去学习就可以了,因为他们的作用都是一样的。

2 . 编程语言学习

自动化测试的实现方式,主要还是依赖代码来完成的。所以要能进行自动化测试,首先需要掌握一门编程语言。目前行业主流的自动化测试的编程语言为python和java。我个人推荐python,因为对于新人而言,上手的难度比较低一些。如果可以全天学习,python也就差不多10天就能入门

3、自动化测试学习

Python学完以后,我们就可以开始自动化测试方面的学习。

自动化测试的目的,主要还是为了降低回归测试的时间。

软件测试中的自动化测试,分为UI自动化和接口自动化。

通过以上的学习之后,我们再来看你具备哪些能力?



  • SQL语句,Linux常用命令

  • 手工测试用例的编写以及缺陷的管理

  • 使用抓包工具进行前后端问题定位

  • 使用Postman或Jmeter进行接口测试

  • 使用Python进行接口/UI自动化测试



高级测试工程师需要掌握的知识点

这一阶段你需要加宽你的知识体系,同时更加深入的了解前段进阶,代码质量,测试架构,微服务及中间件,容器化,自动化测试设计,测试架构,CI/CD,测试左移,测试阶段,测试右移。

测试开发和研发岗的区别,其中一点就是研发更注重深度,而测开更注重广度。

比如:你要了解CI/CD,因为你做的测试平台/工具,可能需要接入到CI/CD的流水线,或者运维的监控系统中

再比如:你做性能测试的时候,如果你对架构设计的核心知识不了解,那么在做全链路压测,服务降级等测试的时候,可能就会遇到很多问题难以解决。

找到一份测试开发JD来对照,也可以看到这个岗位对中间件,性能测试。私有化平台都有了解。


除了加宽你的知识体系,还需精进你的代码能力。

简而言之,大厂Java用的多,如果你想去大厂,基本上就得熟悉Java,不然面试很容易被pass掉。


第三点:面试题

这里把字节跳动等大厂经常问的那些题目进行了综合性的搜集整理(含答案解析)。有需要的可以关注公众号:豆子熊,免费获取!
从理论基础,Linux 基础,mysql 基础到Web 测试,接口测试,App 测试,以及性能测试,各大厂面试真题的全面分析,由于技术涵盖比较多,可能不会全部列举出来,有需要的可以关注公众号:豆子熊,免费获取

测试理论:
软件测试的目标

发现尽可能多的错误,测试是一个为了寻找错误而运行程序的过程。

一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。

一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

软件都有多少种分类?

根据功能的不同,电脑软件可以粗略地分成四个层次:

最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。
系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。
支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。


Linux 基础
在 Linux 系统中,一个文件的访问权限是 755

755 表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。

如何查看一个文件的末尾 50 行?

查看/etc/profile 的前 10 行内容,应该是: # head -n 10 /etc/profile

查看/etc/profile 的最后 50 行内容,应该是: # tail -n 50 /etc/profile

MySQL 基础
什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库

什么是关系型数据库,主键,外键,索引分别是什么?

关系型数据库是由多张能互相联接的二维行列表格组成的数据库

主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录

外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键

的表被称为主表的从表。外键又称作外关键字

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,

它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单

Web 测试
nginx,tomcat,apache 都是什么?

Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。

Apache HTTP Server 是一个模块化的服务器,源于 NCSAhttpd 服务器

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,是开发和调试JSP 程序的首选。

接口测试
什么是接口

接口是指外部系统与系统之间以及内部各子系统之间的交互点。

包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。

如果模块请求 http 改为了 https ,测试方案应该如何制定,修改?

分别用 http 还有 https 登录试试。如果用 https 可以正常登录,地址栏显示一把锁头,那么这个网站是有部署 SSL 的。如果 http 和 https 都能够正常登录,进一步说明该网站没有设置强制 https 登录,或者说没有设置 http 链接自动跳转 https 链接;相反如果用 http 登录,结果跳转到 https 页面,说明网站部署了 SSL, 而且设置了 http 自动跳转 https。


App 测试
什么是 android 四大组件?

Android 的四大组件包括:Activity、Service、BroadcasReceiver、ContentProvider


最近断断续续整理了一些软件测试学习资源,主体内容包含:测试文档、测试工具安装包、自动化测试视频教程、性能测试、接口测试、面试技巧、简历模版、全套面试题等知识内容。目的是想了解一下大厂招聘的技术热点,不断提升学习。

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!







推荐阅读
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 提供:ZStack云计算原创2016-12-26张鑫讲师介绍张鑫ZStack总架构师、联合创始人《系统虚拟化》主要作者,曾任职Intel开源软件技术中心 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
author-avatar
手机用户2502880237
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有