On September 20 I attended the VLC Testing conference. Here you can find some of the key ideas and learnings that I got that day.
Testing contributes to developing and building the product. It is not a blocking phase, it does not slow down the project. Actually, it increases the quality of the product. It's true that software with high internal quality gets a short initial slow down but also delivers more rapidly (and cheaply) later.
There should not be a testing phase lately in our development lifecycle, testing is part of the whole lifecycle. Shift Left Testing encourages testing earlier in the lifecycle. How? Doing Test Driven Development, using Static Analysis tools, testing every delivered feature...
Testing is responsibility of the whole team, not just of the testers or QA team.
In case that we are not already doing tests, it's better to have something done than perfect. Do not spend too much time trying to find the perfect framework or testing tool, choose one that looks good to the team and start working.
We should be doing more integration tests and less unit tests. This relates to the idea of not testing implementation details and testing behavior. It should be easy to know if, after a refactor, our code still works or not.
Our tests should provide a good developer experience. Avoid flaky or slow tests. Testing implementation details also makes it harder to maintain tests worsening the experience.