Most Ruby programmers spend significant time writing, maintaining and troubleshooting automated tests. While recent discussions in the Ruby community have focused on whether we’re writing too few or too many tests, this talk looks at how we can write “sensible” tests that allow our applications to deliver the most possible value with the least amount of development time and effort.
This talk will discuss how to test sensibly by trying to answer the following questions:
- What should we be concerned about in systems with Ruby and Rails, and how should that guide us to create appropriate test coverage?
- What are the different types of tests, and what type of coverage should we try to achieve for different test types?
- What are signs that a test suite is becoming too large, and how do we prevent this from happening?
- In this talk I hope to also demonstrate how writing tests before implementing code helps to shape the architecture of an object-oriented system in a way that may not be achieved by writing tests after a system has been written.