MYBESTBRANDS is Germany's leading online shopping mall for premium and luxury fashion with more than 5,000 brands and designers.
They work with the likes of Burberry, Gucci, and Valentino to offer their users the most up-to-date trends and the best deals to find.
A central value proposition is the integration of the more than 100 partner shops. And turning that into a high-quality user experience is vital for customer satisfaction and business success.
So naturally, QA has always been an integral part of the development process.
But implementing new features often requires multiple review and feedback cycles until everything works smoothly and looks polished.
“The review of visual changes often had to be done in bulk towards the end of a sprint when also the functionality was more or less fully implemented so that all relevant states could be manually reached. This could create bottlenecks and time pressure close to deadlines.”
Valeria, Product Manager at MYBESTBRANDS, recalls.
Another noticeable trend in recent years was the significantly growing complexity of their product. CMS-driven UIs, feature flags and A/B tests or third-party integrations like in‑app‑messaging for example, all did their bit to increase the number of UI elements and possible variations.
As a result, setting up test scenarios across third-party web interfaces, their own staging environment, the CMS, and local app and device configuration also became increasingly complex. At times, backend developers needed to even allocate time to temporarily configure the API for relevant test cases.
Additionally, they needed to manually test across different device types and screen sizes as their diverse audience is running their apps on a broad variety of devices.
“We were spending more and more time on testing all these variations of our UI”
Valeria and her team introduced Appviewer when they were developing a UI-heavy feature, and the benefits became obvious quickly.
Developers began to share development snapshots to show the team what the actual implementation of the feature would look like, in more real-world scenarios and using more realistic data that the designs would not reflect. And they could do so before coding the actual behavior. They would also capture snapshots on multiple devices to show how the UI would scale across screen sizes.
“It turned out to be great for discussions across the whole product team. We could provide feedback to our developers very early on and save a lot of back-and-forth"
Valeria summarizes their experience.
Beforehand the developers would need to repeatedly build and distribute test versions and then sometimes wait days for manual tests to be done and feedback to come in.
Now, by the time the actual test release process is triggered, all UI changes have already been reviewed and manual testing can be more focused on the functional behavior.
Michael, Head of Product, emphasizes how critical it is for them to have a solution in place:
“Ensuring a first-class experience for all our users is essential for us and it really helps to verify more scenarios that easily.”
In regards to the technical introduction of Appviewer, the team liked that they could initially limit integration efforts to just the new screens they were building and then expand coverage after that.
Furthermore, the engineering team could pick an integration approach that leveraged their modern architecture, as one developer notes:
“We build our app with uni-directional data flow and an observable-driven UI layer. And no need to change any bit of it. Setting up the snapshot automation felt super clean.”
Another thing the developers took advantage of, is that these automated tests can be written without any assertions.
"The benefit is that the tests can’t fail and never interrupt our DevOps flow. And it limits test code maintenance to a bare minimum, especially compared to conventional UI tests."
With the core parts of the app now covered and automatically updating, Valeria and her team are already planning to double down and capture more user flows and all their facets.
“Apart from our operational gains, what we came to realize is, how valuable it is for the whole team to have a single reference point for feedback and discussions.”