We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
TDD Revisited - Ian Cooper - NDC Porto 2023
Understand TDD's true principles and benefits in this talk, where Ian Cooper shares insights on embracing simplicity, gradual exploration, and rapid feedback to create quality, maintainable code.
- What you need to understand TDD is the principle that you only write production code in response to a test.
- Tests are not driving design decisions, rather they are following a given requirement’s acceptance criteria.
- The aim is to keep the implementation simple and not to the point of overwhelming, where issues will arise.
- TDD is about gradual exploration of a problem, not using contracts.
- The more time spent on code, the more time spent explaining it.
- Fast feedback is crucial for effective TDD, ensuring the learning process is efficient.
- The idea of exploration in TDD is suitable for those who are terrified of change, yet they tend to overcomplicate designs.
- For some developers, testing is the process of reassurance, a way to gauge progress.
- No one wants to go back to the old school of “coders who hack away at code without care”.
- Rapid feedback is so important that it can be overwhelming, but it’s necessary to prevent code from becoming too complex.
- The results we’re looking for are quality code and a single design.
- Some developers love BDD, but it’s important to understand it and not just follow it blindly.
- Some frameworks and tools are problematic because they can make our code more rigid, rather than more flexible.
- Allowing our code to change without impacting others is known as “autonomous” code.
- Once upon a time, testing was not a topic for conference talks.
- Martin Fowler’s definition of refactoring is a change made to the internal structure of a system.
- Customers write acceptance tests, making them hard to get wrong.
- James Shaw, the creator of FIT, believed in testing on a high level.
- Using outside-in testing decreases the chances of having tests break frequently.
- Exploring working software is an experience developers tend to love.
- The conference talk is about understanding how testing can help code be more flexible and maintainable.
- Ian Cooper and Martin Fowler have made significant contributions to their respective areas in the software development industry.
- The principles of TDD include using tests as a form of design, exploration, and reactivity.