Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk "Sensible Testing" by Justin Leitgeb at GoRuCo 2012, the discussion centers around improving the quality and effectiveness of automated tests in Ruby programming. Leitgeb acknowledges the importance of testing in the Ruby community compared to past practices in other languages like Perl. He highlights the debates on the quantity and quality of tests, focusing on the principles guiding test writing. The goal is to develop 'sensible' tests that maximize application value while minimizing development time. Key points include: - **Reflection on Prior Talks**: The speaker connects his ideas to previous discussions on tools and architecture, emphasizing the community's commitment to testing. - **Testing Practices Evolution**: Discusses the cultural shift in testing practices within the Ruby community and the spectrum of approaches from various thought leaders, like DHH and Kent Beck. - **Test Coverage Debate**: Analyzes the merits and drawbacks of striving for high test coverage and introduces the concept of a 'code-to-test' ratio that signifies when coverage might become counterproductive. - **Habitat and Comfort**: Introduces the idea of "habitability", which emphasizes ease of modification in code, extending this principle to the test coverage practices. - **Cupid Acronym for Testing**: Presents an acronym 'Cupid' as a framework to encourage sensible testing practices, focusing on consistency and clarity in test writing. - **'Consistent Distance'**: Encourages direct interaction in acceptance tests without unnecessary stubbing to simulate user experience. - **Pyramid Structure of Tests**: Illustrates the optimal structure with unit tests forming the base, followed by fewer integration tests and acceptance tests at the top to improve suite efficiency. - **Immutability and Idempotence**: Emphasizes the importance of immutability in test suites to mitigate side effects and maintain test reliability. - **Continuous Reflection on Practices**: Encourages developers to consistently assess and adapt their testing strategies based on previous outcomes and community values. In conclusion, Leitgeb advocates for a flexible approach to testing strategies, promoting a balance between sufficient coverage and effective practices that facilitate robust development environments. He calls on attendees to reflect on their methodologies and consider improving their approaches to testing, reinforcing that developing tools and processes should be adaptable to enhance software engineering practices.
Suggest modifications
Cancel