赞
踩
最近一段时间回复了不少知友对测试工程师所要具备的能力的问答,依据自己多年的工作经验,在此做一个总结分享给大家,如有不足的地方,欢迎在评论区补充。
在谈能力之前,我们先看看软件测试行业的现状,总结一句话:简单易学拿高薪,热门晋升多元化。
软件测试在国内还算是朝阳行业,市场人才缺口,发展多元化,可谓入行之后,随便往哪走都能实现自己人生的小梦想。
这么好的一个行业,是谁都能成功的吗?当然不是,任何一个行业都不可能随随便便成功,我们软件测试也一样,他也需要我们掌握各种特异功能,我们一般谈论的有软实力和硬实力两部分,下面我们就展开来说:
一、测试工程师软实力
至于软实力,除了老生常谈的,需要有良好的沟通力、表达力、主动性、耐心、细心、善于思考、善于总结能力外,我们还需要具备如下的特质。
1、足够大的脑洞
前两年在testin带众测项目的时候,就有这么一个小胖子,他提交的bug总是那么匪夷所思,让人看了之后有一种豁然开朗、咋还可以考虑这个场景的感觉,而且一个项目15个人,人均10个bug左右,但是他每次都能提到40+的bug,你不佩服不行,这种人天生适合做软件测试。
测试工程师面试的时候,经常会遇到这么一个问题:给你一个纸杯能拿到啥就是啥,然后问你该怎么测试?如果你仅仅说功能怎么测试相关的测试点的话,相信你的测试效果不会太好,因为这个题目就是要考察你的脑洞的,脑洞越大,就越符合面试官的预期,针对这个题目给出下面的参考答案,大家可以补充:
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放 24 小时检查泄漏时间和情况;盛上汽油(案例二)放 24 小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
2、与开发的沟通上可以有女孩子的嗲、也可以牛皮糖的粘
平时我们有一个更通俗的说法,那就是越不要脸越好。作为测试工程师,和研发在业务上是对立属性的。测试工程师提交的BUG越多,意味着研发工程师工作质量越差,需要返工的工作量也越大,甚至会影响绩效,所以测试工程师有时候很容易得罪研发的,因此,如何督促开发很乐意地去修改你提交的bug很重要。
女孩子在这一方面就很有优势啦,稍微嗲一下,那个开发小哥哥受得了,还不乐颠颠去改bug。
男孩子呢,就要发挥不要脸的属性啦,天天粘着开发呗,不给改,烦死你。
不管与开发的关系怎么样,作为一个团体的共同目标是产品保质保量、按时上线的基本原则是不变的。那我们作为测试工程师,在缺陷的跟踪上就要有自己的原则,比如3级BUG以上一定要改,即使拉下脸与开发工程师闹的不愉快的也要坚定自己的原则。
说到底,又能做事(发现BUG并督促修改),又会做人(该进的不让,该退的绝对给面子,能嗲能粘,最大化消除部门间矛盾)的测试工程师,是十分难得的。
3、要继承偷懒的优良传统
这里说的偷懒,可不是说大家上班可以玩手机、刷知乎啊,而是要继承工作怎么简单怎么做的优良传统。
比如自动化测试的演变史其实就是测试人员与繁琐测试工作的长期斗争史,是许多代测试人员智慧的结晶,说人话就是“偷懒”,出于“偷懒”的想法,把一些重复性、简单、没有技术含量的手工测试工作交给代码完成。
Jason Huggins在2004年发起了Selenium项目,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中而编写的JavaScript类库,这就是Selenium最早版本。
好了,软实力就先写到这,有其他的,大家在评论区回复。
二、测试工程师硬实力
至于硬实力,可以分两大块,一个是技术上的硬实力,另一个就是有一个大专以上的学历文凭,两个缺一不可,不然在这个现实的行业中,会处处碰壁。至于文凭,大家有意识地去提高就好,下面我们重点来说技术硬实力要求。
特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……关注我公众号:【软件测试小dao】即可获取这份资料了!
1、测试基础及环境搭建能力
基础能力这块,基本上计算机专业毕业就没有太大,是软件从业者的基本能力。
软件测试的定义、生命周期、工作流程、需求分析
测试用例的设计、编写、评审
bug的基本知识以及禅道的使用
测试计划、测试报告的编写
linux系统常见指令,及LAMP环境搭建
前端技术基础如H5、js、css、vue.js等
数据库常见增删改查操作
行业知识如金融、电信、互联网等
…
2、测试常见工具使用
涵盖了功能测试、接口测试、性能测试、web端及app端常见的工具,再补充几个常见的。
常见网络抓包工具:fiddler、charles
常见的自动化测试工具:selenium、RF
常见的接口测试工具:Postman、Jmeter、SoapUI
常见的缺陷管理工具:禅道、Jira、bugfree等
…
3、自动化测试能力
从事自动化测试的话,首先要从语言开始,至少要熟练使用一到两门的脚本语言,不然Java、Python,VB、Javascript等,现在使用python语言随着大数据、人工智能的崛起,也越来越火。
选择一门脚本语言,建议先从Python入手,可以形成下面的Python技术栈。
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
脚本编写、标准库、第三方库,外部数据处理
unittest、pytest测试框架、参数化、数据驱动
web端的自动化测试,建议Python+selenium+unittest
selenium安装、元素定位、脚本开发
unitest框架的使用
PageObject设计模式使用
ddt数据驱动测试
kdt关键字驱动测试
移动端APP自动化测试,建议Python+Appium+unittest
appium使用、元素定位、脚本开发
APP控件定位、交互,参数化用例
测试框架封装改造
ios自动化测试
接口自动化测试,建议Python+requests+unittest
接口自动化测试框架request
接口请求构造、断言(json/xml请求、响应断言)
接口报文抓包(浏览器、fiddler、charles等)
代理技术与mock挡板技术
headcookie处理、认证体系
4、再拔高一点
通过几年的项目锻炼,熟练掌握前面的技术要求之后,作为测试工程师,基本上能够拿到30W年薪啦,再掌握后面的技术及行业知识,可以转测试开发或者行业专家、顾问,年薪60W也不是梦想。
性能测试
Loadrunner、jmeter测试工具使用
性能测试脚本的开发、优化
性能测试场景设计
性能测试结果分析
性能测试调优
持续集成/持续开发/docker
jenkins持续集成
Jenkins持续交付
docker容器、docker镜像
docker下测试环境搭建
Java或者Python栈测试开发
java+maven+SpringMVC 的技术栈
Python+django
行业知识深耕,掌握行业特点
互联网行业系统软件特点
金融行业系统软件特点
电信行业系统软件特点
三、总结
关于软件测试工程师应该具备的能力,此处仅仅是抛砖引玉、个人的一些见解,大家如果有补充,欢迎在评论区互动。
如果掌握前面提到的技术要求,包括软技能及硬技能,并在项目中充分融汇关统,在测试行业内就基本达到了中上层人群,30W年薪基本上是起点,年薪60W也绝对不是梦想,前路漫漫,拼搏吧,骚年们。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。