Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By Christopher Sexton Is your test suite comprehensible to someone new to the project? Can you find where you tested that last feature? Do you have to wade through dozens of files to deal with updated code? Organizing tests are hard. It is easy to make things overly elaborate and complicated. Learn an approach to grouping the tests together in a way that makes sense. We can test drive without creating overly brittle tests. Lets build better designed projects by keeping our test suite clear and understandable. Help us caption & translate this video! http://amara.org/v/FG2k/
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 this talk titled "The Other Junk Drawer: My Tests are a Mess," Christopher Sexton presents his reflections on the importance of maintaining a clean and organized test suite in software development. Drawing from his experiences, Christopher emphasizes that while testing is essential for reducing bugs and facilitating design choices, the management of tests introduces its own challenges. He proposes a philosophical approach to testing that prioritizes simplicity, suggesting that well-structured tests are easier to maintain and understand over time. Key Points Discussed: - **Reality of Disorganization**: Christopher admits that his tests have become disorganized, likening them to a junk drawer, and acknowledges the ease with which test suites can become messy. - **Philosophical Perspective**: Encouraging developers to reflect on the purpose of tests, he discusses the need for clear goals that align with domain priorities and business needs. - **Simplicity vs. Complexity**: Christopher highlights the difference between complexity (the number of components) and complication (difficulty in understanding), advocating for systems that are complex yet comprehensible. - **Three Key Concepts**: - **Priority**: He illustrates the importance of prioritizing test organization alongside feature development by sharing a personal anecdote about his son's messy room. - **Intent**: He uses a story about his daughter to stress the importance of understanding underlying problems that lead to testing chaos. - **Habits**: Christopher underscores the necessity of developing good testing habits consistently, even in seemingly simple cases. - **Test Levels**: He discusses the significance of both high-level acceptance tests, which provide a broad overview of project functionality, and unit tests that focus on smaller code components. - **Organizational Strategy**: Christopher advocates for a mirrored directory structure in test organization, ensuring that test files correlate neatly with application files. - **Discussion and Collaboration**: He emphasizes the need for collaboration with team members to identify essential tests and to ensure that testing efforts are aligned with project goals. - **Red-Green-Refactor Cycle**: Christopher recommends applying this cycle effectively while managing test setups, particularly in relation to acceptance tests. In conclusion, the talk reinforces that testing need not be burdensome; with intentional design and a focus on simplicity, developers can create effective tests that enhance code readability and maintainability. The key takeaway is that a thoughtful approach to testing can transform a messy test suite into a valuable asset for ongoing development.
Suggest modifications
Cancel