Upgrade to Pro — share decks privately, control downloads, hide ads and more …

We need a better way to test (Front End PDX Meetup)

Kevin Lamping
September 20, 2017

We need a better way to test (Front End PDX Meetup)

Kevin Lamping

September 20, 2017
Tweet

More Decks by Kevin Lamping

Other Decks in Technology

Transcript

  1. Why don’t we test? • We do, we just don’t

    keep testing • We do, just not in *ALL THE BROWSERS* • We do, just not with every variation • We do, we’re just bad at it A few reasons: 1 - We get fatigued. Small things change between when we start our dev/testing and when we finish (code merges from other teams, software updates) 2 - Not too hard to explain. there are an insane amount of browsers/devices and combinations thereof 3 - Data gets *really* complex. Users come in from a multitude of flows… 4 - We don’t catch all the changes. Change blindness. Story of login page issue with padding
  2. How can we fix this? • Make testing easy enough

    to include in daily workflow • Run tests in multiple browsers via Selenium • Use code to store user scenarios • Use computers to remember details Some ideas: 1 - We get fatigued. Small things change between when we start our dev/testing and when we finish (code merges from other teams, software updates) 2 - Not too hard to explain. there are an insane amount of browsers/devices and combinations thereof 3 - Data gets *really* complex. Users come in from a multitude of flows… 4 - We don’t catch all the changes. Change blindness. Story of login page issue with padding
  3. Functional/UI Testing JS Unit Testing There are lots of different

    types of testing. We’re talking about UI/Browser/Selenium/Functional testing. Basically, the ability to run user actions on a site via a script.
  4. Functional/UI Testing JS Unit Testing The stuff you pretend is

    healthy Unit testing tests specific code
  5. Functional/UI Testing JS Unit Testing The stuff you pretend is

    healthy The reason you’re here UI testing checks behavior/the interface/the actual site
  6. Selenium • Uses real browsers • Programmatic control of them

    • Free & open-source De facto standard for functional testing in the industry. Normally requires learning Ruby or Java or Python. JavaScript library is really frustrating to use.
  7. Extensive Documentation Custom services & reporters Online Course BackstopJS WebdriverIO

    Selenium- Webdriver NightWatch.js Nightwatch looks like a really healthy alternative