Sanitizing and Testing Asynchronous Software
Testing is the process of evaluating and verifying that a software solution does what it’s meant to do, validating its quality and ensuring that user requirements are met. With proper testing, we can prevent bugs from happening and improve performance.
In this chapter, we will explore several techniques to test asynchronous software, mainly using the GoogleTest library and sanitizers available from GNU Compiler Collection (GCC) and Clang compilers. Some prior knowledge in unit testing is required. In the Further reading section at the end of this chapter, you can find some references that could be useful to refresh and expand your knowledge in these areas.
In this chapter, we’re going to cover the following main topics:
- Sanitizing code to analyze the software and find potential issues
- Testing asynchronous code