Advanced automated testing, these 3 points you must know...

Automated testing refers to the automation of software testing, running applications or systems in a preset state, including normal and abnormal conditions, and finally evaluating the running results. Transform human-driven testing behavior into machine-executed processes.

The automated testing framework can generally be divided into two levels . The upper level manages the development, execution and maintenance of the entire automated test. In relatively large projects, it plays an important role. It can manage the entire automated test, including the execution of automated test cases. sequence, maintenance of test scripts, and centralized management of test cases, test reports, and test tasks. The lower layer is mainly the development of test scripts, making full use of related test tools, building test drivers, and completing test business logic.

 

Why should I do automated testing?

According to 51testing's "China Software Testing Practitioners Survey Report", manual testing accounts for 89%. Compared with development, the threshold for testing is low, and the salary is generally low. Although the required knowledge has a certain breadth, it lacks depth. This is the general state of testing.

Because of the low barriers to entry for manual (functional) testing, a large number of graduates and even non-professionals have poured into this industry. Thereby increasing the fierce competition in this industry. For those who have been in manual testing for several years, they will have a strong sense of crisis. Because the technical content of the job is not high, the salary increase has encountered a bottleneck, and on the other hand, it is threatened by new entrants. The same job can be done by someone hired by the company for 5K, so it will not spend 8K.

Well, this question should not appear in the topic of discussing technology, but it is indeed a problem that most testers have to face. Therefore, from the perspective of the development of testers themselves, I actually need automation technology to increase my competitiveness. Of course, testers who have reached a certain number of years will choose to transfer to management or other positions, which is another topic.

From the perspective of the development of the testing industry, due to product characteristics, there are not many world-class products in domestic products, relatively low technical content, relatively low quality requirements, foreign projects are outsourced, and testing labor costs are low, so a large number of manual testers are needed. .

Therefore, in the near future, I think that the demand for pure manual testers will decrease, and companies will need testing with higher technical capabilities. Quality needs to be tested, and testing behavior will never disappear, but it is possible that pure manual testers will disappear.

You can say that testing is a sunny industry, but I am purely alarmist. No matter what the future holds, we all need to improve our skills, right?

What projects are suitable for automated testing?

If you have decided to learn automated testing, how to learn is the next question to face? This problem is analyzed based on the tested product. If the technology you have learned cannot be applied (verified), it will make your learning process difficult.

First consider whether the product is suitable for automated testing. The general consensus of this method is to make trade-offs from three aspects.

Software requirements change infrequently

The stability of test scripts determines the maintenance cost of automated tests. If software requirements change too frequently, testers need to update test cases and related test scripts according to changing requirements, and script maintenance itself is a process of code development, which needs to be modified, debugged, and automated testing when necessary Framework, if the cost is not lower than the test cost saved by using it, then the automated test has failed.

Some modules in the project are relatively stable, while the requirements of some modules are highly variable. We can then automate the testing of relatively stable modules, while manual testing is still required for relatively large changes.

Long project cycle

It takes a long time to complete the determination of automated testing requirements, the design of automated testing framework, and the writing and debugging of test scripts. Such a process itself is a test software development process, which takes a long time to complete. If the project cycle is relatively short and there is not enough time to support such a process, then automated testing becomes a joke.

 Automated test scripts can be reused

The reuse of automated test scripts should be considered from three aspects. On the one hand, whether there is a large difference between the tested items (such as the difference between the C/S system and the B/S system); This difference; finally, whether testers have the ability to develop an automated testing framework that adapts to this difference.

Now I also found a lot of test friends, made a communication group to share technology, and shared a lot of technical documents and video tutorials we collected.
If you don't want to experience the feeling of not being able to find resources, no one answering questions, and giving up after a few days of self-study
You can join us to communicate. And there are many technical experts who have made achievements in automation, performance, security, test development, etc.
Share their experience, and also share a lot of live lectures and technical salons
You can study for free! Focus! Open source! ! !
Qq group number: 1150305204

 

Which tool to choose for automated testing

If you have confirmed that the XX project is suitable for automated testing, then the next thing you need to do is to choose a testing tool.

First of all, you must first confirm whether the product you are testing is a desktop program (C/S) or a web application (B/S).

Tools for desktop programs include: QTP, AutoRunner

Tools for web applications include: QTP, AutoRunner, Robot Framework, watir, selenium

Due to the many advantages of the B/S architecture, a large number of applications of the C/S architecture were converted to the B/S architecture a few years ago. This also promotes the development of web development and testing technology. If there is a product under test with a C/S architecture, then QTP is recommended. QTP accounts for half of the trial rate in the field of UI automation testing. Therefore, it is enough to show that QTP is powerful in the field of automation, easy to use, etc. Learning mainstream tools can also give you more opportunities. There are also a lot of books on QTP on the market. Of course, in order to learn QTP well, you must master the VBS scripting language.

If the product under test is a B/S structure, then selenium is recommended, why not QTP or other tools? Because selenium supports B/S applications very well, and more importantly, it supports multi-language development. To really try selenium, what you need to master is not just a tool, you also need to learn a language. Why should I choose selenium? I also need to learn a language, which undoubtedly increases my learning costs. While increasing the cost, it also increases your competitiveness. Moreover, in the process, you not only learn an automation tool, but you can use the language you have learned to do more things.

All right! If you decide to try selenium, you face a new problem, choose a language. Selenium supports java, python, ruby, php, C#, JavaScript.

In terms of language ease of learning, python is preferred

In terms of language application breadth, java, C#, php are preferred

In terms of language-related testing technology (and data): ruby, python, java
 

If you have many puzzles in the software testing industry, welcome to communicate and discuss with me in the industry's communication group. There are free video data and test resources in each stage in the group, hoping to help you break through the bottleneck in front of you

Or you can consider what language is used mainstream by the entire technical team, and then choose the corresponding language.

 

As an automated
software tester, I would like to share my summary and summary of the technology over the years, and share my notes on the skills that an advanced tester needs to master. I hope it can help those who are interested. Friends who have gone all the way to black on the road of technology!

Let me share the knowledge architecture diagram of the development direction of software testing engineers that I have compiled in 2023, which may be the most complete.

 1. Python programming and test development technology

2. Basics of web automation testing 

 3. Basics of APP automated testing

 

4. Postman test tool topic

 

 5. Basics of interface automation testing

 6. Test and open the automation framework package

7. Continuous integration 

 

 8. Jmeter performance test 

 9. APP performance test

10. Use of Fiddler packet capture tool 

11. TCP/IP protocol details 

12. Computer operating system 

 13. Linux system operation

 14. MySQL database

 15. RobotFramework automated testing framework

 16. Cross-platform automated testing framework

 

The above is a knowledge architecture diagram of the development direction of software testing engineers that I compiled for you. I hope that everyone can follow this system and complete the construction of such a system. It can be said that this process will make you miserable, but as long as you get through it. Later life will be much easier. As the saying goes, everything is difficult at the beginning, as long as you take the first step, you are already halfway to success, as the ancients said, "If you don't accumulate steps, you can reach a thousand miles." When you look back on this journey after completion, you will definitely A lot of emotion.

END's 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, if you can use it, you can take it directly:

 

Guess you like

Origin blog.csdn.net/lzz718719/article/details/130684325