Chapter 11. Testing
Software testing can be defined as a critical step in the development life cycle. This step is often silently overlooked by a number of developers because a certain amount of time need to be invested into writing a decent test suite for a code base. Rather than being a single one-time activity, writing tests is a process that follows our code as it grows and changes. Test results should, at any given time, validate and verify that our software works as expected, thus meeting the business and technical requirements. Writing tests should follow writing the actual application code early on in the life cycle. This helps prevent defects from being introduced in the code.
On a high level, we can divide tests into the following categories:
Static: Application code is not executed during testing. Possible errors are found by inspecting the application code files and not on their execution.
Dynamic: Application code is executed during testing. Possible errors are found while checking...