3 years of automated testing (mental journey), what have I experienced from a monthly salary of 10k to 30k?

insert image description here

foreword

In 2018, due to project reasons, I started to use the Robot Framework testing framework. Because of the foundation of Python, I quickly understood the working principle of the Robot Framework framework, and could develop system keywords according to the needs of the project. In 2019, as mobile apps became more and more popular, I started to learn the appium automation tool for a month during the gap between jobs, but I didn't continue to use it when I didn't use it at work. Later, I started to write web UI automation tests for another community project. After several months of work, I accumulated some experience and began to try to design a web automation framework. At that time, it was mainly for the encapsulation of Selenium API. In 2020, he entered the test management position, responsible for the testing work of the App team, and helped the team build App automation projects and test platforms. Realized the transformation of 10k~30k

The embarrassment of newcomers

If you happen to have just entered a new company, the leader will ask you to carry out automated testing as soon as you come up. As a fledgling tester, in addition to being at a loss, you can only silently lament your lack of ability, and there will only be one after another. question:

  •     As a manual test, how to create opportunities and an environment to solve the bottleneck of our own improvement? (So ​​panic! I thought I had reached the pinnacle of manual testing, but unexpectedly I panicked...)
  •     How to enter the ranks of automated testing talents in the shortest possible time? (I just thought about it, what if it comes true...)
  •     How to implement automated testing? (As soon as the leader spoke, he cried and cried and was afraid...)
  •     How to continue to improve and develop in the future? (Boss is not young anymore, can't accomplish nothing...

Faced with the above problems, how should we deal with them? How to solve it?

You might do something like this:

1. I bought several books on programming languages, so thick! Even if it’s hard to understand something, there are too many contents, how can I remember it?

2. After finally remembering some, I can write two or three programs. How to do automated testing?

3. It is finally possible to write some automated test scripts. What are the requirements of enterprises for automated test engineers? How can I meet the requirements of the interview?

4. What is the follow-up development of the automated testing position? Can it be kept fresh for a long time?  …

Let me share my automated testing experience and development direction, which may help you solve many confusions in your work.

1. Automated testing learning route

Regarding automated testing, it can be divided into two main types according to language: one is automation based on Python, and the other is automation based on Java. The specific language to use can be determined according to your actual situation. In the final analysis, it is all for solving problem exists.

1. Salary for automated testing

Let me talk about it first, everyone is most concerned about the salary of the test

Phase 1: Manual Test Engineer

Annual salary 8-10W

Main skills: test analysis + use case design + test execution

The second stage: automation test engineer

Annual salary 15-25W

Main skills: test script development ability

The third stage: full-stack automation test engineer

Annual salary 30-50W

Key Skills: All types of required automation testing techniques

Phase 4: Test Development Engineer

 ↓

Annual salary 50-80W

Main skills: requirements, design and development capabilities of test frameworks and test tools

2. Learning steps of automated testing

1. Do a good job of manual testing (familiar with the basics of testing)

2. Learn programming language (Python/Java)

3. Learn Web basics

4. Learn automated testing tools

5. Learn automated testing framework

6. Implement automated test cases

7. Develop automated testing tools

8. Develop an automated testing framework

2. How to start automated testing?

1. Test direction: recommend Web automation

Regarding the question of "where to start automated testing", I recommend learning from Web UI automation. The main reason is that web UI automation is easy to get started and easy to understand.

2. Test tool: recommend selenium

After choosing the direction of automated testing, the next step is to choose testing tools. The main reason for recommending Selenium here is that it is open source and used by many people.

Selenium simulates human-controlled browsers for automated operations through web drivers, mainly for testing automated web applications.

In fact, automation is the computer simulating human operations. Let the computer do what people do. The focus is on how to position page elements? How to operate on elements?

3. Scripting language: Python is recommended

After selecting the test tool, the next step is to choose a suitable scripting language.

It is recommended to choose Python here, the reason: the learning difficulty is small, and the development cycle is short. For most testers in China at present, they have insufficient coding experience, and python is a good entry-level language. Glue language, can be integrated with C++, Java, COM, and .NET,Object-C.

The testing department needs to do unit testing and interface testing. Due to the ratio of personnel, it is impossible for testers to master multiple languages ​​at the same time. Python can implement unit testing after interface packaging of C/C++, Java, and Object-C. The syntax is simple and clear, reducing the difficulty of later maintenance.

Of course, if you have a Java foundation, you can also choose Java.

4. Core technology points of automation

After determining the direction of Python+Selenium, the next step is actual combat.

Automation generally requires four steps: get elements, operate elements, get returned results, assert (whether the returned results are consistent with the expected results), and finally automatically generate a test report.

Selenium provides 8 methods for element positioning: id, name, class name, link text, xpath, css selector, tag name, partial link tex

3. Summarize the learning method of Python automation system

1. Basics of Python

Learn the fundamentals of automated test development in depth. This part mainly includes basic python syntax, data types, data structures, and object-oriented python programming;

This part is not a big problem for people with good learning ability, because it is a single technical point, following some ready-made resources on the Internet, plus your own daily code drills, learning should not be a big problem;

Of course, if you want to deeply understand the principles and mechanisms of core technical points, you need to consult python official documents and technical sites, or even view python source code, which requires the ability to learn deeply;

But many beginners have a headache when they see the algorithm. In fact, for test development positions, the general automated testing tools do not have high performance requirements. Follow up with several large projects to practice, master programming skills, and realize business logic.

2. Familiar with common Python libraries

One of the advantages of Python is that it has a very rich library of its own and third-party libraries, which is one of the reasons for the rapid development of Python. So to implement business logic, you need to master built-in modules or third-party modules.

3. Master the automated testing framework and common libraries

Example:

Interface testing - Requests, Postman

Performance Testing - Locust

APP automation testing - Appium, UIAutomator

Web automation testing - Selenium

Database connection and operation - pymysql library

4. Master the design ideas of automated testing tools

Learn the design patterns of UnitTest, pytest, and Page Object, learn Jenkins, realize continuous integration, rapid testing, and iteration.

5. Practice is the sole criterion for testing truth

Find a teacher or friend who understands Python automated testing, find your own learning route from their planning and practice, and ask them more, it will definitely get twice the result with half the effort. My learning exchange group welcomes everyone to discuss and exchange together, and there are also various software testing materials and technical exchanges

4. Learn and communicate with test masters

If you want to get better opportunities for salary increase and promotion, you must first do things down-to-earth, earnestly and efficiently, regardless of whether the boss is staring at you, remember that this is "working for yourself!" It is definitely not working for the boss, only yourself Only when your ability has improved and you have created real value for the company will you have more and better opportunities to welcome you!

END meager strength

Finally, I would like to thank everyone who has read my article carefully. Seeing the fans’ growth and attention all the way, there is always a need for reciprocity. 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 friends who want to advance [automated testing]. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey, and I hope it can help you too!

Software testing interview applet

The software test question bank maxed out by millions of people! ! ! Who is who knows! ! ! The most comprehensive quiz mini program on the whole network, you can use your mobile phone to do the quizzes, on the subway or on the bus, roll it up!

The following interview question sections are covered:

1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux

6. web, app, interface automation, 7. performance testing, 8. programming basics, 9. hr interview questions, 10. open test questions, 11. security testing, 12. computer basics

method of obtaining:


 

Guess you like

Origin blog.csdn.net/m0_58026506/article/details/130305246