How much more complicated and increase the development time?

You may have a strong belief that covering code with tests is a very time-consuming task, although in fact, covering code with tests is simple and fast!
Tests can be imposed gradually, starting with critical nodes, then covering the entire functionality.
And when you write, check your functionality?
So do the test, and debug the code right away with the tests.
Testing should help, not hinder or annoy.
And slowly, slowly, not noticeably tests will cover all Your code and not only. Tests will cover the functionality of third-party components, development environment code, and checking the functionality of the operating environment and the database server .
Personally for me testing has also a very strong emotional stimulus. It's nice when you press the button you see that your program is flawless. Of course, when modifying and making changes to the debugged code, there may be errors, but until then, there are no tests.

Only 4 steps for the first test More detailed