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
Why Mocha?
By Kevin Lamping
Why Mocha?
- 1,022