许多人说呀,软件测试门槛很低,什么人都可以去做测试,甚至很多人说,测试工程师不能叫做程序员,因为程序员没有这么低的门槛,当然这只是一些无知的网友发出的言论,我们并不当真吗,软件测试门槛确实比起开发等岗位来说要低很多,但是这并不代表,软件测试没有门槛,单纯的点点点,确实什么人都可以做,但你觉得那真的算是一个合格的测试工程师吗?如果这也算软件测试工程师的话,那么我会算几个数学题,我是不是可以叫做数学家?
一个合格的软件测试工程师,需要具备很多能力,专业能力不说,这都知道,其他能力也是缺一不可的,那么软件测试工程师需要哪些能力呢?
软实力
● 关于刚入职时
● 关于对待问题
● 关于执行力
关于个性
● 关于下班后
● 关于工作重点
● 关于客户沟通
● 关于视界
● 关于批评
● 关于职业规划
硬实力
1
自学测试有什么要点
参考:
第一阶段:测试基础(理解,能用自己的话复述,会动手)
● 测试的分类、测试方法、测试生命周期。
● 测试计划、测试用例的编写。
● BUG的分类、BUG的六要素、BUG的生命周期。
● 开发模型(了解即可,不理解也没有关系)、测试模型(结合实际项目来掌握,可以从开源中下载项目练手)、敏捷迭代下的测试流程以及功能测试。
● 质量管理体系CMMI(了解)。
第二阶段:测试工具(自学时会用即可,不必精通)
需求分析工具:Mindmanager、Visio
用例编写:Excel(相关函数、统计、数据整合、条件判定、数据有效性等)
性能测试工具:Loadrunner、Jmeter。
接口调试工具:Postman
抓包工具:Fiddle(捕获请求、修改请求)
数据库:Mysql下的sql语法、Navicat(会基本的增删改查,会批量插入或修改数据)
项目/BUG管理工具:禅道(完整走完至少一个项目的流程,会创建用例库、测试集、规划用例执行等)
操作系统:Linux(搭建测试环境,会查日志初步定位问题)
关于性能测试,在一些中小型公司,其实只要会工具的使用,基本就能完成性能测试任务。但在复杂的项目中,或者一些大型企业,只学习工具是远远不够的,还包括性能场景分析,工具加压,性能调优。比如分析性能场景,要考虑每项业务使用人数、比例,使用人数是否随时间段变化,比如早晨登录操作比较多,十点业务比较多,这种情况每个时间点都要制定出各项业务的占比和人数。再比如加压和监控,要在出现瓶颈时分析是代码问题、负载机瓶颈、网络瓶颈(如网口是否足够)、硬件瓶颈(如cpu 和内存)、数据库瓶颈(如数据库命中率)还有中间件瓶颈等等。
第三阶段:代码学习
不懂代码,也可以完成一部分测试任务。但懂代码,可以让我们更好的跟开发人员交流,更好的界定测试范围,以及发现bug之后更轻松的分析和定位。更何况,招聘信息里都有一条“了解或掌握一门编程语言"。
没有计算机编程语言基础的朋友,建议从Python开始学习,一是简单易懂,二来这门语言应用也越来越广泛。
2
现在测试需要掌握什么
参考:
①较强的业务知识(如果在一个行业、领域时间长了积累出来的)
②较深的代码能力(不仅仅是能看懂,测试人员如果能够编写代码那就值钱了)
③规范的测试流程,经历过较大的项目。
④c语言、数据库都是必须的,当然测试工具也是要会的。
3
自动化测试能力
参考:
自动化测试流程,和其它所有的测试一样,都是由“用例”执行和“缺陷”验证组成,差别是需要找到合适的“工具”来替代“人手”。自动化测试典型的金字塔原理
从图中可以看出自动化包含了三个方面:
①UI前端界面层
②Service服务契约(业务逻辑层,API是承接前端和后端的枢纽)
③Unit底层单元(数据处理层)
同时也说明了:
①越是底层的测试,运行速度越快,时间开销越少,金钱开销越少;
②越是顶层的测试,运行速度越慢,时间开销越多,金钱开销越多
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取