测试必备技能

进击测试大佬的学习之路


现在很多公司都开始招聘测试开发了, 也就是仅仅手动的测试是远远不能满足要求了, IT行业对测试的要求是越来越高了, 所以需要对当下的测试所需要的技能有全面的认识和理解, 并且让自己紧跟时代, 让自己充满竞争力.

以下仅仅是针对测试方面的技能需求, 其他通用的技能就不放这里了.

1. 编程能力

在测试方面, 主流的语言是Python, shell, java ,如果掌握了这几种语言, 那么距离测试开发就很近了.

关于python, 目标是要能写一些简单的应用脚本, 用例测试脚本, 能够维护和优化自动化测试框架, 进一步的要求就是能够针对具体的业务需求开发自动化测试框架. [下一篇总结下在华为学到的两个自动化测试框架]

python在运维领域也是很强的, 比如部署和维护测试服务器以及web应用. 不得不说的是, 如果掌握一两个Python的框架,比如django或者flask, 对自身的发展是极其有帮助的, 之前有应聘海康的自动化测试,其中就需要掌握django框架, 可见Python框架的重要性.

对于java还是应该要学习一下的, 目前来说java的工作岗位还是比Python多, 尤其是开发岗位. 找工作时发现一些公司的测试开发岗位的要求是掌握java, 而且数目还不少, 对于使用java写自动化测试框架的公司, 掌握基本java技能就能满足其主要要求了.

对于一些测试需要用到shell的, 之前待过的公司以前的脚本就是用shell写的, 后来需要升级为Python脚本, 于是就需要看懂理解shell语法(看还好, 要是需要写的话有比较难了了, shell语法较于python等很low很恶心), 才能将shell脚本转为python脚本. 当然shell语法也是很有用的, windows下在用bat执行一些操作很方便.

对于测试开发岗位, 编程能力是一个大的比重, 其他的什么手动测试, 测试概念以及测试工具的使用, 都是可以进去后学习的, 而且很多测试的知识都可以在面试前突击学习的, 后面这些都是可以应试的.

2. 测试知识

关于测试的流程, 需求分析, 方案设计, 用例设计, 用例编写, 测试执行, 写测试报告等.
测试首先要了解需求和开发人员根据需求制作的技术方案。所以对软件开发的流程、开发常用的方法、架构有一定的了解,对开发中常用的名词应掌握其意思。这同时也有利于与开发人员的沟通,及测试文档的编写。

至少专心学习一本讲述软件测试基础知识的书,对测试工作有一个全面和系统的了解,对常用的测试名词,测试方法应掌握。

3. 计算机网络知识

有些测试是测软件的, 但是需要连接设备, 在华为和宇视的软件测试中都有遇到, 有用到网络的相关知识, 很多什么网络端口的调试, 防火墙, ip相关知识都有涉及. 计算机硬件的构成,常见外设设备、网络设备、数据库知识的了解。要测试就必须搭建测试环境,要搭建测试环境就必须应对硬件有一定的了解。 另外还会需要理解HTTP协议, TCP/IP协议等等, 常见的get,post,put,delete等请求还是要懂的.

同时一些常规的网络抓包工具的使用: tcpdump, wireshark, fiddler等, 学会通过抓包来分析请求发现问题.

除此, 还有一些需要用到通信方面的知识, 一些专业术语, 遇到一个记一个,不断积累.

4. Linux

有些测试是在Linux环境下的, 所以掌握最常用的linux命令是必须的. 当然如果涉及测试app, 那么就需要对Android和ios有一定的了解了.

5. 前端基础

前端这个名词前端根据不同的领域又分为不同的种类. 比如在web方面, 前端指的是网络展示的/用户看到的那个界面(常用的就是html, css, js, jquery, bootstrap, vue等), 而在储存芯片领域, 前端指的是用户对芯片的读写等操作, 在安防视频监控方面, 前端指的是摄像头那部分(如今主要是指IPC). 对于比较特殊的测试对象, 可以进入公司再学.

6. 数据库

对于测数据库的岗位, 比如一些阿里的测试岗位, 要测试数据库的增删改查, 压力测试, 稳定性和并发测试等, 需要对各种数据库(mysql, mangodb, redis等)有一定的基础. 面试中可能会问各种数据库的特点,区别和各自的使用场景.

7. 版本控制

常见的代码管理有SVN, Git, 只要掌握了这两种, 基本就可以了. 对于SVN, 大家用的基本都是界面化提交代码, 很容易掌握, 对于Git的话, 虽然也有GUI, 但是基本是使用命令来提交代码, 所以新手可能不太会操作, 可以多多学一下, 将基本使用的命令整理在一个文档中, 对于一些操作中出现的问题, 可以搜索找到解决办法后记录下来,. 不要太相信自己的记忆能力, 对于常见的问题(不仅仅指的是Git)应该把解决办法记录下来, 以后遇到了就立刻解决, 防止再做重复劳动甚至重新问别人, 要逼自己问题到我为止.

8. 沟通能力

职场中的沟通能力很重要, 特别是测试与开发的沟通, 还有产品与开发的共同, 沟通的好坏对工作有着重要的意义. 这个能力怎么学习锻炼, 就需要多看书阅读, 多多和其他人打交道了, 不断地反省思考和总结.

9. 快速学习的能力

不管是测试还是开发, 都是技术岗, 只具备持续地学习能力, 将来的发展才是有光明的. 对于测试岗位来说, 快速学习尤为重要, 作为入门级开发新手可能只要看懂设计文档专注于写代码就行, 但是测试人员不仅要回写用例脚本, 看懂代码, 还需要深入掌握系统知识, 在业务方面要比开发要求更高. 同时以后在与开发沟通时才能有的放矢.

10. 高度的责任心, 细致认真的工作态度

在工作中绝对不能偷懒, 一定要细心认真, 投入时间和执行次数, 将责任变成习惯.

11. 正确定位, 摆正心态

工作中不能抱怨, 无论何时都应该认真对待工作, 抱怨解决不了任何问题. 作为软件测试工程师, 只有认真分析自己的行业, 做好职业规划, 不断地提升自己, 踏踏实实地做好当前工作, 才能做出成绩. 要做测试中的大佬.

如何拿到大公司的测试工程师的offer?

1.业务

在一个行业做了几年, 应该对该行业很熟悉了, 此时应该有自己的理解和思考. 在这几年了, 一定要做出成绩来, 一定要不断地积累经验, 同时将不同业务工作进行提炼和抽象, 发掘他们内在的共同点, 研究其本质. 抓住了最根本的东西, 不管面对的是什么其他没有尝试过的业务,都可以很快上手.

测试通用软件的话, 业务方法有通用的方法论. 但是如果是专业软件或者特定的领域, 业务复杂以及专业性强的情况下, 业务能力越强积累越多, 拿到的offer和薪水也越多.

2. 技术能力

不管大小公司, 都希望测试工程师具备的能力是多方面的. 所以如果能写脚本, 擅长一两门编程语言, 比如python, java, shell等, 都是很大的优势, 可以从事自动化测试框架的搭建, 也就是测试开发.

当然还有测试相关的专业技能, 比如需求分析, 用例设计, 测试开发等, 也是需要熟悉的.

3.英语能力

不论如何英语好的话, 都是能够给自己带来很多优势的. 一些大公司的业务包含海外的, 或者技术文档是用英文写的, 这些情况下, 都是需要用到英语的. 英语水平也能看出一个人的学习能力.

4. 沟通表达能力

不断积累联系, 在反思自省中学习提升自我.

最后附上一篇大佬的博客文章学习: 测试人员应该具备哪些技能

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值