cascadiajs / 2015.cascadiajs.com

The official repo for the CascadiaJS 2015 conference
MIT License
54 stars 29 forks source link

Why everyone gives up on end-to-end testing (and why you don't have to!) #329

Closed geekdave closed 9 years ago

geekdave commented 9 years ago

Why everyone gives up on end-to-end testing (and why you don't have to!)

Automated cross-browser end-to-end testing (e2e) is like a gym membership. Everyone knows it's good for you. Just about everyone has tried it. But few manage to keep it up because it's hard and there is always something easier to do.

Unlike unit testing, which is fast, predictable, and full of good turnkey solutions, e2e testing is:

...basically, it really really sucks to deal with. Most teams either give up, or say that they're doing it, when in reality their test suite is shallow and out-of-date.

To hell and back!

At WalmartLabs, we schlepped through the muddy trenches of e2e testing solutions for the past year, in search of a strategy that would be:

We grew more gray hair, banged our heads on the desks, and cursed like sailors. But we wound up creating something called Magellan that we're damn proud of. It's less of a "framework" and more of an "ecosystem". It's a collection of tools, scripts, recommended best practices (and discouraged worst practices) that we've organically curated over time.

From inter-team to open-source

Since the beginning, we've treated Magellan like an "internal" open source project: striving to permit new WalmartLabs project teams to "jump right in" and adopt our e2e testing solution without a lot of hand-holding. We've gotten pretty good at it, and we'll soon be releasing the Magellan ecosystem as public FOSS. So we thought it would be a good time to share our stories.

What we'll show

We're not going to try to sell you a framework. But we want to tell the story of our journey to find all the missing pieces of the e2e testing puzzle--the key ingredients to a successful enterprise-grade e2e testing solution.

It's part technical, part politics, and all honest:

Dave

Dave is a Staff Software Engineer on the "Front End Ops" team at WalmartLabs. When he's not "automating the pain away" you can find him enjoying the Colorado wilderness with his family, and obsessing over espresso.

Public Speaking