Seamless Testing, Debugging, and Profiling
In Chapter 5, Version Control with Git in PyCharm, I talked about The Joel Test. This test is just a list of best practices. At the top of the list is the use of version control, which was the subject of the previous chapter. If you looked up the list, you were probably not surprised to see testing was also on the list. Formalized software testing practices such as test-driven development (TDD) and behavior-driven development (BDD) are the cornerstones of software quality control. Working with these methodologies helps you create software that is less likely to fail in production. Done correctly, it also has side benefits, such as preventing scope creep and allowing for effective refactoring on projects that might have neglected best practices and taken on a lot of technical debt.
Several levels of testing are in practice today, including the following:
- Unit testing, which aims to test basic low-level functionality at the level...