After 5 years of testing, from pure manual testing to test development, how did I land on the Byte 25K testing post?

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

I have been in the testing industry for 5 years. I used to hear developers say to me, is it interesting to do a little bit every day?

At the beginning of my career, like most testers, I first came into contact with pure functional interface testing. The first testing job was to do functional testing in an e-commerce company . After a few years, I found that I was just a functional test engineer . I watched the people around me go further and further on the road of technology, and I only knew how to do functional testing. Anxiety also arose spontaneously. This job My overall feeling is that I have written a lot of test cases, and my ability to write test cases has become more proficient, but my testing skills have not improved much. The work that really requires technology has no chance because of insufficient technical ability. I doubt myself a few times. Is your career planning direction correct, should you leave? This pressure also caused a voice in my heart: Do you want to resign?

I had to start thinking about how to change the status quo. At that time, the simplest idea was to squeeze out time to learn various testing techniques, and then I needed to master some common testing tools to assist testing and improve my own value, that is, core competitiveness. When looking for resources, I accidentally realized that development knowledge is helpful for testing work, and the ability of programming language will determine the depth of your testing technology. Of course, it can also bring high income .

So I started to learn python. At that time, the scripting language became 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 were not many Selenium versions for Python, and I started blogging about them while learning. And I think python is especially suitable for automation and test engineers with weak programming foundation. Python can also be used for crawlers, and some timing scripts and database scripts can be written with python, which is very efficient.

With this ambition, I first spent half a year learning UI automation, and there is a lot to learn. All the knowledge in the learning process is scattered, and it is really not easy for a novice to combine it. With UI automation learning experience, learning interface automation basically does not take much effort.

After UI automation and interface automation, I learned performance because of work needs. Later, I found that performance is really a bottomless pit, and I need to understand development knowledge, server architecture, operating system, test monitoring tools, container knowledge, etc. The knowledge is too broad, and I am still struggling. In the process of performance testing, I also learned some development knowledge. When doing UI/interface automation or functional testing before, I could only judge the cause of the bug from the black box/gray box level. After learning the development knowledge, I probably know that the bug is How did it come about.

At that time, due to the company's size and product limitations, automated testing was never applied to the company's actual combat projects. I think there are more opportunities for big companies outside. Now automation is popular and more and more popular. I want to break through the bottleneck of my testing technology and do automation full-time. By chance, my friend recommended me to go to Tencent to do test development and be in charge of the development company. Customized test 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 post, 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., which has improved my own testing career. There has also been a big breakthrough in salary! (Suddenly found that I still dabble in quite a lot). Whatever you set your mind to can be done!

Don't say that the testing industry has no future if you haven't worked hard. As a person 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 right age, choose the right position, and give full play to your advantages!

Automated Testing Study Advice

1. Variety of 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, not to say that it is unnecessary. Because the websites used in the course are all "carefully selected" by the teacher, mainly for a certain knowledge point of a certain module, the function used as an example is also the simplest, the main purpose is to let students understand the current knowledge point.

But in the process of practical application, it will definitely be more complicated than this. Therefore, it is recommended that after completing the exercises according to the examples in the video, take more commonly used websites or websites that are being used at work to do more exercises, so that we often acquire some knowledge that is not in the course.

It doesn't matter at first, even if you copy the existing script, you have to practice, because only practice makes perfect.

2. Learning with an open mind and not being self-righteous

Because I had a code foundation before, I skipped all code-related courses during the first learning process, which led to a gap in knowledge. During the second learning process, I read the course from beginning to end and performed practical operations, only to find that the content I skipped before hides some knowledge points that I did not know before.

3. From beginning to end

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

After the second study, I found that writing scripts by recording is very low, very limited, and cannot meet all needs. Later, using WebDriver and UnitTest is really advanced, solving problems that cannot be solved by script recording.

4. Apply to daily work

After we have finished learning automation, we should not just finish learning, but actively apply it to our daily work. If we leave it unused, the knowledge we have learned will be gradually 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 do it?

This is the process of my self-study automation. I have taken a lot of detours, and there is no professional guidance. I can only explore by myself. I hope that the mistakes I made can be a warning to everyone.

5. Fully understand and choose the entry point

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

  • Auxiliary test script direction: use 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 automated testing direction: Robotium+Java+TestNG+Jenkins,  
  • Appium+Java+TestNG+Jenkins, Appium+Python+HtmlTestRunner are the main ones.

Of course, what is introduced here is simple and the most basic implementation plan, which is more suitable as an introductory study. Other various secondary development frameworks and solutions with many functions are left 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 pages and apps.

[Automated testing learning route]

1. Essential Python programming content for automated testing

2. Basic content of Web UI automated testing

3. Web UI automated testing content

4. Basic content of APP UI automation testing

5. Practical content of APP UI automation testing

6. Basic content of API interface automated testing

7. Practical content of API interface automated testing 

8. CI/CD continuous integration special technology

9. Practical technology of automated testing framework

Make reasonable use of every minute and every second of your time to learn and improve yourself, and stop using "no time" to cover up your laziness in thought! While you are young, work hard and give an explanation to your future self!

Finally, I would like to thank everyone who has read my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, you can take it away if you need it:

These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey, and I hope it can help you! Partners can click the small card below to receive 

Guess you like

Origin blog.csdn.net/kk_lzvvkpj/article/details/130139946