今天和大家一起来讨论一下知乎上面一个很火的问题:作为软件测试工程师需要具备哪些实力。
硬实力:学历+技术
目前随着社会的发展,各个行业对岗位学历的要求也越来越高,尤其是对于工资水平高的技术岗位。
测试通用技能:
软件测试知识(各种测试理论,测试方法,测试用例编写,bug提交跟踪);计算机知识(操作系统,数据库、通讯协议)
产品业务分析能力,这个一般需要测试经验的积累
测试常见工具的使用,例如:
-
缺陷管理工具:禅道、Jira
-
版本集成管理:Git、Jenkins
-
网络抓包工具:fiddler、charles
-
环境部署管理:Docker
-
接口测试工具:Postman、Jmeter
-
App专项测试:Perfdog、Qnet、monkey等等
如果往上进阶一点的话,自动化测试能力:
-
至少熟悉一门编程语言,像Java、Python
-
掌握主流的自动化测试框架:
-
web端自动化测试,建议selenium+pytest/unittest;
-
App移动端自动化测试,建议Appium+pytest/unittest;
-
接口自动化测试,建议requests+pytest/unittest。
再拔高一点,你可能需要往,性能测试能力,测试开发能力去丰富
软实力:能力+特质
“异想天开”能力
举个例子我们在面试测试工程师的时候,经常会遇到这样的问题:随便指定生活中一件物品,像水杯,然后问你该怎么测试?如果你仅仅说功能相关的测试点的话,相信你的测试效果不会太好,因为这个题目就是要考察你全面的测试思维,越是“异想天开”,就越符合面试官的预期,因此不单单是考虑功能,你还需要从界面、易用性、兼容性、安全、压力等方面去思考回答。
思考如何“偷懒”
这里说的偷懒,不是说上班偷懒玩手机、刷抖音,而是要学会偷懒,如何节省工作效率,比如自动化测试的演变史,其实就是出于“偷懒”的想法,把一些重复性、简单、没有技术含量的手工测试工作交给代码完成。
总的来说呢,作为一名软件测试工程师,我们需要做到软硬实力兼备,这样才可以走得更远哦。