In 2023, "I" will go from interface testing to advanced interface automation testing, and the interview will be crazy to get an offer...


foreword

Automated testing is a hot topic in recent years. Of course, it is a development trend of software testing in the future. In the future, non-core testing work such as functional testing will be outsourced.

If you want to continue to move forward in the software testing industry, you must have core competitiveness, and mastering automated testing technology is an essential skill.

At present, the domestic Internet industry is still in a period of rapid development in terms of the general environment and requires process standardization. How to keep up with the changing pace of development requires continuous learning and self-improvement in addition to constantly understanding and contacting new things. Keep up with the tide of the times with the inner driving force.

1. The necessity and significance of interface testing

The interface test is implemented under the multi-system platform architecture, which has an extremely efficient cost-benefit ratio (of course, the unit test has higher benefits, but the cost of implementing unit tests is greater and the technical requirements are higher, so you should choose a talent that is more suitable for you. is the best option).

Interface testing inherently brings efficient defect detection and quality supervision capabilities to highly complex platforms. The more complex the platform, the larger the system, the more obvious the effect of interface testing.

In general, interface testing is the best solution driven by the inherent requirements of high-complexity system quality and low-cost economic interests, mainly reflected in the following three aspects:

Save testing cost: According to the data model calculation, a program bug at the bottom may cause about 8 bugs at the upper layer, and the bug at the bottom is more likely to cause the crash
of the whole network;
efficient solution.

Interface testing is different from unit testing:
interface testing is a comprehensive, efficient and continuous detection of system interfaces from the perspective of users.

Higher benefits:
Interface testing is realized as automation and continuous integration. When the system complexity and size increase, the cost of interface testing will be lower, and correspondingly, the benefit output will be higher.

2. What skills are needed to do interface testing

To do interface testing, the skills required are basically the following:

Business flow: understand the business logic interaction between the system and various internal components;
data flow: understand the I/O of the interface (input/output: input and output);
protocol: including http protocol, TCP/IP protocol family;
tools: tools can To help us complete the work better and more efficiently, commonly used interface testing tools include: jmeter, loadrunner, soapui, postman, etc.;

Database knowledge: Whether it is to obtain knowledge from the database, or to confirm the landing of the data, or what operations the interface performs on the data, it needs to be confirmed, so database knowledge (in fact, adding, deleting, modifying, and checking) is very necessary;

Supplement:
Several necessary points of the interface document: completeness, consistency, fault tolerance;

3. Interface automated testing

How?
First, debug a single interface to ensure the correctness and smoothness of a single interface (similar to the benchmark test in performance testing); second
, clarify the data flow and business flow;
finally, string together N interface test scripts and execute them;

The most important point is, don’t think too much and make it too complicated. Do the most basic and simple things first, and you will be more than half successful. As for scalable third-party interfaces, https, scheduled tasks, automatic test reports, automatic emails, etc. and other functions, which are continuously accumulated and optimized,

It’s enough to act. If you think too much, it’s better to act. Let the interface automation test be implemented, which is the first thing we need to consider!

What you need to know before starting

How many pages does the current test object contain?
How many interfaces are involved in each page?
In which step are they called?
What fields does each interface contain?
Which table in the database does each field correspond to?
What do the fields in each table mean?
What kind of operation does each interface have on the table?

automation framework

What is a framework?
You can understand it as a complete ring, or as a complete set of environments and platforms for interface test scripts to run, whatever you want;

Generally, an automated testing framework includes the following points:

Data pool: the storage and management of test data, generally integrated into a data package, including:
log (log file), report (test report file, generally in xml format), case-data (test data of a single interface, generally in json format), server-data (data connected in series by interface business, which can be managed by excel)

Script management center: the unified management, storage, and scheduling center of interface test scripts. Commonly used tools include maven, ant, etc., or you can use the functions provided by the unit test framework in the programming language and choose the one that suits you;

Running platform: Generally, these test scripts are run with the help of tools. The tools can use the above-mentioned ones (jemter, loadrunner, soapui, etc.). Similarly, it is important to choose the right one;

Continuous integration tool: the most common one is Jenkins, its function is to monitor the call execution of external programs, schedule or trigger scheduling tasks, test script execution and other functions;

Communication services: dubbo, spring_boot, thrift and other RPC, REST synchronous call services;
test result statistics management center: such as testlink, the purpose is to automatically update and upload test results, better statistical test results, for later optimization;

So much has been said above, in fact, its meaning is: separation of data and scripts, automatic submission of test results notifications, improved maintenance convenience of test scripts and test data, etc. . .

Commonly used Python interface automation framework: Python+requests+pytest+yaml+alluer+Jenkins;

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)

God rewards hard work, how can you see a rainbow without going through wind and rain; keep your feet on the ground, you can climb the peak; work hard, and you can chase your dreams. Let persistence and dedication become your ladder to success and welcome the glory of the future.

Only when we dare to surpass ourselves can we touch the boundaries of life; only in struggle can we gain growth and progress. Persevere in your efforts and defy difficulties, and you will create your own magnificent chapter!

Only persistent efforts can create miracles and realize ideals. No matter how many difficulties and challenges you encounter, go forward bravely and fight bravely, and you will eventually reap your own glory and success!

Guess you like

Origin blog.csdn.net/csdnchengxi/article/details/131768721