Monthly salary of 10k for 2 years, annual salary of self-study automation exceeds 30W

I was born in a rural family, and the economy is not rich. I travel alone in a big city, and I always feel inferior. During that time, my father was in poor health, and the family called me and said that it would cost a lot of money, so I quit the functional test with a monthly salary of 7k, went to an electronics factory, and worked overtime every day to get a monthly salary of about 10k.

Later, the father's health improved. I quit the factory and returned to the company to continue to "dot and dot" for two years.

In that small company, I can be said to be a backbone. In the past few years, the company has been developing steadily, and my workload is also increasing. Not only my own work, but also newcomers, but my salary has not increased. How much, only about 10.5k.

Later, I also implicitly mentioned my financial pressure to the boss, hinting at the salary increase, but the boss kept avoiding this issue, so I decided to change jobs. But I lack skills, and I am afraid that I will not find a new job after changing jobs, and now I will lose my job... Sometimes I will not work hard before. Only when the pressure comes, I am forced to work hard, but people are under pressure. The burst potential is also immeasurable. It took me three months to get started with automated testing. I have browsed all platforms such as station b, csdn, Zhihu, and Jianshu. I searched for automated testing learning routes and learning materials everywhere, and finally spent a little money to buy a The set of courses was advanced and I successfully switched jobs. In addition to my experience, I got 15k, but today I plan to send all my learning routes and learning materials to everyone!

The above is my personal experience sharing.

Today, I will share with you the learning route of automated testing, hoping to help beginners.

1. To do automated testing, you must know a language:

The first step: learn python first ------- python is not enough, don't talk about automation.

If you only learn Robot Framwork and do automation through this, don’t think that you don’t need to learn Selenium and python, because the keywords in Robot Framework may not be enough to meet your needs, then we need to customize keywords, which is necessary at this time You have to write it yourself through python+selenium.

Python automated learning route

Second, master some front-end knowledge:

As an automated test siege lion, we always need to do a lot of element positioning, so for element positioning, we urgently need to learn some basic knowledge of the front end.

Pre-basic knowledge

Third, the study of the database:

Database is something that every practitioner in this industry should learn. Whether it is front-end, back-end, or testing, project managers, product managers, and operation and maintenance personnel need to be very familiar with database-related operations. As a tester, you should be more familiar with databases Add, delete, modify, check and other commands.

Linux and databases

Fourth, the next step is to learn the content of automated testing

Automated composition:  automated testing is widely used in the current market, and the mainstream includes interface automated testing and UI automated testing. On this basis, coupled with continuous integration , fully automated testing can be achieved.

Next, I will give you a detailed introduction to automation according to the four main components of automation:

1. Interface automated testing
2. UI automation testing
3. App automated testing
4. Continuous integration

1. Interface automated testing

At present, most of the projects on the market are projects with front and rear ends separated, resulting in a large number of interfaces. The interface automation test is mainly to test the interface. So, how should we conduct interface automation testing? These knowledge points and tools here must be mastered.

1.1. HTTP and HTTPS protocols  In the interface test of the main process, a large number of interfaces are implemented based on the HTTP protocol, and data security is guaranteed by the HTTPS protocol, so the HTTP and HTTPS protocols must be mastered.

1.2. Interface documents  In actual work, the information carrier of the interface is not only the code, but also the interface document (provided by the developer). Understanding the structure, content and specifications of the interface document can help us deeply participate in interface testing and interface automation testing.

1.3. Interface testing tools Jmeter and Postman  meter are interface testing tools that have emerged in recent years. Its biggest feature is that it is free and open source, and easy to learn. Jmeter official website: https://jmeter.apache.org/index.html

The Postman tool is also very powerful. In actual project applications, almost every development will use Postman to debug interface requests. 

Postman main interface

Official website document

1.4. Mock test  In automated testing, not all functions are suitable for automated testing. For some difficult test points, we have to use Mock technology to simulate.

  • Mock of password in login and registration interface
  • Mock payment environment
  • Mock payment password
  • Mock verification code (picture verification code, slider verification code, face recognition, SMS verification code, etc.)

1.5. Summary  After mastering these knowledge points, you can fully grasp and apply the interface automation test of the HTTP protocol; you can even conduct small-scale interface performance tests.

2. UI automation testing

The cost of UI automation testing is higher than that of interface testing. The main reason is not that the technical implementation is difficult, but because the UI is the terminal interface for docking users. It is the most frequently adjusted and most drastically changed part, so the maintenance cost is high. So don't we need to do UI automation testing? On the contrary, for some large-scale projects, its functions are constantly iterative. Although the interface is being adjusted, due to the long project cycle, during the development and testing process, it is necessary to frequently use automated testing scripts for regression testing, which can improve automated testing. Utilization rate, improve work efficiency and reduce work cost. Moreover, in UI automation testing, there is a key idea called "keyword-driven" testing, which is specially used to solve the problems of UI automation test script development and maintenance. So how to learn UI automation testing?  Here, we can learn Web automation testing first, and then learn App automation testing.

2.1, Web automated testing

Selenium tools and Robot framework are recommended here. Reasons for recommendation: Selenium and Robot framework are the top ten automated testing tools in the world (without distinction between UI automation and interface automation). As shown in the following figure, the most popular automated testing tools in 2019: (Selenium tops the list )

2.2. Selenium  Selenium is mainly for Web automation testing. At the same time, in the mobile APP automation testing, some testing frameworks are also implemented based on Selenium. If you want to automate web testing, learning selenium is the best choice. advantage

  • Cross-platform, cross-language
  • Support multiple browsers
  • Support mobile testing
  • Many plug-ins, strong scalability

shortcoming

  • Cannot generate test report directly
  • Can't recognize moving pictures

After mastering Selenium, then master the mainstream Web automation testing. Ways to learn Selenium

  • First master manual functional testing and understand the functional business of testing
  • Then learn the three major knowledge of HTML, CSS, and JS
  • The third learning Selenium testing framework
  • Finally, learn the idea of ​​PO layered management

Mastering these knowledge points will definitely require you to spend more time and energy. For these learning materials and learning tutorials, you can go to the group files of our communication group to get them directly. There are also many recorded video tutorials. The explanations of the boss are very detailed. Can help you quickly understand and master.

2.3. Robot framework  Robot Framework is a functional automation testing tool written in python language. It has good scalability, supports keyword-driven, supports simultaneous testing of multiple types of clients or interfaces, and can also perform distributed testing. advantage

  • Keyword Driven Testing
  • can be reused
  • Easy to expand
  • Support HTML test report
  • There is a huge test library to provide support (support web, mobile phone, windows client, database, HTTP test, etc.)

shortcoming

  • Common problem of interface operation: when the use case is huge, it will be very stuck
  • There are some bugs, for example, it will freeze when importing the test library

Learned the use of Robot Framework, then mastered the keyword-driven technology. Keyword-driven  method of learning Robotframework  2.4 Summary  If both Selenium and Robot framekwork can be mastered, then whether it is mainstream Web automation testing or other UI automation testing, they can have their own experience and occupy a market share A seat.

3. App automated testing

3.1 Which tool should I choose?  Let's first look at a set of data (mainstream):

Supported function data (obtained by TesterHome)

From the above two figures, it can be found that Appium is stronger than other tools in terms of market utilization and functions. Moreover, Appium supports not only Android but also iOS, so here, we should choose to learn Appium to best meet the needs of the market.

3.2 , Appium learning method  official website: http://appium.io/

Chinese learning manual:: https://www.kancloud.cn/testerhome/appium_docs_cn/2001595

4. Continuous integration

4.1. What is continuous integration?  Let's imagine a scenario. Now a test engineer has written all the automation scripts, but this boss still needs to go to work every day and click "Start" to run the scripts, and when the development submits a new version, the automation scripts also need to be re-run. So can this automated script be run automatically, and executed automatically after each release of the development? Of course you can, this is continuous integration. To learn continuous integration, we recommend jenkins first . 4. 2. What is the continuous integration tool Jenkins?  The Jenkins tool is an open source tool written in JAVA. It is very good in terms of scalability and practicability. Many small and medium-sized companies use Jenkins for continuous integration, and some large companies also conduct secondary development on the basis of Jenkins.

4.3. How to learn Jenkins

  • Understand the concepts of CI and CD  CI: continuous integration (integrate the code written by multiple developers in the code warehouse, automatically perform unit testing, and return the results) CD: continuous delivery (automatically build, deploy, and test the integrated code , publish, and return the results of each stage)
  • To implement these processes, we need to split learning
  • integration code
  • unit test
  • build code
  • deploy code
  • test code
  • release code
  • Send test results
  • Integrate these processes using Jenkins

In order to learn continuous integration well, it is not enough to rely on Jenkins alone. We even need to go deep into architecture design, development, testing, and operation and maintenance to proceed well.

V. Summary

In fact, automated testing is a very broad technology. If you want to be proficient in other industries, you need at least 5 years of study to be proficient, proficient to a certain level, and even becoming a technical director is not impossible. For testing, the work of testing is actually relatively easy, and the technical difficulty is not particularly high. Therefore, during the testing period, everyone must continue to learn and integrate continuously in order to make progress and realize their own value.

Finally, in order to facilitate self-study software testing, I specially prepared a 13G super-practical dry goods learning resource for you, and the content involved is very comprehensive.  Including software learning roadmap, more than 50 days of class videos, 16 surprise actual combat projects, more than 80 software testing software, 37 testing documents, 70 software testing-related questions, 40 testing experience-level articles, and thousands of tests Real question sharing, as well as the 2023 software testing interview collection, as well as various selected resumes for software testing job hunting, I hope it will be helpful to everyone...

Guess you like

Origin blog.csdn.net/weixin_47648853/article/details/131212049