Testing software is a complex and often-neglected aspect of development.
How many tutorials have you watched that demo a framework/cli/library that generates a
.test file, only for the tutorial author to politely ask you to ignore that
I get it. Testing is confusing, and it's a huge derail when you're trying to learn to code. However, testing is important!
Not only is it a valuable skill to tout on your resume or in an interview, but it's a great learning tool as well!
When you write tests, you're double-checking yourself in the future when you make changes to your code. You're making a contract that says, "I state that this software should behave like this." If you change something and all of a sudden half of your tests fail, you may discover things you didn't realize about how you coded your software.
Also, when you're writing your tests, you may realize what kind of pandora's box you've opened coding that new feature!
About this week's guest:
- 1:36 - Gil's intro and working for Applitools
- 3:24 - What is "Visual Testing"
5:00 - Front-end testing is difficult
- Gil did a talk on it! - YouTube
8:41 - What types of testing are there
- Pyramid/Diamond of testing
- You can see the visual on Kent C Dodd's site
- 16:50 - "I feel like I'm not testing anything"
- 24:50 - Perfect Testing doesn't exist
- 27:02 - What is a "microservice"?
- 30:24 - How small does a "microservice" need to be?
- 34:08 - How do microservices work with databases?
- 37:25 - What is an ORM?
39:29 - How do you test node?
- 43:58 - How do you test when you're working with a database?
- 47:37 - How do you handle testing at scale?
- 50:41 - Writing tests can show you the folly of your coding decisions
- 53:41 - Words of wisdom for those that don't believe in testing
57:29 - Nerd Minute!
- Monty Python
- Rick and Morty
- Spiderman: Far from home