Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
RailsConf 2017: Observing Chance: A Gold Master Test in Practice by Jake Worth Tests try to observe change. But are some systems too big to observe them all? What if we need to test a function with a very complex output? In this talk, we'll explore a Gold Master test– a special test for evaluating complicated legacy systems. We'll look at how this test takes an input, such as a production database, runs it through a transformative function, and then compares the output to an approved version of the output. Testers of every experience level will leave this talk with a new technique for evaluating complex environments, and a broader conception of what a test can be.
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 presentation "Observing Chance: A Gold Master Test in Practice," delivered by Jake Worth at RailsConf 2017, the speaker discusses an innovative testing technique known as the Gold Master test. This approach is tailored for evaluating complex legacy systems where traditional test methods may fall short. Worth begins by contextualizing the challenges of maintaining and testing legacy code, which he describes as old and unwieldy software that is difficult to change and understand due to its complexity and age. Key points discussed throughout the talk include: - **Challenges of Legacy Code**: Worth highlights the common pitfalls of legacy applications, such as outdated technology stacks, unmaintained libraries, and vulnerabilities stemming from infrequent updates. He emphasizes the inevitability of working with legacy code in modern software development. - **Limitations of Standard Testing**: The speaker explains the weaknesses of standard testing methods (unit tests, API tests, and UI tests), particularly when applied to large and complex codebases. These tests often struggle to effectively cover nuanced behaviors in legacy systems. - **Introduction of the Gold Master Test**: Worth introduces the Gold Master test as a comprehensive regression test designed to monitor overall behavior rather than specific functionality. It aims to maintain consistent behavior of the application across iterations. - **Workflow of Gold Master Testing**: A detailed workflow is provided, involving the restoration of a production database, running transformations, capturing outputs, and comparing them against established ‘gold master’ artifacts. The ideal applications for this testing method are characterized by their maturity, complexity, and expected minimal change over time. - **Practical Implementation**: Worth outlines a process for implementing Gold Master tests using Ruby and PostgreSQL, stressing the importance of scrubbing sensitive data before creating test databases. He elaborates on the structure of the test code and how failures prompt critical evaluations of whether the changes were valid or if they represent breaking changes to the user contract. - **Case Study and Real-World Application**: He shares real-world examples, including a project called "Today I Learned," illustrating how the Gold Master test effectively identified significant behavioral changes during development that conventional testing overlooked. In conclusion, Worth stresses the value of Gold Master testing as a strategy for legacy systems, recommending it for developers working with mature, complex applications. He argues that adopting such creative testing methods is essential as the landscape of application development evolves. The overarching takeaway is that Gold Master tests can serve as a vital safeguard for ensuring consistent user experience and application integrity over time.
Suggest modifications
Cancel