web content differently • Increase in client-‐side code • Developers – build web apps with one browser – test manually for a few more as an aFer-‐thought
interac1on – Simulate a user’s interac1on with the web applica1on – Gain access to various dynamic DOM states – Incrementally build a State Graph h_p://crawljax.com
BODY ≡ ? HEAD DIV class=news HTML SPAN #content LABEL BODY Screen 4 Screen 4 • Tree comparison • DOM differencing • Filters to prune syntac1c differences – Case sensi1vity, white space, etc
set of differences to detect • Observable Differences: Where the end human user can visually see a difference • Trace/Screen-‐level Differences: Where our technique can poten1ally observe a difference D: Differences detected by our tool
the Web • Various Browser/OS/Plaqorm combina1ons – Cross-‐browser compa1bility is more than look & feel – Treat CBC as a func1onal requirement • We provide an automated approach to detect – trace-‐level and – screen-‐level differences