我在上一篇文章中,跟你分享了测试工程师应该具备的核心竞争力,大多是测试专业知识方面的内容。但是,在专栏第一篇文章中,我提到了这样一个观点:一个优秀的测试工程师,必须具备宽广的知识面,才能设计出有的放矢的测试用例,保证整个软件产品的质量。
所以,今天我要分享的主题就是,除了测试专业知识外,你还要掌握哪些知识,才能一路披荆斩棘,成长为一名优秀的测试工程师,或者是测试架构师。
与开发工程师相比,你需要了解的技术种类要多得多,视野也要宽广很多,只是在每类技术的深度方面不如开发工程师。
你可以参照下面这个比喻,来理解开发工程师和测试工程师的对知识的要求:开发工程师通常是“深度遍历”,关注的是“点”;而测试工程师通常是“广度遍历”,关注的是“面”。
那么,测试工程师需要掌握的非测试知识主要有哪些呢?
如果你花时间静下心来仔细想一下,很可能会把自己吓一大跳,需要了解掌握的非测试知识实在是太多了,这简直就是一个 mini 版的系统架构师啊!
- 小到 Linux/Unix/Windows 操作系统的基础知识,Oracle/MySQL 等传统关系型数据库技术,NoSQL 非关系型数据库技术,中间件技术,Shell/Python 脚本开发,版本管理工具与策略,CI/CD 流水线设计,F5 负载均衡技术,Fiddler/Wireshark/Tcpdump 等抓包工具,浏览器 Developer Tool 等;
- 大到网站架构设计,容器技术,微服务架构,服务网格(Service Mesh),DevOps,云计算,大数据,人工智能和区块链技术等。
可以说,测试工程师需要掌握的这些技术,几乎涵盖了当今主流软件技术的方方面面。当然,你也不可能一口气吃成胖子,所以我就挑选了几个我认为比较重要,又符合当前技术趋势的关键知识点,和你分享。
希望我的分享,可以帮助你在面对新的技术趋势时,站在更高的高度,更好地把握测试工作的内涵和外延。
网站架构的核心知识
现如今,互联网产品已经占据了软件行业的大半壁以江山。作为测试工程师,你很多时候都