What is end-to-end testing, and what is the difference between it and system testing?
They both seem the same and check the application as a whole. Definitions on the ne
Comparing End-to-end testing and System testing is like comparing fruit to colors. End-to-end (E2E) testing is a "testing type" and system testing is a "testing level". In other words an E2E test is always a system test, but a system test is not necessarily an E2E test.
E2E testing is heavily a non-functional test, although there are certainly functional specifications that can be validated through an E2E test. E2E's are usually done after functional system tests are run. User Acceptance tests (in aproduction environment), Exploratory tests (in QA or staging environments), and any other situation where you run the SUT in an environment that tries to mimic real usage would be an E2E test, whereas system level tests might be run in a non-production environment (like a development environment). Although that doesn't mean you couldn't run an E2E test in dev... The nature of testing terminology makes answering this difficult since the industry is still trying to feel out and nail down standards.