Me (Ran Yitzhaki)
Oliver
@ranyitz
@ranyitz
a procedure intended to establish the quality, performance, or reliability of something, especially before it is taken into widespread use
The speed of making changes in the codebase
Manual testing takes time, if you need to verify that all your app’s possible scenarios are still working, you will end up moving very slowly
You can refactor knowing that your app still works which raise the chance that you’ll actually do it and improve your ability to deliver more features fast
You can deploy a new version, knowing that you are covered by your test suite
The ability of your app to grow in terms of features and team size
While manual testing works when you have 3 features, it will take a lot more time if you have 30 or 300. Automating tests is crucial for creating large applications
When you’re joining a new codebase it’s much easier to contribute when you know that you’ve haven’t broke anything, making it possible for multiple people to work on the same codebase without stepping on one another
Know exactly what your code suppose to do and be sure that it does it
Tests are usually a good place to start when trying to reason about what an app does without getting into the implementation itself.
Know that even if a long time passed and things in the code have changed, your tests can promise that the functionality remains the same.