I recently finished developing a piece of software in python where learning models and data processing procedures are contained within different class objects that succeed to each others (modules). As I'm new to standard practices in software development, I would like to know the followings:
- Should I apply unittests to all my modules (and relate methods) to make sure that any future changes will be checked thereafter?
- Should I develop assertion/exception tools that check the user inputs of all modules (and related methods) and raise errors if e.g. an input value is not within an expected range?
The final goal will be to develop a web-based app (with deployment and monitoring of learning models).