You’re either missing out on bugs or struggling with complicated tools.
Intended to be used with infrastructure dedicated to testing.
Yeti is hyper-focused on before the commit.
Yeti is personal.
JSTestDriver works well before the commit.
But JSTestDriver didn’t fit our needs.
HTML is supported with their HtmlDoc feature.
We wanted to run our existing tests.
We wanted to run HTML documents with YUI Test tests.
It’s a TODO item for JSTestDriver.
JSTestDriver requires tests to be executed with their test framework.
No support for HTML documents. HtmlDoc is awkward.
We like YUI Test.
We wanted to use our existing tests.
Yeti works with unmodified YUI Test-based tests.
Whatever you want: It’s up to you.
That’s implementation details, not up to the test runner.
Yeti is fast.
You’re testing closer to the change.
You run Yeti from the command line.
Yeti is fault tolerant.
Yeti recovers from syntax errors and 404s.
Yeti reports uncaught exceptions.
Yeti reports tests not in Standards Mode.
Yeti keeps you away from a web browser.
Yeti keeps you closer to your editor.
Yeti keeps you writing code.
When testing is simple, you spend more time on more important things.
You spend less time on boring things.
Graded Browser Support is a QA philosophy. It exists because you can only test so much.
It trades off testing everything for testing a majority.
What if you could test everything?
Your app will be more awesome if testing is easy.
Your app will be more awesome if you use Yeti.
Yeti is designed for the mobile future.
The case for Yeti.
Testing the hard way adds up.
What tests can be made easy?
What tests can be automated?
User interface → best tested by a human.
Most everything else can be automated.
YUI Test is a great web app testing framework.
foo should do X
If a test can be automated, you should be using a testing framework.
If you’re using a test framework, you should automate test launching too.
Yeti is a test launcher.
It launches tests.
For automated tests, it automatically reports results to you.
Reloading just to view YUI Test results is a drag.
And, it doesn’t scale.
You need test automation.
You need a way to launch tests.
How does Yeti fit in?
Using Selenium is complicated.
Selenium has its place in CI.
Selenium doesn’t work for mobile devices.
TestSwarm requires dedicated LAMP infrastructure.
JSTestDriver excels at performance at the expense of too many features.
Yeti is a great fit.
Let me show you.
Try running tests in your web browser or mobile device.
Yeti runs on Node.js.
Yeti itself benefits from asynchronous behavior driven tests.
Practice what you preach.
One more thing.
Yeti is excellent at automated tests.
What about manual tests?
Some tests are difficult to automate.
You’re still opening tests in dozens of browsers.
The test is your web site.
But you should be able to launch them automatically.
Experimental branch on my fork at http://github.com/reid/yeti.
Designed to launch manual tests. Compliments automated tests.
Stickshift builds on the fact web tests are web sites.
Supporting HTML is key to that ability.
Yeti makes you a better engineer today.
Nevertheless, we’re not done. Expect more.
Released today. Better fault tolerance and bugfixes.
We want you to make Yeti even better.
You're either missing out on bugs or struggling with complicated tools.
You’re either missing out on bugs or haven’t used Yeti.
Yeti by @reid — YUIConf 2010