What's the difference between front-end unit testing, integration testing, end-to-end testing, functional testing, and UI testing?

clipboard.png

it seems that many articles treat unit testing, integration testing, end-to-end testing, and functional testing as UI testing through headless browsers.

so I want to make it clear, what is the difference between the tests? what is the purpose of these tests?


in fact, there is no difference. They are all for delivery
1, but different tests at different stages
1, unit testing is to ensure the logical correctness of the code
2, integration testing is to ensure that the data is correct
3, I think there is no difference between end-to-end testing and integration testing
4, UI testing is just a test of whether the effect of the interface achieves the desired effect. UI testing can also be used for unit testing
5. The straightforward point of functional testing is human flesh testing. For some machines that can't finish the work, people can handle it. In fact, all tests can be said to be functional tests

.

No matter which kind of test is to ensure the quality of the project, reduce bug as much as possible


as the front end, the most important thing is end-to-end testing. All test data should be generated by simulating user operations as realistically as possible. Especially complex business systems, or micro-service architectures that have been popular in recent years.
if the software itself is relatively simple, the relative risk of not doing integration testing is small.
in general, front-end unit testing is rarely carried out for testing. If there is some scenario data that cannot be constructed in the current test environment, such as some scenario data that needs to be docked with an external component to generate directly or indirectly, and the external part cannot be co-tuned and docked, then tools such as charles or burpsuite will be considered to intercept the tamper request response to implement the test against the front-end code alone.
of course, if it is a traditional chimney mode service, front-end testing is easy to say, and the risks of background interfaces and data dependencies are relatively controllable, and most of the problems are compatibility problems of data presentation or interaction design problems.
in today's micro-service trend, the data consistency across micro-services and the consistency of solution implementation are the biggest risk points in front-end testing.

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b30a7a-2bd3a.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b30a7a-2bd3a.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?