Testing: Culture & Tools
A soundbite from Jem Young on how him and his team at Netflix have cultivated a successful testing environment.
Testing is not just a phase in development; it is a crucial practice that ensures our large-scale web applications are robust, maintainable, and scalable. In today’s issue, we share a soundbite from Jem Young (Engineering Manager - Web Platform & UI Data Platform) on how him and his team at Netflix have cultivated a successful testing environment.
In the “Building Large Scale Apps” newsletter, we share content on building and maintaining large-scale web applications, with a focus on front-end engineering and JavaScript technologies.
Some content we share will focus more on exploring code changes and API enhancements, while other content will dive into sharing experiences, case studies, or insightful anecdotes from seasoned engineers in the industry working with large-scale web apps (like this article!).
To get issues like this in your inbox on a weekly (or bi-weekly) basis, be sure to subscribe!
Testing
In software development, testing is the process of evaluating a system or its components to determine whether they meet the specified requirements. The purpose of testing is to ensure that the application works as expected and meets all functional and non-functional requirements. In other words, testing is how we make sure that the software does what it’s supposed to do.
As web applications grow in scale and complexity, the importance of a robust testing strategy becomes paramount. Testing ensures that new features integrate seamlessly, existing functions perform as expected, and the user experience remains unaffected by new changes. However, the question isn’t whether to test (we should!) but how to adapt testing strategies effectively across varying project sizes, complexities, and team dynamics.
It’s crucial to acknowledge that there is no singular approach to crafting the perfect testing strategy. In the book, we discuss this point in detail by addressing several important questions:
Should we always aim for 100% test coverage?
(We don’t think so).
Should we write all our code with a Test-Driven Development mindset?
(It can be helpful, but it’s not necessary to always adhere rigidly to this methodology).
Which type of tests should we focus on (Unit, Integration, E2E)?
(It depends).
Where do snapshot tests fit in?
(They often work best for use cases where UI consistency is crucial).
Etc.
Factors like project scope, team expertise, and resources dictate how we prioritize and implement testing strategies to best support and enhance our team’s development processes.
Testing: Culture & Tools
A few months ago, we asked friends and folks in the industry to share their perspectives on building large-scale web apps with React. Jem Young (Engineering Manager - Web Platform & UI Data Platform at Netflix) was kind enough to share some valuable insights into how testing is integrated into his team’s development culture. Check out his video below!
Some key takeaways that we love from Jem’s soundbite:
Testing is not just about the code; it’s about the culture as well.
We agree wholeheartedly with Jem on this point. Establishing a culture where testing is viewed as an essential, integrated practice within engineering not only prepares teams to preemptively catch errors but also reinforces a commitment to quality and reliability.
This cultural shift ensures that testing becomes a habit rather than an afterthought.
You need to have a cohesive testing toolset (and strategy).
In the modern JavaScript ecosystem, tools change often, which sometimes makes it challenging to keep up with the latest and most effective methods. Despite this, the benefits of standardizing and sticking with a cohesive testing toolset, as highlighted by Jem, are substantial. A unified set of tools across a development team reduces fragmentation and streamlines both the learning process and the application maintenance.
Similarly, a standardized approach to how we write tests within a team ensures consistency, facilitating easier collaboration and faster onboarding of new members. Earlier in this issue, we discussed how there is no one-size-fits-all strategy for testing, but aligning on a unified method that works for you and your team ensures everyone is on the same page and can effectively contribute to a project’s success.
What are your experiences with testing in your projects? Do you have a preferred strategy, or have you encountered unique challenges that shifted your approach? We’d love to hear your thoughts and how you’ve integrated effective testing strategies within your team!
See you next week!
Your friends, Addy & Hassan
Enjoyed this issue? Be sure to subscribe to get this newsletter directly in your inbox.


