Data Concerns

Websites Are All Special Little Snowflakes

Some Snowflakes

  • Dynamic site w/Angular/React/Ember/Backbone/etc
  • Simple site that you haven't touched in a year
  • 1000+ page CMS
  • Visual/interactive page with animations, background image fanciness, etc
    • Parallax/scroll effects

Some Snowflakes

  • Responsive layouts with content that's different per screen resolution even though it's the same page
  • Brand new sites under heavy development
  • A/B Sites (or multivariate)
  • Mobile web apps
  • Sites behind logins
    • Internal portal with SSO

Some Snowflakes

  • Sites with server/API functionality
    • Responses from the server
  • Content that loads on scroll
  • "Front" pages with content that changes daily
    • Twitter or a news page or blog

Some Snowflakes

  • CSS animations with long delays
  • Different content between dev and staging and production
  • Content that changes automatically on the page (timer/carousel/etc)

Workflow Options

  • Don't use baseline images
    • Compare two sites with the same database but different code versions
  • Test against a pattern library/style guide
  • Use a mock (fake)¬†API/database
  • Duplicate database content (you'll need DevOps)

Building a Test Suite

Why?

Programmatically determine results

Benefits

  • Easier to understand results
  • Helps automate review process¬†
  • Better code organization
  • Extra features

Tools

  • Mocha
    • Test framework
  • Chai
    • Assertion Library