What is interface testing
Interface testing is also a kind of functional testing
The interface test I understand is actually a kind of functional test, but the functional test we usually refer to refers to the functional test at the UI level, while the interface test is more inclined to the functional test at the server level.
The purpose of interface testing
Move the test to the left, intervene in the test as soon as possible, discover deeper problems in the system as soon as possible, and reduce the cost of problem repair.
What does the interface test test
The interface test is to verify the correctness of the internal logic of the server interface, and this correctness is also divided into two aspects:
Whether the interface can correctly process normal data and return a correct response, which may include data structure, data content, etc.;
Whether the interface can correctly handle abnormal data and return a specific response is mainly to verify the robustness of the interface.
in conclusion
The interface correctly accepts legitimate request data
The interface correctly rejects illegal request data
These are all positive tests.
Scenarios for interface testing
I think there are two main test scenarios for interface testing:
Single Interface Robustness Test
Multiple Interface Scenario Test
single interface test
The robustness test for a single interface will cover normal and abnormal scenarios to ensure the correctness and robustness of the interface;
Single interface testing does not focus on the business logic at the user level, but only on the internal logic of the interface, so it is closer to unit testing.
Summary: Ensure that the interface can correctly handle various normal and abnormal scenarios.
Multiple Interface Scenario Test
In order to verify the correctness of the business logic of the user's main process and main function, there is no need to verify too many abnormal scenarios;
The multi-interface scenario test will pay more attention to the business logic at the user level, so it is closer to the functional test at the UI level;
For example, it is necessary to verify an e-commerce payment process, which may include the following interface: get product list-get product details-add to shopping cart-submit order-order payment, only need to pay attention to normal scenarios.
Summary: Ensure that multiple interfaces can run through under normal data flow.
Single Interface Test Design Test Cases
What is Interface Automation Testing
First of all, what you need to know is that only interface testing is also a kind of manual functional testing, just testing the interface, so interface automation testing is actually changing interface testing from manual to automated.
Common interface automation testing methods
This knowledge base mainly explains tools to implement interface automation testing.
what is engineering
This is actually something that I have only come into contact with recently, and it feels a bit high-end!
Google searched what is engineering, and the results are all front-end engineering. I can only read it, and then describe it according to my own understanding. It only represents my own opinion: engineering is actually a kind of thinking.
Why Engineering
Improve efficiency, including but not limited to development efficiency, testing efficiency, maintenance efficiency, and management efficiency;
From chaotic processes, severe coupling, and manual dependence to standardization, modularization, and automation.
normalization
Improve the maintainability of the whole project:
Version management specification: use git to manage the code warehouse;
Development process specification: the team unifies the research and testing process, such as: code review process, testing process, review process, etc.;
Writing code specifications: The team uniformly writes specifications, such as: project structure, project code, automated test scripts, etc.
Modular
Improve the readability of the entire project;
Put some related logic stuff in the same folder.
automation
Things that can be done automatically will never be done by people, which is the core of engineering:
Automatic initialization: such as one-click installation of the local environment, installation of dependencies, etc.;
Automated test execution: such as one-click testing, one-click generation of test reports, etc.;
Automatic deployment: For example, use Jenkins to manage the statement cycle of project operation in the form of a pipeline.
Finally, I would like to thank everyone who has read my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, you can take it away if you need it:
Software testing interview applet
The software test question bank maxed out by millions of people! ! ! Who is who knows! ! ! The most comprehensive quiz mini program on the whole network, you can use your mobile phone to do the quizzes, on the subway or on the bus, roll it up!
The following interview question sections are covered:
1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux
6. web, app, interface automation, 7. performance testing, 8. programming basics, 9. hr interview questions, 10. open test questions, 11. security testing, 12. computer basics
These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can help you too!