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

We need a better way to test (Front End PDX Mee...

Avatar for Kevin Lamping Kevin Lamping
September 20, 2017

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

Avatar for Kevin Lamping

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