After 4 months of self-study software testing, I entered Alibaba. How to switch from functional testing to automation... What have I experienced?

On major recruitment websites, test engineers with a monthly salary of more than 10,000 yuan basically have one essential skill, which is automated testing. So is automated testing difficult? I will tell you about my experience below. I hope that after listening, everyone will have their own judgment.

1. Who am I?

Unconsciously, I have been in the software testing industry for 8 years. I have worked in both start-up companies and listed companies. I have done functional testing, automated testing and performance testing. I have been a new tester and also a test team leader. If I were to name the most valuable experience from these five years, I think it should be knowledge systemization. So what is knowledge systemization? Everyone is different. Let’s briefly talk about my knowledge systemization.

2. My growth path

Functional testing——>UI automation

Thinking back to when I first entered the industry, I couldn’t even do functional testing. So I spent a lot of time on the design of functional test cases, and as the project progressed, there were more and more. Use case design has also become easy to do. In my heart, I am not satisfied with just doing functional testing, and I feel that automated testing is very powerful.

Later I learned the basics of coding. But there is a problem. After learning the basics of coding, I still don’t know how to do automated testing, because at that time I still couldn’t tell what kinds of automation there were ? As the study deepens, I know that the common automation in software testing is mainly divided into two types, one is UI automation and the other is interface automation.

So which one should you learn first? At that time, I felt that UI automation was a bit unclear, because it could replace manual clicks, which was very cool. Later, I spent half a year learning UI automation. At this point, some people may ask, does it take so long to learn UI automation? For me at the time, yes. Although I majored in computer science, I have basically forgotten most of what I learned in college. Let’s first look at what we need to learn about UI automation (taking selenium as an example). Let’s briefly list it with a mind map:

Of course, what you need to learn about UI automation is much more than the above, these things are relatively core. All knowledge in the learning process is scattered, but it is difficult for a novice to put it together. Later, I had the opportunity to join a new company that needed to use UI automation. Then I went to GitHub to find excellent code and read some blogs, and finally realized the first automation project. That feeling is great, but a great person said that it’s nothing, isn’t it just a button wizard (covering face and crying)

UI automation——>Interface automation

Of course, I was also led on the road of interface automation by this great master. With UI automation learning experience, learning interface automation basically takes no effort. If I were to say what are the advantages and disadvantages of UI automation and interface automation, it is difficult to compare. The purpose is for software quality. But if I were given a choice, I would choose interface automation, because interfaces are generally not easy to change, and UI interfaces change frequently, so the maintenance cost of interface automation is relatively low. This is why I recorded "Python Django Interface for Test Development
" Automated testing framework in practice" reasons.

Interface automation——>Performance testing

UI automation and interface automation are finished, what should you learn? I went to study performance again. Why did I study performance? It was entirely because of work needs. Later I found that performance is really a bottomless pit. It requires understanding of development knowledge, server architecture, operating system, test monitoring tools, container knowledge, etc. My knowledge is too broad and I am still struggling. Of course, 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 the bug. How it came about. This can be regarded as an improvement for my own testing career.

Having said that, in fact, the common knowledge system of our software testers is the following:

Insert image description here

3. How would I explain interface automation testing?

Let's take a look at the contents of "Test Development: Python Django Interface Automated Testing Framework Practice":

Insert image description here

Chapter 1 explains the installation of python, python IDE and local database environment.

Chapter 2 explains the basics of Django, giving everyone a quick understanding of Django.

Chapter 3 explains the http protocol, cookies and sessions, and then develops a blog system based on the previous knowledge and teaches you how to write interface test documents.

Chapter 4 explains the requests library under Python, which is an essential skill for interface automation.

Chapter 5 explains the unittest unit testing framework, how to use parameterization to write interface test cases, how to initialize our database, how to run our test cases in batches and generate test reports. Then we will lead you to develop your own interface automation testing framework.

Chapters 6 and 7 explain the basics of git/GitHub and lead everyone to continuously integrate the project. Of course, the video is also recorded based on these contents, so the learning method is video + document + after-class guidance.

So why these 7 chapters?

1. The main purpose of this course is to teach you how to use python for automated interface testing. But why do we talk about development? We often talk about interface testing, interface testing, so what is an interface? How is the interface developed? Think about it, if we can develop interfaces, interface testing will be a piece of cake for us testers.

2. Of course, you must have a python foundation to study this course. Because Django itself is also a framework under python.

3. Okay, now that the interface has been developed, you can also use Python to do automated testing of the interface. Is this enough? The answer is of course not enough. In order to meet enterprise-level needs, we have added chapters on Git/GitHub and continuous integration.

4. What technical foundation is required for learning and how to advance?

Python basics! Python basics! Python basics! Emphasize important things 3 times.

Of course, our courses are not omnipotent, because they are relatively beginner-level, so there are still many things we need to learn on our own. For example, we can develop simple interfaces, but how to develop a complete system (interface test platform)? We need to learn in depth front-end knowledge and Django development knowledge. This is also the only way for us to grow into test development. For another example, we use MySQL database in our courses. If our project uses Oracle database, how should we connect and initialize our database? There is no end to learning, and search engines will be our best tools.

5. What can you gain?

I believe that by studying this course, you can quickly advance from functional testing to interface automation testing engineer. With the amount of code, you will be more confident whether you are in the company or looking for a job. Going back to the question we asked at the beginning, is automated testing difficult? My answer is to see if you want to learn.

The popularization of 4G has led to the rapid development of APP and also supported many of our test engineers. 5G is just around the corner, and it is difficult to predict whether 5G will be an opportunity for testers. But we can be sure that if we stop moving forward, the future will definitely be farther and farther away from us.

2021 is an unusual year. Use this time to study hard. I hope everyone will gain a big gain in terms of technology and wallet.

Insert image description here

Below, I will compile for you the most mainstream career planning route learning process for self-study software testing into Alibaba. I hope it can provide you with a little help~ Let’s encourage each other~
Insert image description here

1. Testing Basics

Understand the basic skills of testing, master the use of mainstream defect management tools, and be proficient in the operation and maintenance of the test environment

2. Essential knowledge of Linux

As the most popular software environment system now, Linux must be mastered. Current recruitment requirements require Linux capabilities.

Insert image description here

3. Shell script

Master Shell scripts: including Shell basics and applications, Shell logic control, and Shell logic functions

Insert image description here

4. Principles of Internet Programs

The only path to automation: basic knowledge of front-end development and essential knowledge of Internet networks 4. Internet program principles

Insert image description here

5. MySQL database

Software testing engineers must have MySQL database knowledge, not just the basic "add, delete, modify and check".
Insert image description here

6. Packet capture tool

Fiddler, Wireshark, Sniffer, Tcpdump and various packet capture tools are suitable for various projects. There is always one that suits you.
Insert image description here

7. Interface testing tools

Interface testing artifact, a powerful tool you can't avoid: Jmeter. Small and flexible: Postman

8. Web automated testing Java & Python

Understand the purpose of automation, be proficient in the TestNG & unittest automation framework, as well as assertions and log processing

Insert image description here

9. Interface and mobile terminal automation

Professional interface calling and testing solutions. Establish a complete web and interface automation framework, and use Appium as a whole

Insert image description here

10. Agile testing & TestOps construction

Unveil the mystery of TestOps and become familiar with the continuous integration of Jenkins framework
Insert image description here

11. Performance Test & Security Test

The other side of software testing: performance testing and security testing, choose a direction and work hard to climb the pit!
Insert image description here

After reading this content, I believe the following two things will also be helpful to your personal improvement:

1. Like it so that more people can see this article. Your recognition will also encourage me to create more high-quality content.

2.
Make yourself stronger: Think about it, if you want to continue in the testing industry, why should a company continue to employ you after the age of 35? Your experience and functional testing skills are far from enough, you need to advance, you need to enrich your technology stack! What are you waiting for!

Finally: The complete software testing video tutorial below has been compiled and uploaded. Friends who need it can get it by themselves [guaranteed 100% free]

Software Testing Interview Document

We must study to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Alibaba, Tencent, Byte, etc., and some Byte bosses have given authoritative answers. After finishing this set I believe everyone can find a satisfactory job based on the interview information.

Guess you like

Origin blog.csdn.net/weixin_50829653/article/details/133313003