In this chapter, we learned about various types of software testing and how testing in CDK is performed using fine-grained assertions and snapshot tests. We learned how, by using them, we can protect sensitive components of CDK applications. We also learned how to examine CDK deployment logs when facing issues. Finally, we learned how to debug our CDK applications in VSCode, as well as troubleshoot common issues. In the next chapter, we will step into the world of serverless development using CDK.