In this chapter, we briefly introduced testing and debugging-related topics in the software development process. Testing finds problems, and root cause analysis helps in locating a problem at the macro level. However, good programming practices can prevent software defects in the early stages. Additionally, the command-line interface debugging tool known as GDB can help us set breakpoints and execute a program line by line while printing the values of variables during the runtime of a program.
We also discussed the automatic analyzing tools and human-involved testing processes. Static analysis evaluates the performance of a program without executing it. On the other hand, dynamic analysis tools can find defects by executing the program. Finally, we learned about the strategies of what, when, and how, a testing process should be involved in a software development pipeline...