Testing in production helps you catch the bugs before the final version goes into production. Observability facilitates testing in production by providing full-stack visibility inside production and infrastructure.
While testing focuses on whether the particular functionality works appropriately, observability focuses on the system’s overall health. Together, they provide a holistic picture of your system.
To better understand the role of testing in production, its divided into three phases:
Deployment is when you deploy new code to your environment, whether it’s an internal or external environment. This phase includes setting up your build and testing environments. You should also verify that your changes didn’t break anything else on your system before you release them to customers or clients.
Release is when you push out new code to customers or clients outside of your development team (e.g., QA). This phase includes checking for any bugs that might have been introduced during deployment and fixing any issues that were found as well as verifying that there are no other issues present in released code before releasing it to customers or clients for feedback and testing purposes.
Post-release is where you would fix any issues that were discovered during deployment or release by reverting back to previous versions.
Analyze the impact of observability on testing in production and three testing phases here: How do You Fit Observability within Testing & QA?