Stop asking "how do we make E2E faster?" Start asking "should this even be an E2E test?"
What percentage of your UI tests are currently E2E?
Stop asking "how do we make E2E faster?" Start asking "should this even be an E2E test?"
What percentage of your UI tests are currently E2E?
• E2E tests → Verify production environment integrations
• UI tests with fake data → Verify state handling (loading, success, error)
• Screenshot tests → Verify the pixel perfectness
• E2E tests → Verify production environment integrations
• UI tests with fake data → Verify state handling (loading, success, error)
• Screenshot tests → Verify the pixel perfectness
But E2E tests were never designed to test everything. They verify one thing: how your app talks to the production environment.
But E2E tests were never designed to test everything. They verify one thing: how your app talks to the production environment.
That's why I'm writing a book on Visual Testing for Android.
Join the waitlist to find out when it launches and to access early bird pricing: alexzh.com/android-vis...
That's why I'm writing a book on Visual Testing for Android.
Join the waitlist to find out when it launches and to access early bird pricing: alexzh.com/android-vis...
Does your application support foldable devices?
Does your application support foldable devices?
Google's window size classes aren't device categories—they're viewport measurements. The Pixel 9 Pro Fold jumps straight from compact to expanded, never using medium.
On the other side, Samsung's Z Fold 5 uses medium.
Same device category, but different screen sizes.
Google's window size classes aren't device categories—they're viewport measurements. The Pixel 9 Pro Fold jumps straight from compact to expanded, never using medium.
On the other side, Samsung's Z Fold 5 uses medium.
Same device category, but different screen sizes.
Want to dive deeper into visual testing? Subscribe to my newsletter. Plus, you’ll be the first to know when my book on visual testing is released!
alexzh.com/
#AndroidDev
Want to dive deeper into visual testing? Subscribe to my newsletter. Plus, you’ll be the first to know when my book on visual testing is released!
alexzh.com/
#AndroidDev
Start strategically:
• Convert your design system and/or common components first
• Add preview functions for the most critical screens
• Gradually expand coverage to less critical screens
Start strategically:
• Convert your design system and/or common components first
• Add preview functions for the most critical screens
• Gradually expand coverage to less critical screens
You likely already created a preview function, which was the hard part.
You likely already created a preview function, which was the hard part.
Let's compare:
• US: 12,345,678.9
• FR: 12 345 678,9
Use "NumberFormat.getNumberInstance(locale)." for number formatting.
Which of these has caused issues in your apps?
Let's compare:
• US: 12,345,678.9
• FR: 12 345 678,9
Use "NumberFormat.getNumberInstance(locale)." for number formatting.
Which of these has caused issues in your apps?
Is "01/02/2025" January 2nd or February 1st? Actually, it depends on the locale.
• US: MM/DD/YYYY
• UK: DD/MM/YYYY
Use "DateTimeFormatter" to format dates based on locale.
Apply a similar approach to time formatting.
Is "01/02/2025" January 2nd or February 1st? Actually, it depends on the locale.
• US: MM/DD/YYYY
• UK: DD/MM/YYYY
Use "DateTimeFormatter" to format dates based on locale.
Apply a similar approach to time formatting.
• US: $1,234.56
• DE: 1.234,56 €
Use "NumberFormat.getCurrencyInstance(locale)" for proper currency symbol positioning.
• US: $1,234.56
• DE: 1.234,56 €
Use "NumberFormat.getCurrencyInstance(locale)" for proper currency symbol positioning.