How Rally Does Front-end Testing
Will Klein
Let me tell you
a story
In a world...
Without tests
The Interview
Write these specs!
Pass these specs!
WTF am I doing?
What's the point?
Regressions
Documentation
Scale
Our dev process
Test planning
Building
Automated Testing
Code Review
QA
Merging
Test Planning
Involve dedicated QA
Review acceptance criteria
Tests we expect to write
Building
Spike out implementation
Write tests
Run tests
Run all tests
Automated Testing
Code Review
Did you write tests?
Are you missing tests?
Are your tests valid?
QA
Deploy to test cluster
Merging
Merge to master branch
#1: anything in the master branch is deployable
http://scottchacon.com/2011/08/31/github-flow.html
Better Software
~25k unit tests
~4k functional tests
a build pipeline to rule them all
The Reality
We break tests all the time - good!
We have flaky tests - ouch!
Builds take a while - hmm...
XKCD
What is the #1 programmer excuse
for legitimately slacking off?
Compiling
Running Tests!
http://xkcd.com/303/
Continuous Integration (CI)
Jenkins
Front-end Tech
Jasmine 1.3
Sinon.js
CoffeeScript!!!
Grunt
Selenium
Chrome WebDriver
Back-end Tech
JVM-based
Java
Clojure
Functional Testing
Selenium
Ruby
Runs full app
Hits the UI w/ Selenium
They take forever (technical term)
Notice Polygot?
Java
JavaScript
+
CoffeeScript
Ruby
Build Pipeline
Jenkins
Also see:
CruiseControl
TeamCity
TravisCI
Functional Tests
They take forever to run locally
So we use
on-demands
Demo Time!
Look at stuff
Thanks!
@willslab
github.com/willklein
google.com/+WillKlein
Made with Slides.com