Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2018: Testing in Production by Aja Hammerly Test All the F***ing Time is one of the values of the Ruby community. But how many of us test in production in addition to running our test suites as part of CI? This talk will discuss a variety of approaches to testing in prod including canaries, blue-green deployment, beta and A/B tests, and general functional tests. I'll share a few times these techniques have found bugs before our users did and how you can use them today with your Rails Application.
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 "Testing in Production" presented by Aja Hammerly at RailsConf 2018, the importance and techniques of testing in production environments were discussed. Hammerly emphasizes that while Ruby developers excel in testing, they often overlook the potential benefits of testing in production settings. Key points covered include: - **Definition of Production**: Production refers to any environment that is not pre-production, where real user load can reveal issues that cannot be found in pre-production testing. - **Real User Feedback**: Testing in production allows developers to uncover real bugs that occur under actual user loads, often missed in traditional testing setups. - **Blackbox Testing**: The speaker shares experiences starting as a blackbox web tester and highlights the value of both automated and manual testing techniques in production. - **Methodologies for Testing in Production**: - **Canary Releases**: Gradual rollout of changes to a small subset of servers or users, closely monitoring the application for errors before a full rollout. - **Blue-Green Deployments**: Maintaining two identical production environments (one live and one idle) to facilitate seamless deployments and quick rollbacks if needed. - **User Focus Testing**: Techniques such as A/B testing and beta programs are highlighted as ways to assess user experience and usability before final releases. - **Smoke Tests**: Automated basic functionality tests run in production to catch issues that may not be evident during regular monitoring. - **Controlled Breakage Testing**: Intentionally disrupting services to evaluate system recovery mechanisms and ensure robustness. - **Disaster Recovery Testing**: Regularly testing disaster recovery plans to ensure systems can recover from major failures. - **Implicit Testing**: Monitoring systems and alerts as a form of testing to ensure expectations are being met in production environments. The presentation concludes that developers should embrace testing in production, ensuring their systems work reliably with real user interactions. The importance of planning, ethical considerations in testing, and leaving systems as they were post-tests are emphasized as critical practices for effective production testing.
Suggest modifications
Cancel