Talking about the interface testing of software testing


Nowadays, many companies have requirements for interface testing. At this time, many partners who have been doing functional testing are caught off guard, so they need to learn interface testing. Today, I will explain to you the knowledge of interface testing.

1. The significance of interface testing

1. What is an interface test?

Interface testing is a test for testing the interfaces between system components. Interface testing is mainly used to detect the interaction points between external systems and systems and between internal subsystems. The focus of the test is to check the exchange, transmission and control of data. Management process, and the mutual logical dependence between systems, etc.

2. Then why do interface testing?

(1) Take, for example, Taobao, which everyone is familiar with. In the history of Taobao’s continuous development, functional testing and performance testing first appeared, followed by automated testing, but testing Today, with the development of technology, Taobao’s architecture is no longer the traditional MVC structure. The entire system architecture is constantly evolving in the direction of distribution, business centralization and high availability. Taobao’s current system architecture is complex and complex. Various interfaces are numerous and complex, and traditional functional testing, performance testing, and automated testing have been difficult to meet the needs of system development. At this time, a more effective, practical and continuous testing method is urgently needed to ensure the quality of the entire system architecture.

(2) Interface testing came into being under this demand. First of all, as the complexity of the system continues to rise, the cost of traditional test methods has increased sharply, and the test efficiency has dropped significantly (calculated by the data model, a bug in the bottom layer can There are about 8 bugs in the upper layer, and the bugs in the bottom layer can easily cause downtime of the entire network; on the contrary, interface testing can provide a low-cost and high-efficiency solution under the condition of increasing system complexity.

(3) Secondly, the interface test is different from the traditional development unit test. The interface test is a comprehensive, efficient and continuous testing and testing of the system interface from the perspective of the user.

(4) Finally, the interface test is automated and continuously integrated, which is why the interface test can be cost-effective and efficient.

(5) In short, interface testing is the best solution driven by the inherent requirements of high-complexity system quality and low-cost economic benefits. Interface testing is a complete system, including functional testing and performance testing.

3. The scope of application of interface testing

(1) Interface testing is generally applied to the interactive development of multiple systems, or the testing of application system development with multiple subsystems. Interface testing is applicable to the underlying framework systems and central service systems that provide services for other systems. It mainly tests the external interfaces provided by these systems to verify their correctness and stability. Interface testing is also applicable to the service layer interface in an upper-level system. The higher the level, the more difficult the test. The application of interface testing on Taobao is a bottom-up development process.

(2) The interface test is implemented under the framework of multiple systems and multiple platforms, which has an extremely efficient cost-benefit ratio. Interface testing inherently brings efficient defect detection and quality supervision capabilities to highly complex platforms. The more complex the platform and the larger the system, the more obvious the effect of interface testing.

Second, the purpose of interface testing

1. The strategic policy of interface testing

(1) The core strategy of interface testing is: to ensure the correctness and stability of the system as the core, and to use continuous integration as the means to improve testing efficiency, enhance user experience, and reduce product development costs.

(2) Core: To ensure the stability of the system, the goal of quality management is to ensure the correctness and stability of the system. As part of the software quality management, interface testing can also ensure the correctness and stability of the system. A more accurate statement is to ensure the correctness and stability of the system server. Stability. The closer the server side of a system is to the bottom layer, the greater the impact on the system, and it may even affect the whole body. A defect on the server side may cause several or even a dozen defects on the client side, which is even more terrifying. It is the defect of the server that may cause the collapse of the entire system. For the entire system, the loss will be immeasurable. Therefore, the quality of the server interface will directly affect the accuracy and stability of the system.

(3) Means: What is continuous integration? The key lies in "continuous construction", "business", "integration" and "document system". We need to make the code under test continue to build and integrate. We need to use Business-oriented thinking considers the rationality of interface definitions. We need to consider the correctness of the code from the perspective of performance and security. We also need to identify the correctness of data transfer between interfaces from the perspective of integration. We need to make sure that we The scope of testing is what we want to test and what not to test.

(3) Purpose: Improve testing efficiency, improve user experience, reduce product development costs, interface testing should escort the writing of code, enhance the confidence of developers and testers, and expose hidden BUGs in advance. Developers should be exposed Fix bugs at the first time, make functional testers and performance testers more comfortable during testing, minimize the number of underlying BUGs, make the product development process more agile, shorten the product development cycle, and finally After the product is launched, users must use it more smoothly, and at the same time, users must feel that the product and service have zero defects.

(4) In addition, in this strategic process, we need several types of resources as support, which are briefly described below. First of all, the most important point in this strategy is to emphasize the importance of the team. In particular, the team needs to have a reasonable allocation of human resources. In this team, you need all-rounders, professionals, technical experts, and business. Experts need both efficient executives and effective managers. Anyone can play an important role in this team.

(5) Secondly, we must pay full attention to the importance of documents, including requirements documents, development technical solutions, test technical solutions, test case documents, etc. Improving these documents can greatly reduce the obstacles to cooperation between various teams in the software engineering cycle, and can also reduce later software Maintenance costs.

(6) Therefore, implementing and implementing the strategy of interface testing can maximize the stability of software quality.

2. The development and goals of various stages of interface testing

Briefly describe what stages an interface testing team has gone through from its initial establishment to its development, and what we expect to be in the future.

(1) Exploration stage: A brand-new team will generally go through a relatively long-term exploration process at the beginning of its establishment. In this stage, we will try different technologies, frameworks and process specifications. Until you find a solution that is more suitable for the team's own characteristics in these aspects, then the goal at this stage is even achieved.

(2) Stable improvement phase: After the exploration phase, there should be a stable improvement phase. After the exploration phase, the team's technology, framework and process specifications should have a basic shape. The goal of the team at this time is to continuously optimize these finalized things through different project practices, and finally conclude a set of best solutions. This set of programs should be able to become a reference for other project testing activities, or even a standard. At this time, we will find that all projects are being carried out in an orderly, uniform, efficient and reliable manner.

(3) Expanding influence and organizing a win-win phase: After reaching the above goal, is it the end of the interface testing team? Obviously not, don't forget, so far, no matter how well you have done interface testing, it is only limited to interface testing itself. We should not be satisfied with this. Generally speaking, the interface testing team occupies a large number of core technical personnel in the entire quality assurance team. They are good at using various techniques to solve problems, even better than the development team. With so many technical resources, if we don't know how to use them reasonably, it is really a big waste. On the basis of doing a good job in the interface test itself, we should also actively understand what problems other test teams face, whether these problems can be solved by technical means, and if so, can we implement some practical tools for them to help them solve Problems or improve work efficiency; whether our own technology needs to be shared with other testing teams, or even the entire software team, to help them complete their work better. In short, we should think about how to use the resources of the interface testing team more effectively and reasonably to improve the performance of the entire testing team. This will not only expand the influence of the interface testing team itself, but also make the interface testing team the core competition of the entire department. At the same time, it can also create a win-win situation.

(4) On the other hand, in the work process, each test role can be complementary. The design and test cases of the interface test can be shared with the function and performance test. The report of the interface test can be used as an important reference for the function test. Understand what tests the bottom layer has gone through, where are the dense areas of bugs, and where are relatively safer. After the functional test engineer finds the bug, the interface test engineer can directly cover the code generated by the bug with the code, so that the bug will never appear a second time. Interface testers can also bypass the page directly to test the performance and stress of the underlying system. The close cooperation between various roles in the testing process also reduces the cost of testing and provides a full range of system quality assurance.

Three, interface testing tools

Interface testing tools: apipost, jmeter

Apipost is a domestically produced tool for interface testing and interface document generation.

How jmeter is a good performance testing tool, mainly for stress testing in performance testing, etc.


Finally: tester benefits

In the technology industry, you must improve your technical skills and enrich your practical experience in automation projects. This will be very helpful for your career planning in the next few years and the depth of your testing technology.

Follow my WeChat public account:[Sad spicy strips]Receive a 216-page software test engineer interview book for free. And the corresponding video learning tutorials are free to share!

Golden nine silver ten interview season, job-hopping season. The information compiled for everyone is organized around [software testing]. The main content includes: python automated testing exclusive video, Python automated details, a full set of interview questions and other knowledge content.May you and I meet and you will find something! Follow me to receive~

If the article is helpful to you, please reach out to make a fortune and give me a like. Thank you for your support. Your likes are my motivation for continuous updating.

Recommended reading:

What kind of person is suitable for software testing?

Talking about starting from a small company to a big factory, what did I do right?

Want to switch to software testing? Come and see if you are suitable

From self-study to work in software testing, how should software testing learning be carried out?

How to write a software test engineer resume project experience?-1000 software test engineer resume templates (real resume)

Guess you like

Origin blog.csdn.net/weixin_50271247/article/details/113056568