曾几何时,我也是在网上搜索“测试工程师需要具备那些技能”的测试新手一名,现在终于轮到我来帮助大家解决这些疑惑了。
一个测试工程师应具备那些素质和技能,不同的人有不同的观点,那么接下用我十年的测试经历来聊聊自己的看法。
1、基础技能部分
- Python编程使用
Python是软件测试进阶测试工程师的第一步!
我们需要掌握Python编程语法,具有一定的编码能力,为基础自动化测试做准备,其次还要掌握Python在自动化中的应用,掌握代码的函数封装、类封装的技能。
编程语言的能力决定你测试技术的深度,但是学起来就会遇到很多问题,没有人及时解答,还有很多编程的相关知识,也不太懂,自学的话是很费劲的。
我有幸遇到了一位测试行业的技术大佬,进到了一个很不错的学习交流群,里面不仅有许多免费学习资料可以领,还能认识很多大佬,遇到不懂就直接在群里问,学习效率飞速提升。
- 测试工具的使用
比如说我要去进行web自动化,需不需要进行自动化测试环境搭建,去安装Python?
至于AppUI自动化部分,除了要会上面的一些技能还要会比如说adb命令、app环境、app压力测试之类的。
接口测试说白了就是一种功能测试,但是它有并不等于功能测试,因为对于接口测试的话也分为:接口功能测试(需要借助工具进行测试)、接口压力测试、接口安全性测试。
而且接口的功能测试是需要借助工具来完成,工具的话就有比如:Postman、Jmeter抓包的工具fiddler等。
- 测试框架的开发
Selenium、appium、unittest、pytest,这都是一些开源的框架你至少要懂中间的1-2个。
比如做WebUI自动化,要懂Selenium+python;做AppUI自动化,要懂appium+python。
一般一个框架的诞生过程会经过三个阶段:
使用阶段:大致了解框架的使用,大家可以去看框架的官方文档,一般里面都有详细的介绍,安装之后可以开始尝试直接拿它来做项目。
阅读源码阶段:这就需要自己多花几周甚至几个月的时间去阅读框架的源码,这样有助于框架使用过程的各种问题的处理和排查。
自研框架阶段:因为有的企业对性能有极高的要求,现有的开源或商业的框架都无法满足公司需求,我们就需要分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或用寻找、研究更好的算法去实现关键功能。
关于这些知识点的掌握肯定是需要自己多花时间和精力的,关于这些学习资料和学习教程你可以去咱们交流群的群文件直接获取,还很多录制的视频教程,大佬的讲解非常详细,能够帮助你快速理解与掌握。
2、个人能力的提升
- 描述问题的能力
程序是人写的,难免会出Bug,但也正因为是某个程序员写的,他对于内在的逻辑、可能发生问题的地方会有一个大致的判断。
而测试工程师的工作就是,告诉他发生问题数据的ID、发生问题的场景、当时的测试数据是怎样的等等,而不是把一个截图甩给程序员,说:“这地方出错了啊。”
- 乐观的心态
这也是和程序员最大的不同,测试工程师每天面对的是程序中的“错误”,而程序员每天都在创造代码。
像我之前作为一个垃圾代码的创造者,就很讨厌去排错,所以在做测试时很难保证心态的平和,因为你不知道什么时候会跳出一个莫名其妙的错误,要是真的测出了一个bug,你也需要耐心比对两个人的测试用例,发现可能存在的问题。
想把测试做好是非常不容易的,优秀的测试工程师需要很广的知识面、良好的沟通能力(不但要和开发人员和项目经理打交道,还要跟其他组的人交流)、丰富的测试经验、对测试工作有极大的热情, 耐心,还需要测试人员有丰富的业务知识,还要会写代码。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【100%免费无套路】