I'll start with one of the most basic testing fundamentals. It is also one that you will likely find applies in your day-to-day software development.
When you make a software change like adding new behavior or changing existing behavior, you need your testing to prove 3 things:
- Your changes result in the desired new or changed behavior.