Working in Ali for 4 years, the voice of a 28-year-old female software test engineer

Let me briefly talk about it first. The coordinates are in Hangzhou. I graduated from the 14th class. Counting the interviews in Alibaba a year ago, I interviewed a total of 6 companies (because I don’t want to ask for leave, so I just go to other companies for interviews every night, so the interview less companies)

Among them, 4 were successful, and the other 2 failed because of:

1. The understanding of system knowledge is not comprehensive enough. During the last round of supervisor interview, the supervisor asked more detailed questions. In the end, because he could not answer, he went back and waited for the notice.

2. The other company that failed was a small company with a small number of people. After the interview, I got to know more about it. The other party thought that my basic skills were good, but the actual project experience was still lacking, because the other party was an entrepreneurial company and needed People can work with hands, so I am not particularly suitable for their team at this time.

As for the other four successful companies, the interview evaluations for me seem to be quite high, but I don’t want to keep a running account, so I won’t list the interview process of each company one by one...

In the past two days, I talked with my friends about the development of software testing. In fact, software testing has undergone great changes unknowingly. The software testing industry in the past few years was still an outlet. The software testing industry has flooded into the software testing industry. At present, the "gap" in the software testing industry has been basically saturated. Of course, what I am talking about is that there are very few job requirements for the most basic functional testing, but there are still many opportunities for automation, performance, security, and even big data testing and AI testing that may appear in the future.

Many test practitioners are actually confused about their future development, and feel that their work is actually "clicking with the mouse". This is not the case, and test engineers have their own value. If you love this industry and plan your career development path well, it is possible to reach the industry's top salary.

insert image description here
"The back waves of the Yangtze River push the front waves, and the front waves die on the beach", a joke that once made people smile, has now become a true portrayal of the software testing industry. Due to the low barriers to entry and high salaries in the software testing industry, there are constantly fresh blood washing over the "forerunners" in the software testing industry, which has brought us great pressure.

One can imagine the pressure faced by those students who have been in the industry for several years but are still functional tests. After all, the software testing industry is still a technical position. Since it is a technical position, it must rely on technology to speak. Continuously mastering new skills and improving the ability of software testing to "find bugs" has become an urgent problem that software testing practitioners need to solve. Therefore, most junior functional testers are now moving closer to automation, performance, and security.

However, there are still many software test engineers standing at the "crossroads" confused, helpless, and unable to find their own direction.

insert image description here
All the confusion is due to thinking too much and doing too little! Every practitioner in the software testing industry is aware of the current dilemma they are facing, but there are still too few people who can make timely changes and adapt to the changes of the times. Do most people obviously "mountain Tai collapsed in front of them and their faces are like dirt" but they can only watch themselves being eliminated by the industry?

insert image description hereThe following test engineer development planning route will bring you inspiration and direction:

1. Test basis

Understand the basic skills of testing, master the use of mainstream defect management tools, and be proficient in the operation and maintenance of test environments

test basis
Test Plan/Test Case Black-box use case design equivalence class/boundary value/scenario analysis/decision table/causal diagram analysis/error inference
defect Defect lifecycle/defect grading/defect management tool ZenTao/Jira
database Mysql/environment construction/addition, deletion, modification and query/associated query/stored procedure
Linux System construction/basic instructions/log analysis/environment construction

2. Necessary knowledge of Linux

As the most popular software environment system, Linux must be mastered. The current recruitment requirements require Linux capabilities.

Essential knowledge of Linux
Introduction and preparation of Linux system As the most popular software environment system, Linux must be known, starting from the introduction of the CenterOS version system, installation, directory structure and other basic content, and also preparing for the subsequent self-built test environment.
Linux remote tool Xshell Introduce in detail how to get started with Linux, and perform routine remote management and file transfer operations, including the tools Xshell and Xftp involved
Linux file attributes and management – Introduce in detail how to get started with Linux, and perform regular remote management, file transfer operations, and the tools involved Xshell, Xftp–
Linux file attributes and management Introduce in detail how to get started with Linux, and perform routine remote management and file transfer operations, including the tools Xshell and Xftp involved
Linux file attributes and management Linux files, basic attributes of directories, file operations, file management, directory operations, directory management. Avoid self-destructive behavior operation, how to prevent accidental operation
Linux User and Group Management – How to add, delete, modify users and groups in Linux, and grant corresponding permissions, no longer stuck due to permission issues –
Linux file editor The use of Linux file editor vi, command mode, input mode, operation examples, shortcut keys, pipeline commands, experience in use. How to edit in a system without graphics?
Linux common system settings Network settings, environment variables, disk management, time settings, system resources, firewalls, everything, don't worry about being clueless.
Linux installation software – Linux installation commands, and how to install through tar, gz and other installation files downloaded from the Internet, such as MySQL database installation.
Linux Docker container Docker container technology explanation, image mirror management, warehouse, container creation, startup, operation, mirror packaging, catch up with the industry's popular technology

3. Shell script

Master Shell script: including Shell basics and application, Shell logic control, Shell logic function

Shell
Linux Shell Basics and Applications Introduction to shell script programming, environment types, variables, parameters, operators, use of arrays, zero-distance contact scripts
Linux Shell logic control Shell logic application, test command, process control, data input and output, script logic is no longer monotonous, play tricks
Linux Shell Functions -Writing of shell script functions, mutual calling of files, practical application of scripts, know what development, testing, operation and maintenance can do
Windows Script Batch Enough with Linux, let’s take a look at the usage of Windows common commands, batch script writing, and practical applications. It’s not all Linux everywhere. Windows scripts are also one of the commonly used scripts. You may use Windows when you see this

4. Principles of Internet Programs

The only way to automate: basic knowledge of front-end development and necessary knowledge of Internet networks

Principles of Internet Programming
Basics of Web front-end development HTML, CSS basic content learning. Why is the test class developed? Sorry, if not, automation may not be welcome, a lot of automated testing issues come from the development base
Web front-end development script JavaScript is the most mainstream scripting learning. Similarly, this will also be involved in automated testing. In fact, dynamic scripts are often used in some tools, which is also the JavaScript language.
Debugging tools for developers to test applications JavaScript is the most mainstream scripting learning. Similarly, this will also be involved in automated testing. In fact, dynamic scripts are often used in some tools, which is also the JavaScript language.
Debugging tools for developers to test applications Although the browser's F12 is named as a developer tool, in fact, testing plays a key role in both functional testing and automated testing. Such as parsing HTML, locating elements, debugging scripts, monitoring network capture, etc.
Internet program network architecture Understand in detail the birth of Internet programs, logical details, how Internet communication principles transfer data to other computers, and the relationship between TCP, UCP, HTTP, and other protocols through the network architecture.
HTTP protocol data structure analysis- -A complete analysis of the HTTP protocol data structure, including the Request and Response data formats, the definition and usage of Header, what various states represent, and how to identify errors. Analyze the position of parameters in the protocol, rest structure, various common body data forms, parsing methods, and causes of common data parsing errors.
Cookie and Session mechanism Interpret what Cookie is, what kind of relationship it has with Session, how to test Cookie and Session, and what to pay attention to

5. MySQL database

Software test engineers must have MySQL database knowledge, not just the basic "addition, deletion, modification and query".

MySQL database
MySQL database test application MySQL environment setup, basic use and data manipulation of client Navicat, learning and consolidating basic SQL syntax, adding, deleting, modifying and checking are indispensable, and mastering the usage methods of various conditions
MySQL advanced query Query upgrade, master multi-table query, sub query, query grouping, use of statistical functions, and learn and analyze classic interview questions
MySQL custom function Since there are built-in functions, of course there is no shortage of custom functions, and they are often used. This is like any development language, which cannot be separated from the definition and use of functions.
MySQL stored procedure SP How to define the essential stored procedure of the database, usually also called SP? How to test? How to use it more safely, and test what else can be done with stored procedures. More convenient content for testing
MySQL Transactions and Programming Use cases of database transactions, the principle and use of indexes, the application of database SQL programming in testing, how to use it to quickly and accurately generate a large amount of specified test data

6. Packet capture tool

Fiddler, Wireshark, Sniffer, Tcpdump and various packet capture tools are suitable for various projects, there is always one that suits you

Capture tool
The principle and method of packet capture 只有了解抓包的原理,才能真正去用好一个适合的工具,选择合适的方向和方法,否则都是徒劳的
抓包工具选择 抓包工具的分类与功效,什么样的项目适合哪种工具,如何去辨别工具的优势
Fiddler基础功能 作为专业的HTTP体系的抓包工具,详细介绍其工具原理,如何过滤数据,如何搜索想要的数据,如何对web,非web,手机,HTTPS协议等各种环境进行抓包
Fiddler高级功能 学会使用其进行接口测试,断电,脚本等方式进行数据的修改,替换,模拟数据进行接口Mock测试,创建自己定义的菜单功能
Wireshark 与其说是抓包,更是一种抓包后的分析工具,在各个系统下利用其它与系统一体化的抓包工具进行数据抓取整理并展示,有着强大的过滤和分析功能
Sniffe 黑科技抓包工具,有多种版本,非常专业的抓包工具
Tcpdump Linux、Android系列的系统中的抓包插件神器

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

接口测试工具
Jmeter接口测试入门 Jmeter简介,环境准备,目录结构介绍 ,如何录制脚本,以及基础组件的使用,线程、作用域、HTTP请求、定时器、断言等等
Jmeter接口测试进阶使用 Jmeter逻辑控制、前置处理器、后置处理器、监视器、结果树,如何参数化、正则表达式关联、事务、检查点等等。并带领大家对带有token等动态数据的项目进行实战演练
Jmeter接口测试高级功能- -Jmeter脚本思考时间、随机时间、线程启动间隔、并发集合点、联机远程调用,webservice、websocket、jdbc、命令调用等等
Postman接口测试工具使用 行业标准HTTP、rest接口测试神器,基本请求、分组保存、动态变量、脚本、数据关联、参数化、自动断言、批量运行、持续集成。思路类似其他接口工具,避免泛滥学习

八、Web自动化测试Java&Python

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

Web自动化测试Java&Python
自动化框架思路引导 我们做自动化到底为了什么?节省人力、加快速度、还是让机器代替手动、还是提升自我。应该如何建立思路,而非无脑进坑任机器摆布
Java&Python3开发环境及基本语法 Java&Python开发环境搭建,基础语法入门,让不会代码的以最快速度入门,方便适应后续自动化测试开发内容学习,代码够用即可,并不是学得越多越好
Java&Python3集合类型与面向对象开发- -Java&Python各种基本类型、集合数据类型的理解与操作,循环语句、判断语句,面向对象的开发,函数的使用,类的使用
Selenium3环境与浏览器驱动配置 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作- -selenium3常见定位方法,属性和值的获取,如何动态判断不一定存在的元素,复杂的网页结构,需要多步骤操作的元素等等
Selenium3环境与浏览器驱动配置 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
特殊情况处理(js、特殊控件等) selenium3自动化测试中,常见的特殊情况处理,如日期、控件、智能等待、文件上传下载、网页嵌套结构,各种弹窗的处理方式,cookie处理,JavaScript脚本调用等
TestNG&unittest自动化框架使用 Python unittest、Java TestNG自动化框架的使用,环境处理、基本使用逻辑,数据驱动模型,数据库数据载入等
自动化框架断言与日志处理 自动化中最重要的是什么?作为测试当然是断言,没有断言的自动化毫无用处,如何展示日志与结果是自动化测试的根本
PageObject框架设计模式 PageObject框架设计模式,到底是做什么的?如何更好的快速管理控件,从此做起

九、接口与移动端自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

接口与移动端自动化
接口自动化方案Requests Python Requests、Java HTTPclient接口框架,都是专业的接口调用、测试的解决方案,使用简单快速,结合工具的使用方式和功能,快速上手并对其操作,解决其中的疑难杂症
web+自动化框架整合 自动化测试是相通的,如何将web与接口、甚至更多的测试类型和方向结合起来,组成完整的自动化框架
Appium环境搭建 Appium环境相对复杂,针对Android系统进行完整的环境搭建演练,解决环境上的问题,并进行基本的自动化操作
Appium自动化实战与框架结合 Appium整体使用与web自动化类似,引导使用典型功能,并针对一款APP进行实战操作

十、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

敏捷测试&TestOps构建
构建敏捷测试运维架构体系 敏捷测试是什么?为什么需要敏捷,行业都提到的devops又是什么?TestOps能做什么
持续集成Jenkins框架实战 持续集成最常见的一套框架,介绍Jenkins操作、权限、系统管理等,常用构建与运行实例讲解
-静态扫描测试Sonar- -一款自动化的代码扫描工具,便捷式快速扫描代码中的问题,做到提前发现,统一规范,自动化中的代码测试神器-

十一、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

性能测试&安全测试
性能测试学习路线 如何学习性能测试,性能测试到底该怎么学习,使用什么工具?工具并不代表性能,接口的基础对性能测试非常重要,而工具只是辅助,更多的是思路和策略。你不会并不是分析而是准备阶段
loadrunner脱离浏览器录制专题 E无法启动被测网站?打不开浏览器?程序无法在浏览器中被打开?这些都没关系,还是一样能录制,但录制是偷懒专用的,对于学习有一定的辅助作用,也会带入无法脱离的坑
-性能测试工具操作实践- -loadrunner, jmeter, with the previous basic use, it is not a problem to understand the script, with the key parameterization, dynamic data association, things, logs, most of the scripts can be done for practice-
System monitoring program implementation Does the tool come with monitoring? System monitoring? JVM internal monitoring? Database monitoring? What is the significance of various monitoring, how to accurately monitor data in various situations
Introduction to the origin and tools of security testing How should security testing be conducted, and what are the classifications of security testing? What kind of tools will be used, and what are their functions, such as web vulnerability scanning, port scanning, system scanning, etc.
-Web security testing manual combat- -The role of interface testing in security, if you don't do manual security testing, you will never be able to understand the results of automation-
Security scanning tool testing practice Practical introduction and use of APPscan, awvs and other professional security scanning tools
Enterprise Security Construction (SDLC) How should enterprises carry out security construction and formulate a more secure software life cycle. Where to start
Security scanning tool testing practice Practical introduction and use of APPscan, awvs and other professional security scanning tools
Enterprise Security Construction (SDLC) How should enterprises carry out security construction and formulate a more secure software life cycle. Where to start

The above is a knowledge architecture diagram of the development direction of software testing engineers that I compiled for you. I hope everyone can complete the construction of such a system within 1-2 years according to this system. It can be said that this process will make you miserable, but as long as you get through it. Later life will be much easier. As the saying goes, everything is difficult at the beginning, as long as you take the first step, you are already halfway to success. The ancients said, "If you don't accumulate steps, you can't reach a thousand miles." When you look back on this journey after completion, you will definitely be moved a lot.

Finally: The complete software testing video learning tutorial below has been sorted out and uploaded. If you need it, you can get it for free [guaranteed 100% free]

insert image description here

Guess you like

Origin blog.csdn.net/weixin_54696666/article/details/132591616