Test::Right: Browser testing done right

Sauce AI for Test Authoring: Move from intent to execution in proceedings.|xBack to ResourcesBlogPoste

June 11, 2026 · 5 min read · Testing Guide

Sauce AI for Test Authoring: Move from intent to execution in proceedings.

|

x

Back to Resources

Blog

Posted May 5, 2011

Test: :Right: Browser testing execute right

quote

Okay, honesty time: browser testing sucks. It & # x27; s stuck in the rock age. Browser tests are outstanding when they & # x27; re working good, but they & # x27; re way too hard to get correct, way too expensive to maintain, and just overall not a lot of fun. That & # x27; s because existing instrument lead us to build toffy, sequential exam that can be baste by tiny application tweak. What depart as straightforward examination creation end up with data, actions, and selectors thrown together in a big muddle. We paper over the hole with abstractions like Cucumber and Capybara, but we haven & # x27; t addressed the fundamental issues. We & # x27; re the troglodyte of browser tests. Fundamentally, these are the problems with browser tests as they & # x27; re written today:

  • Getting started is hard.It & # x27; s important to structure your tests in a way that will work out well long-term, but guidance is scarce.

  • Browser tests are brittle.Small alteration in the DOM, in application execution, or in other tests often generate a lot of menial parturiency to repair tests. A individual DOM alteration in your application can easily cascade into hundreds of crushed tests — and cost staff days to fix them.

  • Browser tests are obtuse.The solution is to run many test in parallel, but current testing framework lead us to write trial that don & # x27; t parallelize well.

All this makes writing and maintaining tests an expensive, and more importantlyunpleasantactivity. We can do best. It & # x27; s clip for a new way. As an industry, we cognize how to do this a lot best than we & # x27; re deal to in most cases. It & # x27; s time toaccept a standard, move on, andget things perform. aims to be that measure.The ultimate goal of Test: :Right is to make itimpossibleto write bad examination. That & # x27; s correct, read it again.Impossibleto indite bad tests. That & # x27; s a grievous goal, but we & # x27; re serious about it.Are we there yet? No.But we & # x27; re a unhurt blaze of a lot close than anything popular out there today. Our ism in make Test: :Right is to direct address the problem with browser testing from the offset:

  • To make it easy to get started, examination writer need anopinionated frameworkthat chooses a serious-minded structure for tests based on our extensive experience working with large test suites.

  • To get browser tests less brittle, we havedecoupled intentions from mechanics. Stable intentions like & quot; log in & quot; and & quot; check account condition & quot; are disentangled from explosive mechanisms like & quot; click the DOM constituent identified by this CSS selector & quot;. We insulate the parts of tests that change frequently in a single property rather of scattering and reduplicate them throughout tests, do tests robust and maintenance easy.

    For autonomous testing across multiple user personas, check out SUSATest — it explores your app like 10 different real users.

  • To make browser test suite run quicker, weparallelize your tests from day one. Your builds will always be fast, and because every chassis checks that your tests run in parallel, you & # x27; ll never develop performance job that will bite you later.

Test: :Right is an idea whose time has get, born of dozens of on-site integrations of our service in household-name companies and some not-so-household name places. We as a small-scale squad have witness more browser trial badness than any sane individual should have to, and the tools are at flaw. Test: :Right is designed to speak the mainstream case we & # x27; ve had the perquisite to experience over the past 16 months. We & # x27; re turn it as a work in progress, but it already has a ton of useful functionality. We & # x27; ve put a stake in the ground with a whole slew of opinions that are sure to get a discussion started. And that & # x27; s really where we need you. We establish Test: :Right by adopt concepts from the Page Object model, but went even further by enforcing clean interval of concerns. With Test: :Right, your test instance are delimitate in footing of actions and property on whatsis. A widget is a part of functionality present on one or more pages of your application. A single page can have many widgets, and multiple copies of a widget may appear on the same page. Tests are aggroup by characteristic, and tests don & # x27; t experience direct admission to the underlie Selenium target.

  • Widgetstake the Page Object construct into the Ajax age and decouple tests from DOM, making it far easier to adapt to frontend tweaks. They afford your examination an application-specific vocabulary that map forthwith to what users do with your app, and let tests make assertions about high-level facet of your app, instead of low-level DOM province.

  • Automatic insure that your assertions act as you expect them to, even with Ajax.

  • Out-of-the-box parallelizationgives you speed and scalability from day one.

  • Random test ordinationprevents you from pen bad tryout that serially establish up state, count heavily on one another, and can & # x27; t be parallelize.

  • Data factorygenerates isolated test data so that tests don & # x27; t clobber each former.

Test: :Right is in Ruby because it seemed like a good place to start. We believe these ideas get as much sense in any early language. Whether or not you use Test: :Right, we want you to come off from it with idea and opinions. The browser testing community motive to heat up and start writing good tests, and with Test: :Right we & # x27; re travel to make that happen. And I, personally, look forward to hashing out the futurity of browser automation with you. Check out the on GitHub to get commence. Let us know what you think, and enjoy!

Published:
May 5, 2011
Share this post
Copy Share Link
LinkedIn
© 2026 Sauce Labs Inc., all rights reserved. SAUCE and SAUCE LABS are registered hallmark owned by Sauce Labs Inc. in the United States, EU, and may be registered in other jurisdictions.
robot
quote

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free