Ensuring that our features are reliable is just as important, and that's where our comprehensive testing philosophy comes into play. We've built a robust testing framework that uses some great tools, starting with Jasmine and RTL, or React Testing Library for unit testing. We also harness the power of mock service worker to simulate API calls during testing, ensuring that we can test components in isolation without needing live back end services.
And for our end-to-end testing, we use Selenium to automate the testing of our user journeys. Our front end teams at HubSpot dive into three main types of testing. The first one is unit tests that involve verifying the smallest units or components of our applications function as anticipated. The next one is integration tests that involve verifying the interactions between multiple units to ensure they function as expected, essentially conducting unit tests at a container or a full page scale. And the third is acceptance tests or end-to-end testing. This involves testing complete workflows or paths that the user will take within the application.
To help our developers navigate this landscape, our front-end testing team has created helpful documentation. And what it does is it guides them in choosing the right type of tests by considering factors like whether the functionality is crucial, how predictable and maintainable the test will be, and if an API is involved. This helps to ensure that each test strategy aligns perfectly with the needs of the code base. In essence, our philosophy is about looking at the bigger picture while making sure the details are perfect. This balances both depth with breadth to keep everything running smoothly for our users.
Alongside our decision-making framework, we've developed internal tools that allow you to run your branch against code in other repositories. This proactive approach helps us to catch and fix potential breaking changes before they hit production. Now I will say bugs, sneaky as they are, still sometimes find a way through. And when this does happen, the same tools are invaluable for tracing back the specific builds affected by the changes. This capability means that we can swiftly roll back to a stable version and tackle the error without hassle, ensuring minimal disruption and a smooth user recovery.
So as we've journeyed through various different facets of HubSpot's approach, from our customer-centric philosophy and team structure to our innovative front-end architecture and comprehensive testing strategies, it's clear that every element intricately is designed to accelerate value to our customers. And here's how we do it. We embrace a customer-centric approach, keeping customer needs at the forefront, iterating quickly based on user feedback, and ensuring the solutions provided deliver real and tangible value. We foster innovation with specialized small teams by encouraging agility and ownership. By structuring teams to be small and specialized, we accelerate deployment and empower teams to make impactful decisions. We enhance developer efficiency with custom tooling by creating internal tools that are tailored to our specific workflow. These tools streamline processes, reduce manual efforts, and improve the overall developer productivity, allowing our engineers to continue to focus on innovation. And lastly, we prioritize comprehensive testing for quality assurance by integrating a testing philosophy that includes unit integration and end-to-end tests. This allows us to maintain high standards of both quality and reliability and also address issues early in the development cycle.
I want to thank you all so much for taking the time to join me here at React Summit today, and I want to shout out my amazing colleagues on HubSpot's developer relations team. If you're interested in developing on HubSpot or you're curious about the ways that you can use React on HubSpot, you can check out our QR code that will head over to developers.hubspot.com/react on HubSpot. We would also love to connect with you. You can follow us on the HubSpot developer socials like LinkedIn, YouTube, and Twitter for more. And if you have any questions for me or would like to connect, you can find me just about everywhere at Bytes and Free. Thank you!
Comments