- Helder Berto
"It is unthinkable to develop professionally without including tests" - Fabio Vedovelli
The 5 whys to test the software
- Confidence to refactor.
- Confidence to add new features.
- Confidence to update dependencies.
- Facilitates understanding of implementation.
- Works as software documentation.
What do I need to test?
- Everything that makes sense to test!
- Ask yourself: "Do I need to comment here?", if the answer is "yes", it's better to write a test.
The most common software testing types
- Unit Tests
- Do one thing, and do it well. The UNIX Philosophy
- Avoid external dependencies.
- Most common in the universe of tests.
- Integration Tests
- They focus on validating multiple parts of the application work together.
- End to End (E2E) Tests
- Normally runs in the browser, you can see the browser working like a real user.
- You write a simulation-like user behavior.
- This is the most expensive type of test, not in terms of value, but because it involves the application running, services responding, and the browser running that is heavy.