How They Test - Reddit's Approach to QA
We're all busy with our daily testing tasks. We're probably working for a company, trying to figure out the best testing strategy and helping our companies build strong products. Sometimes, we focus so much on our own work that it's hard to see how other companies operate. I believe it's good to look at how big companies do their testing. This lets us learn from them and compare what we're doing. After all, there's no golden rule in software testing. Every company has different needs, and we all need to come up with a mix of strategies to solve our testing problems.
In this issue, I want to share Reddit's testing strategy with you. As you know, Reddit is one of the largest social news aggregation sites. You can find discussions on just about any topic on Reddit. They have over 50 million daily active users, so they reach a lot of people.
Recently, they've open-sourced their testing strategy and tooling for iOS and Android applications. Here are the links:
Reddit iOS app Testing Strategy and Tooling:
https://www.reddit.com/r/RedditEng/comments/14gd9gc/ios_ui_testing_strategy_and_tooling/
Some of the key points:
Firstly, it's surprising to see that they only recently enabled test automation in their process. One would expect companies like Reddit to already have solid processes in place, but you never know. So, if you work in a company without a proper automation flow, don't feel bad. There is always time to improve and make things better.
They established the quality team in 2021, and the team is adopting a Shift Left Testing strategy, creating numerous test tools and reducing release candidate testing time from 3-4 days to less than a day. Currently, 1,800 end-to-end UI test cases are actively employed, covering different aspects of the application.
Developers are encouraged to write end-to-end UI tests with every new feature addition or modification. I see this as a growing trend. In many companies (like Reddit, Miro, ING, etc.), the QA or Automation Engineer's role is more about setting the quality standard, and it's expected that other engineers contribute to the automation framework.
Reddit’s E2E UI Automation Framework for Android
https://www.reddit.com/r/RedditEng/comments/11x5iwv/reddits_e2e_ui_automation_framework_for_android/
Here, we can see that they use the famous "page-object-model" to create their testing framework. It's always good to follow a design pattern to create a solid framework, which you will need to maintain for a long time.
In summary, I'm delighted that more and more companies are publishing their testing strategies. It's always beneficial for us to read and understand how others work, so we can improve ourselves and perhaps, draw influence from others' work.
What do you think about Reddit's testing strategies? You can share your opinion in the comments.
Happy testing!