Unit Testing: Unit testing is the most basic test in the test, but also the smallest unit in the test, its object is a function object, can also contain input and output, for function function or function of the internal logic. Does not contain business logic
Interface Test: interface is to throw away the interface and said, the interface encapsulates the interface to provide functionality to the user, while the interface test is to throw away the interface of the interfaces and integration of the package (the interface provides a function that may contain multiple interfaces). Tests the functionality implemented by an interface and the internal logic of the interface. Some interface function is single, some interface function is complex, for the function complex interface, can be divided according to its function point test. In addition, it is the dependency between interfaces. If you are just doing interface testing, if there is an interface dependency problem, the best way is to prepare the test data in advance. It is not recommended to associate an interface with a test. The interface should be the smallest unit of business logic. The interface may contain internal logic tests and interface functional tests. However, the individual thinks that interface functional testing is not called functional testing because these functions are abstract, or the smallest unit of business function. Personal understanding of functional testing should be the function of the business, not the interface function. Of course, only the interface function is implemented correctly, we can integrate the business function
Integration testing: A module or several modules are spliced together to achieve certain functions of the system. These features may contain a complete or incomplete business function, and the tests we perform can be called functional tests. We are standing on the user's point of view to verify whether the function is correct, whether to meet user needs or design intent. If you put all the modules together for testing, your personal understanding is system testing. Of course, I just start with the functional aspects.
System testing: All modules are integrated to form a complete. If the interface is well-defined and fully tested, the integration test can be skipped if the time is not sufficient. Integration testing is actually a subset of system testing. Will cover some of the logic that is not covered by the system tests. Since the system does not cover the logic, nature will not appear in front of the user. Of course I just assume that time is not enough. If the time is enough, it is a layer of testing. Find the problem as early as possible. Top-down, each type of test is the cornerstone of the next Test.
I am writing this article because I have been doing some interface tests recently. is very painful, confused. The purpose of writing this essay is to divide the boundaries between different tests. If there are inappropriate places to spray, also welcome the discussion.
Interface testing and functional testing