The test pyramid is one of the efficient approaches to test a complex system. Recently I had opportunity to work on a banking system and found the test pyramid of great value in testing the system. The banking system is based on event based architecture.
In a test pyramid, we draw a pyramid with horizontal slices. Each slice represents a type of testing. The bottom part would be Units tests, followed by functional tests, Integration tests (within system), contract tests (system interacting with third party system), external integration tests (system and other third party systems) and UI tests.