After five years of automated testing, I finally entered ByteDance, and an annual salary of 300,000 is actually not out of reach.

Some random thoughts

Doing everything is actually the same as doing nothing. Getting out of the comfort zone of "working blindly" is the best way to avoid detours. I hope my experience can help friends in need.

I have been working in the testing industry for 5 years. I often heard developers say to me, is the little bit every day interesting?

I started my career like most testers. I started with pure functional interface testing. My first testing job was to do functional testing in an e-commerce company. I was busy at work, learning and reviewing various business needs every day. After a few years, I found that I was still just a functional testing engineer. I watched everyone around me go further and further down the road of technology, but I only knew functional testing, and I felt anxious. This job My overall feeling is that after writing a lot of test cases, I have become more proficient in writing test cases, but my testing skills have not improved much. I have no opportunities for jobs that really require technology because of insufficient technical skills. I have doubted myself several times. Is your career planning direction correct? Should you leave? This pressure also caused a voice in my heart: Should I resign?

I had no choice but to start thinking about how to change the status quo. The simplest idea at the time was to find time to learn various testing technologies, and then master some common testing tools to assist testing and improve my own value, which is my core competitiveness. When looking for resources, I accidentally realized that development knowledge can help in testing work. The ability of programming languages ​​​​will determine the depth of your testing technology. Of course, it can also bring a high level of income.

So I started to learn python. At that time, scripting languages ​​began to become popular. Because of the project at that time, I started to use Python and Selenium to try to do automated testing. At that time, there was not much about the Python version of Selenium, so I started publishing related blogs while studying. And I think Python is particularly suitable for automation and test engineers with weak programming foundation. Python can also be used for crawlers. You can also use Python to write some timing scripts and database scripts, which are very efficient.

With this ambition in mind, I first spent half a year learning UI automation. There was a lot to learn. All the knowledge in the learning process is scattered, and it is really not easy for a novice to put it together. With UI automation learning experience, learning interface automation takes little effort.

UI automation and interface automation were finished. I started to learn performance because of my work needs. Later I found that performance is really a bottomless pit. I need to understand development knowledge, server architecture, operating system, test monitoring tools, container knowledge, etc. My knowledge is too broad and I am still struggling. During the performance testing process, I also learned some development knowledge. In the past, when doing UI/interface automation or functional testing, I could only judge the cause of the bug from the black box/grey box level. After learning the development knowledge, I probably knew that the bug was How it came about.

At that time, due to the company's scale and product limitations, automated testing had never been applied to the company's actual projects. I think there are more opportunities for big companies outside. Now that automation has become popular and more and more popular, I want to break through the bottleneck of my own testing technology and do automation full-time. By chance, a friend recommended me to go to Byte to do test development and be responsible for development. The company's customized testing quality platform.

This is another challenge for me. In a new field, test development is very popular in first-tier cities. At that time, the salary was higher than that of junior and intermediate development engineers.

After arriving at the job, I have to withstand the pressure, constantly learn test development skills, and apply what I have learned. The technical architecture adopts front-end and back-end sharing, including Python's back-end development framework Flask, front-end framework vue, elementUI components, etc. This can be regarded as an improvement for my own testing career. There has also been a big breakthrough in terms of salary! (Suddenly I realized that I still have a wide range of interests). Whatever you decide to do will definitely come true!

Don’t say that the testing industry has no future if you haven’t worked hard. As someone who has experienced it, I have a deep understanding of the difficulties in the learning process.

If you are also developing in the direction of automated test development, at the appropriate age, choose the appropriate position and give full play to your advantages!

Automated testing learning suggestions

1. Diversified exercises

Completely follow the operation method in the video, use the website in the video, and write the code step by step. The effect is not great, but it does not mean that it is not necessary. Because the websites used in the course are "carefully selected" by the teacher, they are mainly for a certain knowledge point of a certain module, and the function used to make examples is also the simplest. The main purpose is to allow students to understand the current knowledge. point.

But it will definitely be more complicated than this in actual application. Therefore, it is recommended that after practicing according to the examples in the video, you should take more commonly used websites or websites you are using at work and practice more. In this way, we will often acquire some knowledge that is not in the course.

It doesn't matter if it doesn't work at first. Even if you copy the existing script, you still need to practice, because only practice can make you perfect.

2. Learn with an open mind and don’t be self-righteous.

Because I had a basic knowledge of coding before, I skipped all code-related courses during my first learning process, which resulted in a gap in knowledge. During the second learning process, I read the course from beginning to end and performed practical operations. Only then did I realize that the content I had skipped hidden some knowledge points that I had not known before.

3. Beginning and end

When I was learning for the first time, I stopped learning after learning script recording and did not continue to learn the subsequent content.

After the second study, I found that writing scripts in the recording way is very low, very limited, and cannot meet all needs. Later, using WebDriver and UnitTest was truly advanced, which solved the problems that script recording could not solve.

4. Apply it to daily work

After we learn about automation, we should not just finish it, but actively apply it to our daily work. If we leave it alone, the knowledge we have learned will be slowly forgotten after a period of time. After applying it to work, not only can the technology be continuously practiced, optimized, and upgraded, but also work efficiency can be improved. Why not?

This is my self-study of automation. I have taken many detours and without the guidance of a dedicated person, so I can only explore on my own. I hope that the mistakes I have made can teach others a lesson.

5. Comprehensively understand and choose the entry point

At present, the directions of automated testing are roughly as follows:

Auxiliary test script direction: mainly using Shell and Python to simplify repetitive work, filter logs, etc.;

Interface automation testing direction: Python+Unittest+HtmlTestRuner+Jenkins and Java+Httpclient+TestNG+Jenkins. Of course, there are many other secondary development frameworks or tools, but the core is the same;

The direction of page automation mainly includes Python+Webdrver+HtmlTestRunner+Jenkins, Java+Webdriver+TestNG+Jenkins, and other frameworks and tools;

App automation testing direction: Robotium+Java+TestNG+Jenkins,

Appium+Java+TestNG+Jenkins, Appium+Python+HtmlTestRunner are the main ones.

Of course, what is introduced here are simple and the most basic implementation solutions, which are more suitable for introductory learning. There are various other secondary development frameworks and solutions containing many functions for you to improve in the future. Start by understanding these aspects and choose a language system. It is recommended to start with interface automation and then learn about the page and app.

Automated testing learning roadmap

If you want to develop into performance testing during the automation test engineer stage, the requirements will be more. In fact, performance is also a kind of automation. So first you must also master a programming language, the second language script, the third indicator, and the fourth tuning.

Above ~ Finally, I would like to thank everyone who has read my article carefully. Looking at the increase in fans and attention, there is always some courtesy. Although it is not a very valuable thing, if you can use it, you can just take it away.

These materials should be the most comprehensive and complete preparation warehouse for friends who do software testing. This warehouse has also accompanied me through the most difficult journey. I hope it can also help you! Everything must be done early, especially in the technical industry, where technical skills must be improved. I hope to be helpful…….

I wish everyone can get the exciting offer~~

Guess you like

Origin blog.csdn.net/a448335587/article/details/134756312