Some insights from 5 years of experience in automated testing—may you not be confused on the road to advanced testing

As a tester, we have all heard or used automation more or less. When we first entered the testing industry, we were full of expectations and thought that the end of the test would be that there would be no need for testers to click. Automated switching, and the test job is done in an instant.

This is what I was most curious about when I first switched from development to testing. With this curiosity, I joined the company's newly established automation group with enthusiasm, and explored how testing can get rid of manual labor and complete testing. It takes 6 years to do it.

Next, I will introduce the process of using our automation in the company one by one, hoping that it can inspire and help you.

automatic start

I believe that every company that builds an automation team undoubtedly does not want to improve work efficiency, save time, and save manpower through automation.

But there is a fatal point. Many people who draft automation for the first time may not understand the essence and characteristics of automation at all. They only know that "automation can improve efficiency like other companies." This is what we have done for 3 years. After realizing the truth.

This is not criticizing or blaming anyone. I am very grateful to have gone through those three years, and I have not wasted every step of my life. It made me deeply understand what kind of approach is possible and what is not feasible.

I say it here, just because it doesn’t take so long for latecomers to understand, and I hope you have a more comprehensive understanding of automation before making decisions.

In 2016, the leader decided that the testing department should do automation. At that time, I just switched from development to testing not long ago, and I was still doing functional testing (experience functional testing stage). Consult relevant automation field materials.

Therefore, when the leader said that the automation group was to be established, I was very excited and decided to join the automation group, thinking that I finally had a real opportunity to try this new gadget of automation.

Although I have some poor development skills, after all, I have never actually fought automation, so we recruited a big cow in the direction of automation from outside.

The technology giant is different. It took only 2 weeks to build our automation project architecture and carry out related package extraction. At that time, I really knew the workflow and usage of an automated system integrated with Selenium, Webdriver, TestNg, and Jenkins.

After writing this, you probably already know that what we have implemented is a set of UI automation solutions. After the framework was built, the rest began to collect use cases and convert scripts. It was also in the process of writing scripts that I gradually learned how the so-called automated testing is automated.

In the early days of automation, we didn't have much experience. We only knew that we should at least automate the use cases of the public main process.

So, based on my understanding of the business after several months of functional testing, I began to extract use cases of a certain module type. The technical expert and I divided the labor to transform these use cases. This process, for me, has learned a lot. A lot, I know PO mode, data drive, element positioning and some pitfalls inside.

Writing scripts is easy for me to get started. Soon we completed a phase of automation use cases, and then integrated these use cases into Jenkins. So far, the automation has started to work.

Exploring the meaning of automation

After completing the script conversion of the first phase, the script development plan for the second phase began non-stop. For a long time, I felt that we have lost the meaning of doing automation. We have completed script development, why not use it? How can I use it to work?

When what you do does not play its value in the work, the person who does it will gradually lose enthusiasm for this job, because he has not received feedback, and he does not know where the next goal is. Of course, some dispensable work will continue to be done.

In the following year, that is, in 2017, the leader began to think of a way with us. The first way was to tell the functional testers which modules and use cases we had automated, and let them test during the testing process. When executing that type of use case, go to Jenkins to execute it.

The trial run for a period of time has proved that it is impossible to do a good job by relying on free and voluntary means.

Most people don't choose to use automation, even if his project can. There are also some students who are willing to use, because they don’t know the development related technologies, they don’t know how to analyze the problems when they make mistakes, so they often need to find automation developers to help them. In addition, the UI automation scripts in the early stage are really not so stable, and the probability of running errors is even higher. Taller.

The reason why there is no need for automation comes out:

1. Not interested, I think manual testing is good;
2. I want to use it, but my own technology is lacking, and I can’t analyze script problems, making it more difficult to use;
3. I want to use it, but the script stability is too poor, and I lose my confidence in automation trustworthiness.

Compared with other colleagues, I consider myself an automation fanatic, and I don't believe that automation can't play a role in my work. I thought, it must be because you don’t know how to use it yourself. So, I applied for a test that is suitable for automated application modules for a period of time.

How do I do it? The following is a flow chart of automated application in normal project testing. I still use this idea until today.

According to this process, several projects were applied stumblingly. The real effect is:

1. After using automation, some problems were indeed found, but the analysis and positioning showed that it was a bug that could not be seen with the naked eye; 2. From the perspective of efficiency
, if input cost/output is considered, this cannot be said to be improved I have a lot of test efficiency, but it is different if a script is developed and maintained by multiple people;
3. It is not so convenient to execute use cases on Jenkins, and it is often dizzy to see.

It was only after I actually participated in the use of our automation that I realized that there are indeed many imperfections in our automation. Then I finally figured it out, and I also know where the next step is to adjust.

As an automated software test engineer, how hard should I work to quickly become an excellent test development leader? This is not only a software test engineer who has just stepped into the workplace, but also an engineer who starts to get confused after working for three to five years. problems to face and understand.

1. Learn a programming language first, python is recommended [note that not all pictures are shown, including the original map of all the learning roadmaps that are not shown below, friends who need it can join my learning exchange group to get it for free]

2. Basics of Web automation testing

 

3. Web automated testing practice 

4. Basics of APP automation

 

 Five, APP automated testing practice

6. Basics of API interface automation

 Seven, API interface automation test actual combat

 Eight, CI/CD continuous integration special technology

Nine, automated testing framework platform

 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!

10. Information

 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, and I hope it can help you too! Everything should be done as early as possible, especially in the technical industry, we must improve our technical skills.  If it is helpful to you, please like and collect it. It is also convenient for you to quickly find the next time

If you don’t want to grow wildly by yourself, can’t find system information, can’t get help for problems, and give up after persisting for a few days, you can click the [small card] below to join our technical exchange group , and everyone can discuss and communicate together. There will be various software testing materials and technical exchanges. Finally, I wish you all a satisfactory offer as soon as possible~

Guess you like

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