At the age of 27, I was ruthlessly fired from software testing for 5 years

Finding a job is as difficult as finding a partner these days, ahem, there are no job targets, double blow 5555. 

Regarding this year's job market, many people said that it was particularly bleak. In the past, a large number of companies contacted them once they submitted their resumes. This year, they sent out a lot of resumes by themselves, but they may not be able to read all of them, or there are only a few interview invitations. Looking for a job for 2 months is really nerve-wracking~

Is this the situation you encountered when you were looking for a job?

But when you look at the boss or the job search website, there are actually so many jobs, I am really puzzled. what happened

Automated testing learning tutorial address: [Software testing] 36k entry ByteDance, 12k salary increase, 2023B station has the highest salary increase and the most effective self-study practical course on Python automated testing development. After learning the annual salary of 50W is not a dream! Performance testing, interface automation_哔哩哔哩_bilibili icon-default.png?t=N2N8https://www.bilibili.com/video/BV1B8411T7zB/?spm_id_from=333.999.0.0

1. The threshold has become higher, and individuals must continue to improve
1. The demand for testing technical talents is increasing

Large companies because of the problem of spin-off. There is no longer a unified testing technical support department, so each team after the split needs to form a corresponding functional team, and the demand for testing technicians will increase instead.

Small and medium-sized companies also demand quality assurance effects, not only better, but also faster, and also need a large number of technical talents. In recent years, it can also be seen from the job descriptions of various recruitment websites.

2. The disaster of outsourced testing

Companies that used to do outsourcing business in Europe, America, Japan, and South Korea will gradually decline due to the development of the domestic Internet, and they need to transform into domestic.

However, domestic outsourcing business is mostly rejected, and outsourcing business has many drawbacks in terms of efficiency, communication and management. It itself cannot bear the training and long-term development of test engineers. So in the past few years, there will be a large number of outsourced test engineers transforming.

In this regard, new and excellent outsourcing service companies are needed. Only if we have our own testing services, testing technology and senior testing research engineers

3. Test engineers who do not understand development have been eliminated

The first is that there is not much room for advancement at work. The second is that it is also difficult to change jobs. The best results are transfer management with years of experience.

I have communicated with many test managers in the industry. Most of the people who have worked for more than 6 years will burn out in test execution and cannot get started in the improvement of test technology. It is better to recruit interns.

Therefore, the structure of the future test team will basically be the management model of most business test engineers + a few test experts + test managers.

Second, as a software test engineer, what should we do?

After nearly 20 years of development in the domestic testing industry, the salary of the testing industry has been significantly improved, and the overall salary is concentrated between 8K-30K.

According to the data of Zhiyouji, in 2021, the number of software testers whose salary is between 8K-30K will account for more than 80%.

In addition, according to the average salary of the software testing industry over the years according to the statistics of Zhiyouji, everyone really feels that the money in this industry is unlimited~

If you want to enter this industry, you must be steady and steady. Any person in any industry, if he can't keep updating technology and lifelong learning, will face the risk of being eliminated by the times. The times are progressing, the world is progressing, and the constant update and iteration of knowledge is the real magic weapon for our survival.
 

As an automated
software tester, I would like to share my summary and summary of the technology over the years, and share my notes on the skills that an advanced tester needs to master. I hope it can help those who are interested. Friends who have gone all the way to black on the road of technology!

PS: How can I get it? It's very simple, click on the small card at the end of the article "or leave a message "test development" in the comment area

study advice

1. Generally speaking, when testing newcomers, you first need to lay a good foundation. You can test the theoretical foundation by reading some classic books or there are many free resources on the Internet. Choose the first two basic books, and you will benefit a lot.

2. At the beginning, it is not recommended to join too many technical groups or other forums to ask questions. If you encounter problems in the early stage, you can search and try to solve them yourself. Of course, you need to control a stop loss point, and don’t spend too long on a problem.

3. While learning the basics by yourself, you must take good notes, and you must do it after your own understanding. You can use mind maps to connect what you have learned before and after

4. After reading a book or a stage, you can take a self-assessment and consolidate or check for omissions by finding some classic written test questions or some istqb questions, and consolidate what you have learned in a targeted manner

5. Next, you can find some projects to do or go to the crowdtest platform to see some basic project testing processes, including the writing specifications of basic test documents, etc. The testin crowdtest platform is a good platform for training, at least test case design and execution And bug exploration and submission of defects are very good.

6. At present, there are many platforms that offer some free public courses. Through the technical discussion group, you can receive news push, set a good time to listen to some test methods in professional fields, and you can quickly understand the general process. (Be sure to go through strict screening and choose high-quality ones, otherwise a lot of time will be wasted):

The latest version of 2023 [entry-annual salary one million] the optimal learning roadmap for automated test development engineers 

Phase 1 Test Basics

The basics of testing are the most important part of software testing. As long as you are doing testing, no matter what kind of testing it is, you must learn the basics and theoretical knowledge of testing.
What is the best level of learning? It is best to be able to understand and retell it in your own words.
After all, during the initial test of the interview, the questions asked are all assessed from the basic theory.
What is the basis of the test?

The definition of test, the classification of test, the method of test, and the life cycle of test.
Writing of test plans, test scenarios, test strategies, and test cases.
The definition of BUG, ​​the classification of BUG, ​​the six elements of BUG, ​​and the life cycle of BUG.
The relationship between testing and development processes, waterfall flow, V-shaped, W-shaped (double V), spiral, agile, etc.
Analysis and management methods such as PDCA and 5W2H
Quality management system CMMI (understanding)
Well, it is probably the above content. All of the above are theoretical and document capabilities. As long as you are willing to memorize and write, you can master them independently.

Common testing tools in the second stage
Testing tools are always the right-hand man of software testers. You can’t completely rely on tools, but you can’t be without tools. In the process of learning software, you must focus on the use of intermediate software testing tools. The figure below covers elementary and intermediate levels. If you want to learn the testing tools that software testing engineers need, start learning.

In the software testing professional circle, there are thousands of tools, and it is impossible to use all of them. At least you must know which tools are available, when to use which tools, and what problems each tool can solve, and then apply several tools in depth. , Let me summarize it for you below.

test management tool

Zen Road: simple and easy to use, mainstream in the market, mostly in the Internet industry
Jira: simple and easy to use
QC/ALM: complex, charged, and used more in the telecom/financial industry
bugzilla: simple in function
svn: code and document management tool
git: but multi-branch management Better
interface testing tool than svn

Jmeter (open source)
postman
SoapUI
recommends using jmeter and postman.
performance testing tool

loadrunner: large and comprehensive, it is still a bit difficult to master, a heavyweight tool, past and present is the industry leader
jmeter: performance open source testing tool based on java platform, in fact, it is also very powerful, and it is relatively easy to use
Locust: one based on python Performance testing tools
White box testing tools

junit/testng: unit testing framework under java
unittest/pytest: unit testing framework under python
cppunit: cross-platform c++ unit testing framework
PhpUnit: unit testing framework under Php language
TestBed: a heavyweight white box testing software that can Carry out unit testing, integration testing, and static testing, commonly used in the military industry
Klockword: static testing tool, commonly used in the military industry
Continuous integration tools

Jenkins: A relatively common CI tool
Hudson
network testing tool

Based on the HTTP/HTTPs protocol, the network testing tools include:
wireshark
fiddler
charles
app automation tool

appium: This should be regarded as the most popular app-based automated testing framework
at
present
. Test, use Python language
Robotium: a foreign Android automated testing framework, usage comparison

The third stage of code learning
Well, after learning the above two parts, congratulations, you are already an excellent junior test engineer.
Next, you have to consider your development direction.
Should you become an automated test engineer? Or a performance test engineer? Or a security test engineer?
ah! This question is so difficult! I don't know how to choose.
Anyway, I know a little bit about everything, and I can meet for any position.
Regarding the choice of direction, see my article

Well, I believe you already have the answer in your heart, then let's continue to talk about it below.
At this stage, we should learn code. Regarding the choice of programming language, I recommend Java or python.
There is also a database that must be mastered! In the study of tools, I think you can already master the related applications of the database!
So now you can learn programming languages,
but you don't have to learn as deeply as development.
For example, Java, you only need to learn the JavaSE part is enough for you. The same is true for python, just learn the basics.
In short, you can choose one of the two to study in the early stage.
What? You ask me what I learned.
Of course I can do both,
hahahahahahaha, no surprise! Not surprisingly! 

Automation direction

When you have basically mastered the code, um, very good, the next step is to learn various automated tests.

Various single-ended testing frameworks: unittest (python), pytest (python), JUnit (java)
WEB automated testing framework: selenium (applicable to java\python\javascript)
APP automated testing framework: appium (applicable to java\python\javascript )
The above content, choose according to the language you learn.
Appiunm and selenium are selected according to the projects you participate in.
But it doesn't matter, anyway, sooner or later you have to learn.
There are too many tutorials in this part. After you have learned the basics of programming, just go to Baidu, and many blog forums have tutorials.
And depending on your level at that time, you can easily understand it.

performance direction

 

The mastery of loadrunner and jmeter is more in-depth.
You can write scripts by hand, off the record.
Learned multi-threaded programming, can write java or python by hand, and directly implement pressure testing without tools.
Learning linux, after all, performance always deals with servers.
Learn the relevant knowledge of the system architecture, so that you can analyze the bottleneck of the system more easily.
To be honest, the hint of performance direction is more difficult, because there are too many things to master.
The performance test has been done in depth, which is basically the level of the architect.
Maybe you are now looking at this performance-oriented learning with a look of confusion.
It doesn't matter, when you learn the programming language above, you won't be confused.

The fourth stage of architecture learning

After the first three stages of learning are completed, you should consider how to write code more reasonably.
How to test more comprehensively.
How can we better guarantee the quality of the project.
In my opinion, at this stage, you should go back and relearn the basics of testing.
Because the improvement at this stage is the improvement of thinking and methods.
All the above are teaching you how to do it.
At this stage you have to discover for yourself why you did what you did.
After crossing this stage, you can basically become an expert.
Learning is a matter of course. At this time, you should have mastered a lot of frameworks, and you can even develop suitable frameworks yourself.
Automated testing frameworks, performance testing frameworks, and more.
Already have a set of things of their own.
If you pretend to be aggressive in a group or on a forum, others will respectfully call you a big boss.
Maybe you have also learned some other technologies, and even stepped into the direction of the full stack.
In short, at this stage, there is no learning route.

 

Guess you like

Origin blog.csdn.net/2201_76100073/article/details/130131661