Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
http://rubykaigi.org/2015/presentations/estolfo There are so many testing frameworks available to us that we sometimes overlook a completely valid, and sometimes preferable option: writing our own. The drivers team at MongoDB focused over the last year on conforming to common APIs and algorithms but we needed a way to validate our consistency. We therefore ended up building our own testing DSL, REST service, and individual test frameworks. Using these common tests and the Ruby driver's test suite as examples, this talk will demonstrate when existing test frameworks aren't the best choice and show how you can build your own.
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 titled "DIY (Do-it-Yourself) Testing" at RubyKaigi 2015, Emily Stolfo discusses the development of a custom testing framework used by the MongoDB drivers team. The talk begins with Stolfo's personal connection to Berlin's DIY culture, setting the stage for an exploration of testing in software development. Key points include: - **Introduction to MongoDB**: Emily explains MongoDB as an open-source document database that utilizes BSON format, which resembles JSON but allows for more complex data structures. - **Roles and Responsibilities**: Stolfo is part of the MongoDB drivers team, which works intensively on different drivers across multiple programming languages. This team ensures efficient communication and interaction between applications and the MongoDB database. - **Inconsistencies and Challenges**: The rapid development of various drivers led to inconsistencies between them, particularly when adapting to different cluster states. This unpredictability made support and documentation challenging as developers used varying implementations. - **Need for Specifications**: To address these issues, the team focused on creating specifications for consistent driver behavior. One of their primary specifications is the Server Discovery and Monitoring Specification (SDAM), which details how applications should interact with the database reliably. - **Building a Testing Framework**: To validate that drivers adhered to specifications, the team created a comprehensive testing framework, comprising both unit and integration tests. They utilized YAML for test definitions due to its language-agnostic nature and simplicity. - **MongoDB Orchestration Service**: A significant tool introduced is the MongoDB Orchestration service, which allows for flexible, real-time setup of MongoDB clusters through RESTful API calls. This service aids in performing integration tests across different configurations without needing to replicate entire environments manually. - **Project Improvements and Community Sharing**: The presentation emphasizes the importance of knowledge sharing and maintaining clear documentation across the team. The collective endeavor to standardize processes and specifications has significantly improved MongoDB’s testing capabilities. - **Encouragement for Innovation**: Stolfo concludes by urging the audience to consider their testing approaches and the benefits of establishing their own frameworks based on the shared experiences of the MongoDB team. Overall, the session highlights the value of DIY approaches in software testing, advocating for tailored solutions that drive better consistency and quality in software development.
Suggest modifications
Cancel