2023 Test prospects? Test development engineer develops a record, develops an enterprise-level test platform...


foreword

Test development: https://www.bilibili.com/video/BV1Cs4y1D7w7/

The role of the test development engineer

For test development engineers, it is the basic requirement to understand the code, use test tools proficiently, be able to test ui, interface and performance, have test experience and test thinking logic; they must not only be able to test business functions, but also be able to do code layer Interface and unit testing, and more importantly, through the accumulation of ability and experience, can build a tool platform suitable for technology research and development teams, so as to better reduce company costs and improve work efficiency.

A complete set of test platform:
source code monitoring and analysis platform, configurable platform to realize systematic and regular comprehensive coverage test of source code, through effective filtering of intelligent rule model, early detection of problems and improvement of project quality.

The interface automation platform can complete the test of the docking layer without writing a single line of code, perfectly supports http and jsf interfaces, and generates beautiful and visual reports;

The UI automation platform allows novice testers who don't understand code to quickly and easily get started with UI automation testing. In the past, they needed to write their own code, but now they can directly maintain some elements on the page;

The test tool platform now covers more than a dozen large business systems and dozens of convenient functions, which can quickly and conveniently generate and query test data, reducing the joint debugging time of testers and the time for creating complex scene data. Although the online time is not long, the frequency of use is nearly 30,000, which greatly facilitates development, testing and product personnel.

The BUG monitoring and analysis platform, through the intelligent processing of analyzing, categorizing, and summarizing bug big data, uses charts to view the quality and progress of the project more concisely and clearly;

The compulsory road for test development engineers

How to become a real test development engineer, what hard skills do you need?

1. Have certain testing experience. Only by experiencing the pain points and difficulties of testers in their own shoes can we effectively solve their problems.

2. Know how to use common and important testing tools. For example, Loadrunner and jmeter are commonly used for performance testing; selenium is commonly used for UI automation; testng and junit are commonly used for unit testing; appscan, js injection, xss injection, sql injection and so on are commonly used for security testing.

3. Ability to develop test tools.
Some mainstream technology stacks:
test tool system framework construction:
java+maven+SpringMVC; python+django (commonly used in test development now)

For the first framework, it is best to create a hierarchical multi-module project in order to better design the code framework and structure. Usually the dao layer is mainly associated with the database; the web layer is the controller, which is the connection between the front end and the service layer; the service layer provides some public services or business processing logic.

Please add a picture description

After the Maven project is established, use the current mainstream framework-springMVC to associate the front-end and back-end databases.

For those who have no code foundation and want to get started with test development, they can learn the second framework (which is easier to learn): python+django, which is easier to learn and use.

Please add a picture description

Front-end page: html, css, jquery, bootstrap, Echarts, the front-end page is the face, the entrance for users to operate, and the most intuitive place for data input and display.

Css style determines page layout and aesthetics; jquery is a js framework, which greatly simplifies js programming; echarts can provide simple and easy-to-use common charts, making the page more classy and data display more intuitive and concise.

Generally, front-end resources will be stored in the static static folder of the web layer.

Please add a picture description

Please add a picture description

(Static resource reference)
Back-end services: spring, mybatis. Using the Spring framework can simplify a lot of basic work. After configuration, it can facilitate the construction of business applications. It is a non-invasive lightweight container.

Please add a picture description

Database: Mysql or Oracle database installation, database table creation, field design, common SQL statements;
system: proficient in building projects on windows or linux systems, log viewing and other operations;
service container: tomcat service deployment, nginx load configuration, docker use;
continuous integration: git, jenkins;
development tools: idea and eclipse;
code debugging: testng or junit unit debugging and debug and remote debug use;

Advanced test development engineer

In order to improve test efficiency, reduce test cost, and maximize test value, on the premise of having test experience, skilled use of test tools and certain development capabilities, you can independently develop the platform, or carry out secondary development of existing open source tools , which is also the only way for test development engineers to continue to advance.

Several automation tool platforms:

1. Interface automation platform
Combine HttpClient, testng, etc. on the basis of testing tools to generate beautiful visual reports and send them to designated personnel by email to realize the interface automation platform. It has been running stably for several months, and has realized interface input parameters, encrypted parameter transfer and database checkpoints, as well as input and output parameter dependencies between multiple interfaces, which can realize combined testing of multiple interfaces and multiple scenarios, and perfectly cover the tests of http and jsf interfaces. Improve the test efficiency of the user in the aspect of the interface.

Please add a picture description

2. UI automation platform
On the basis of testing tools, selenium, Jenkins, and testng are introduced to realize the UI automation platform. Now many companies are doing ui automation, usually using java (or python) plus selenium to run automation programs, but this is difficult for novice testers. But on the test platform, testers only need to maintain relevant elements on the page, without writing code, they can realize UI automation, and can combine multiple scenarios for testing, which is convenient for updating versions of the test environment and online regression testing. It is simple and convenient for element maintenance get started.

Please add a picture description

3. There are also various test platforms, such as BUG monitoring and analysis platform, test tool platform, etc.

The following is the most complete software test engineer learning knowledge architecture system diagram in 2023 that I compiled

1. From entry to mastery of Python programming

Please add a picture description

2. Interface automation project actual combat

Please add a picture description

3. Actual Combat of Web Automation Project

Please add a picture description

4. Actual Combat of App Automation Project

Please add a picture description

5. Resume of first-tier manufacturers

Please add a picture description

6. Test and develop DevOps system

Please add a picture description

7. Commonly used automated testing tools

Please add a picture description

Eight, JMeter performance test

Please add a picture description

9. Summary (little surprise at the end)

Everyone has their own path of struggle, and they must go forward bravely and constantly pursue their own goals. No matter what challenges and difficulties come your way, persevere and believe that you can succeed. Only by constantly working hard and giving can we have a better future.

Only with unremitting efforts can we achieve a great cause; only with a positive attitude can we usher in a better tomorrow; only with the courage to challenge ourselves can we surpass our limits. So, don't stop struggling, let every effort become a footnote to success.

There is a powerful force deep in everyone's heart. As long as you are willing to explore and use it, you can overcome any difficulties and challenges and make yourself better and better. Come on, keep fighting!

Guess you like

Origin blog.csdn.net/m0_70102063/article/details/130949360