9. WHY SHOULD IT BE AUTOMATED?
THE TEST MATRIX IS TOO BIG TO COVER
MANUALLY
Webbrowsers
Devices
Operatingsystems
Screen resolutions
Responsivedesign
L10n
3rd Partyupgrades
11. WHY SHOULD IT BE AUTOMATED?
NATIVE / HYBRID MOBILE APPS
Harder to roll back changes
Can’t pushdaily
Updates take battery and data
Higherquality bar
12. WHY SHOULD IT BE AUTOMATED?
Many are already doing it…
PhantomCSS
Fighting Layout Bugs
CSS Critc Wraith
Needle
Grunt PhotoBox
dpdxt
WebdriverCSS
Eyes
Huxley
FBSnapshotTestCase
Gemini
Selenium Visual Diff
VisualCeption
Specter
Snap And Compare
kobold
18. QUICK FEEDBACK TOOLS
MOTIVATION
Get fast feedback on code
changes
Run tests locally in the
background
SETUP
Render screenshots with a
headless browser
PhatomJS, SlimerJS
Configuration file driven tests
CONS
Partial coverage
Chrome, IE?
Limited navigation
Tests stale browser versions
19. VISUAL COVERAGE TOOLS
MOTIVATION
Verify that the app / site looks right
in all real execution environments
Test as many UI states as possible
Execute many tests in parallel
SETUP
Render screenshots using real
browsers on a variety of
operating systems and devices
in parallel
WebDriver, Grid
Code driven tests
WebDriver, DSLCONS
Requires test infrastructure
Implement and maintain test
code
37. ImageMagick
A powerful command linetool for image processing.
APIs are available for most programming languages.
Fuzzing is used to eliminateslight color differences
An error ratio is usually used to determine a match
$ compare –metric AE –fuzz 5% img1.png img2.png diff.png
2246
48. WHERE DOES IT FIT?
• Component
s
• Code
review
• Developers
• Designers
• QA
Visual testing of frontend components by
frontend developers
49. WHERE DOES IT FIT?
• Pages
• Page
sections
• Developers
• Designers
• QA
• Others
Full or partial validation of application
screens
A collaboration tool
50. WHERE DOES IT FIT?
• Staging vs.
Production
• Ops
• QA
Validate your staging deployment using your
production deployment as a baseline
51. WHERE DOES IT FIT?
• Monitoring
• Ops
• QA
No missing resources in production
No corruption due to 3rd party data
No corruption due to browser / OS upgrades