The veteran summarizes the career development path of software testing engineers, from entry to big companies...


Preface

1. Development path of test engineer

From the perspective of two different development paths:

Management Route: Test Engineer? Intermediate test engineer? Test supervisor
Technical route: Software test engineer? Intermediate test engineer? Senior test engineer? Testing expert? Test Director

Each stage of software testing has different technologies and experiences that need to be mastered. Let’s first divide them according to salary range (monthly salary)

7-10K: Getting started with zero basics, learning functional testing can help you find a job
15-25K: Testing can handle performance testing and automated testing in functions
25K+: Complete test and development, work in a first-tier manufacturer

The focus of each stage is also different. The stages from entry to job hunting are definitely based on being able to find a job. Performance and automated testing require industry experience based on technology. To enter a large first-tier factory, you need to have strong technical skills and management capabilities;

2. Entry stage

If you are about to change careers or are a recent graduate who want to enter the testing industry.

Then what is necessary to master is basic theoretical knowledge:
The definition, life cycle, workflow, and requirements analysis of software testing;
Test cases Design, writing, and review;
Basic knowledge of bugs and the use of ZenTao;
Writing of test plans and test reports;
Use of SVN and Git version control tools;

After acquiring the theoretical knowledge related to the above content, you still need to find a project to test:

Publish the project for project approval and establish a project team for division of labor;
Requirements review, learn how to read requirements documents, conduct requirements analysis, and list test points;
Organize test points, write test cases, and then conduct use case reviews;
Execute tests, such as functions, interfaces, front and backends, compatibility, and databases, and submit discovered bugs to ZenTao; a>
Analyze, summarize, and write test reports;

After going through this process completely, you can only master the basic testing process, but it is not enough to find a job. You still need to learn:

Linux, database, interface testing, APP testing, etc.;

You can start writing and subtracting the above content, and then find a job related to testing. Why is it that everyone masters these contents but everyone’s salary is different? This is also divided into cities/companies/education levels.

3. Performance and automated testing

Concept and process of performance testing: analysis of common problems, popular tools, solution design

Performance testing tools: usage and practice of jmeter tool; jmeter multi-protocol, expansion and customization; distributed stress testing and task scheduling;

Performance monitoring: performance monitoring system and monitoring data collection

Performance implementation: distributed service stress testing, scenario design, scenario execution; correlation analysis of test results, correlation analysis of TPS, response time, threads, correlation analysis of pressure and resource usage

Performance analysis and reporting: jvm debugging and system debugging; performance bottleneck analysis

4. Test development impacts major manufacturers

After performance and automation are understood, the two possible development paths are technical experts or management positions. But both positions require continued technical refinement.

Improve the testing technology system: Linux, docker, shell, SQL, Python/java
Lay a solid foundation for automated testing technology:

Web automated testing: selenium test framework; PageObject design patterns, principles, drills;
APP automated testing: Android automated testing framework; analysis of appium advanced application principles; APP automated testing practice ; Test framework encapsulation and transformation; ios automated testing;

Mobile special testing: robustness testing, weak network testing, crash detection, power consumption analysis, etc.; mobile terminal performance testing; mobile terminal security testing;

Interface automated testing: interface protocol and packet capture, proxy technology and mock; interface automated testing framework, HTTPrunner testing framework; dubbo interface automated testing; interface management tool swagger, interface security testing

Docker container technology: docker container, docker image;
Continuous integration/continuous delivery/devops: Jenkins continuous integration; Jenkins continuous delivery;

5. Core competitiveness

In fact, after we get to know the recruitment software clearly, the first thing we need to master is the programming language. Positions with slightly higher salaries require you to learn the basics of language. If possible, it is recommended to master both.

The second is automation capabilities. UI automation, interface automation, continuous integration and continuous delivery are the core capabilities.

Further promotion is continuous delivery, Devops, white box capabilities, test monitoring capabilities, and development in architecture.

6. Business analysis ability

Understand the business process: If you don’t understand it, you can’t test it at all.

Analyze the business data being measured: Only by understanding the source and prediction of the data can you understand the database architecture of the software

System architecture: what language is developed, what server is used, etc.
Analysis of business modules: such as homepage, registration page...

Resources required for analysis and testing: How many computers, how many mobile phones are needed, what system and model are the mobile phones?
Analysis and test completion goals: How much concurrency can be achieved, and the CPU occupancy rate cannot be high To how much? How much memory usage cannot be exceeded?

The following is the most comprehensive software testing engineer learning knowledge architecture system diagram in 2023 that I compiled.

1. Python programming from entry to proficiency

Please add image description

2. Practical implementation of interface automation projects

Please add image description

3. Web automation project actual combat

Please add image description

4. Practical implementation of App automation project

Please add image description

5. Resumes of first-tier manufacturers

Please add image description

6. Test and develop DevOps system

Please add image description

7. Commonly used automated testing tools

Please add image description

8. JMeter performance test

Please add image description

9. Summary (little surprise at the end)

Every failure paves the way for the next success. Only after experiencing countless failures can we achieve the final success. So, don’t be afraid of failure and be brave enough to face challenges.

The true meaning of life does not lie in how much wealth and status you have, but in whether you have made some contributions to the world and made the world a better place because of your existence.

Although one person's power is small, if everyone tries their best, the world will change. Let us work together to build a better tomorrow!

Guess you like

Origin blog.csdn.net/m0_70102063/article/details/134576340