# Python Course

Previous Chapter: Recursion and Recursive Functions
Next Chapter: Memoization with Decorators

## Python Tests

### Debugging and Testing

Usually, programmers and program developers spend a great deal of their time with debugging and testing. It's hard to give exact percentages, because it highly depends among other factors on the individual programming style, the problems to be solved and of course on the qualification of a programmer. Of course, the programming language is another important factor.
You don't have to program to get pestered by errors, as even the ancient Romans knew. The philosopher Cicero coined more than 2000 years ago an unforgettable aphorism, which is often quoted: "errare humanum est"1
This aphorism is often used as an excuse for failure. Even though it's hardly possible to completely eliminate all errors in a software product, we should always work ambitiously to this end, i.e. to keep the number of errors minimal.
How to continue: We are maintaining 4 different Python tutorials: A German and an English tutorial dealing with Python 2 and a tutorial on Python 3 in English and German. This means an enormous amount of work. To reduce this work load, we have decided to concentrate on the two Python 3 tutorials in future.
We recommend to continue with our chapter "Tests" of our Python 3 tutorial.
Previous Chapter: Recursion and Recursive Functions
Next Chapter: Memoization with Decorators