What skills are needed to do interface testing

1. What is interface testing?

Definition: A test that tests the interface between system components. It is mainly used to detect the interaction points between external systems and systems and between internal subsystems, focusing on checking data exchange, transmission and control management processes, as well as the mutual logical dependencies between systems;

Purpose: Test the correctness and stability of the interface;

Principle: simulate the process that the client sends a request message to the server, the server processes the corresponding message after receiving the request message, and returns a response to the client, and the client receives the response;

Emphasis: Examine the management process of data exchange, transfer and control, also including the number of processing;

Core: Continuous integration is the core of interface testing;

Advantages: Bring efficient defect monitoring and quality supervision capabilities to high-complexity platforms. The more complex the platform and the larger the system, the more obvious the effect of interface testing (improving testing efficiency, improving user experience, and reducing R&D costs);

Use case design focus: Usually, the two outermost interfaces are mainly tested: data entering the system interface (the parameters of calling external systems are used by the system) and data flowing out of the system interface (verifying whether the data processed by the system is normal);

PS: When designing use cases, you also need to pay attention to what functions the external interfaces provide to external users who use these interfaces, and what functions the external users really need;

2. What is required for interface testing?

①Understand the business logic interaction between the system and various internal components;

② Understand the I/O of the interface (input/output: input and output);

③Understand the basic content of the protocol, including: communication principle, three-way handshake, commonly used protocol types, message composition, data transmission method, common status codes, URL composition, etc.;

④ Commonly used interface testing tools, such as: jmeter, loadrunner, postman, soapUI, etc.;

⑤Basic database operation commands (check data storage, extract test data, etc.);

⑥ Common character types, such as: char, varchar, text, int, float, datatime, string, etc.;

3. How to learn these skills?

①Business interaction logic between systems: through many channels and methods such as requirement documents, flowcharts, mind maps, and communication;

②Protocol: I recommend the book "Illustrated http", which is vivid in content and is relatively an entry-level book. Others include "Illustrated tcp, IP", etc.;

③Interface testing tools: Baidu these tools, and then you will find that there are many teaching blogs, related problem solutions, and some tool-based books. Of course, it is very important to choose the right book;

④Database operation commands: learning websites ( W3C , rookie tutorials ), teaching blogs, and some database-related books, entry-level recommendations: "mysql must know", "oracle PL/SQL must know", etc.

⑤Character type: It’s still Baidu. There is a saying: If you are undecided about internal affairs, ask Baidu, and if you are undecided about foreign affairs, ask Google. . .

4. How to obtain interface related information?

In general enterprises, the developer or the corresponding technical person in charge will write the interface document, which will indicate the interface-related address, parameter type, method, input, output and other information. If not, find a way to obtain it. . .

Eight elements of the interface document:

Cover: The cover should preferably be the cover specified by the company, with logo, content title, version number, company name, and document production date;

Revision history: The form is better, including: version, revision description, revision date, revision person, review time reviewer, etc.;

Interface information: interface calling method, commonly used GET/POST methods, interface address;

Function description: Briefly and clearly describe the interface functions, such as: what information the interface obtains does not include;

Interface parameter description: each parameter must be the same as the actual call, including upper and lower case; the meaning of the parameter is concise and comprehensive, and the format is string, int or long, etc.;

The description part explains where the parameter values ​​need to be provided, and details how the parameters are generated, such as timestamp, which time period, whether the parameters are required, some parameters are required, some are optional, etc.;

Return value description:

①It is better to have a template return value and explain the meaning of each return parameter;

②Provide a real calling interface and real return value;

Call restrictions, security aspects:

Encryption method, or a special encryption process of your own company, as long as both parties use a consistent encryption algorithm, the interface can be called, which ensures the security of interface calls, such as the common md5;

Document maintenance: When the document is maintained, if there is any modification, the modification date must be written, the person who modified it, and the version number must be changed for major modifications;

5. How to perform interface testing?

If you have experienced the above scenarios, I believe that most people should be able to do interface testing. As for which tool to use and the problems encountered in the implementation of the test, please Baidu! ! !

Blogs, libraries, group files of major test groups, tutorial books, many, many, as long as you use your hands and brains a little, general problems can be solved. . .

MIT's motto: Mens et Manus (Mind and Hand) - hands-on, use your brain! ! !

6. Automated interface testing

As mentioned earlier, the core of interface testing is continuous integration, and automated testing can improve work efficiency and reduce costs. The automation of interface testing is very necessary.

As for the framework of interface automation, it can be said that there are many kinds. According to the different tools used, the programming language that individuals are good at, and the needs of the working environment, they are more flexible.

The framework I am personally familiar with: jmeter+maven+Jenkins+mysql+dubbo. . .

7. Other

Engineers refer to those who have the ability to operate, design, manage and evaluate engineering systems. The designation of engineer is usually reserved for those who hold a professional degree or equivalent work experience in one of the fields of engineering. ----Baidu Encyclopedia

The IT industry is a knowledge-intensive industry, and software testing engineers should also have corresponding knowledge and skills, namely: core competitiveness.

Continuous learning is essential, don't let yourself be easily replaced! ! !

The right way to learn new technologies:

Has anything you've done made your life better?

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324814315&siteId=291194637
Recommended