What is the difference between regression test and end-to-end test

I would like to know the difference between these two tests, regression test and end-to-end test. I searched a few places but found material more related to TDD, and both look a bit like each other.

When to use regression test or an end-to-end test while testing a software?

Author: Jefferson Quesado, 2018-04-29

1 answers

Regression tests: all tests that will be re-run to ensure the functioning of the software (of existing and test-covered functionalities). If any functionality has the behavior changed in an unwanted way, these tests will fail and show which part of the system has been impacted by the new code. It can be manual, automated, unitary etc.

End-to-end tests: tests performed on the integrated system. With identical (or closest) environment possible) of the end user, exercising the complete flows of the system or functionality (and not just a small part). Ex: in a web application development process, we could have several levels of tests: unit tests, integration tests, tests on the frontend with mocks, tests on the api (or backend) etc. End - to-end testing will be done when all dependencies are available, i.e. in an environment with the frontend, apis, database connected, using the same environment that the end user will use.

I recommend that you do end-to-end testing whenever there is the smallest possible deliverable portion available. I also recommend that you automate them (increasing the coverage of your regression tests)

 1
Author: flaviomeira10, 2018-05-02 19:13:27