“In order to make testing fast, you have to test the right thing, at the right time, at the right level.”
Hi, Marcus, can you walk us through your professional journey so far?
I started off in video game design, working my dream job while finishing up my college degree, thinking I’d be in that industry forever. Work-life balance became a problem, though, so at some point I decided to go into more traditional software development. After stints working with databases and computer hardware modeling, a friend of mine said, “I think you’d be really great in QA”. I still don’t know whether that was meant as a compliment. 20 years later I couldn’t be happier to have transitioned from a career testing software, to helping deliver the technology strategy for one of testing’s most successful vendors.
What sets Sauce Labs apart from the competition?
Sometime in early 2020, we realized that the Selenium Grid, while a critical piece of any test pipeline, was quickly becoming a commodity in the market. We had done a good job capturing the enterprise sector of our market, but we still found ourselves competing on price far too often. As our new CEO built out his executive team, he challenged us all to do something different–something audacious–in the market. Something nobody had ever done. Three years and multiple acquisitions later, Sauce Labs has delivered the only DevOps Test Tool Chain on the market, allowing customers to identify issues throughout the SDLC with a single platform view.
What are the different testing solutions that Sauce Labs offers? And how are those beneficial to different sized companies?
Where others are trying to get their customers to run more of the same kinds of tests (because that’s all they can sell), Sauce Labs can have a more nuanced opinion: we offer API testing, Cypress/Playwright, Selenium/Appium, Mobile Beta testing (for real-world testing in the field), and error reporting/analytics (for production testing and verification).
This amounts to a complementary testing step to go with each phase of the SDLC, and combines the signals into actions our customers can take to make their products better. For smaller companies, this means we can take the burden off of their having to maintain their own test infrastructure (mobile and web) as they grow. For larger companies, it means taking often disparate signals from various places all
over the engineering department, and giving them a single place to go to for quality signals. Larger companies still tend to have pockets within engineering where test infrastructure is managed (rather painfully) by engineers and testers who would much rather be working on their core product, and we can help there too.
According to you, what are the 3 keys that fuel the success of Continuous Testing?
You might think I’d answer this in a technical way, but the truth is that Continuous Testing is about patterns of human behavior, not tools. To summarize: run fewer tests more often, considering risk above all else.
- Risk should always come first. Risk means ensuring that you understand what could go wrong as a feature is released–and ultimately what could go wrong for your customers. If you consider risk instead of coverage, you will be guided to execute only the tests that safeguard your most precious workflows–the ones that mean the most to your users.
- Continuous testing means “fast, fast, fast”. Your tests need to be well-engineered to execute very quickly if you want to be able to deploy your code after every commit
- In order to make testing fast, you have to test the right thing, at the right time, at the right level. For far too long, Selenium has been the primary tool used for UI tests that should have been written at the API level. This is how you should break it down instead:
- Run constant contract tests to make sure your micro serves aren’t “quietly” broken from commit to commit.
- Run a bunch of fast, functional API tests to ensure your business logic is correct.
- Run Cypress/Playwright tests to make sure your UI components operate as expected
- Finally, run enough Selenium/Appium tests to make sure the UI is capable of correctly rendering the outputs of the API.
How does observability provide a better view of a system’s functionality and ability while also enhancing the customer experience?
There are so many things in software development that have traditionally been opaque to the team: a test fails, what happened? Oh, that’s what happened. What should I do about it? Oh, I have to check 3 other logs.
The promise of observability is the promise of corroborating information from disparate systems, giving you the context you need to draw conclusions much faster.
Imagine doing a release and seeing that there are 3,000 errors reporting to the logs in the first few minutes. What are the errors? Are they happening to all users? Were all the tests run? An observability platform would proactively tell you, “this percentage of errors is all the same, this percentage of errors is happening to this subset of users, etc.” Indexing, deduplicating, correlating, and surfacing conclusions–the closer we get to a real Root Cause Analysis, the more we can be confident that our software will always ship at high quality. Then, if bugs do escape, we have the ability to roll-back quickly.
Do you think Technology strategy is an evolutionary process? And does a firm’s technical capabilities impact its evolution?
Technology strategy must be an evolutionary process. Just ask Nokia, or Kodak, or JCPenney…
If Sauce Labs currently employed the same technology strategy we did in 2016, we would already have vanished like Blockbuster video. Sauce Labs was founded in 2009, before AWS was capable of handling our needs, before Docker containers, before Kubernetes, before the mass availability of cloud-based infrastructure. We have undergone a complete transformation in the past few years, moving entire segments of our infrastructure to different data centers across the globe, into the public cloud, and utilizing modern containerization technologies.
And we did this while making multiple acquisitions, which allow us to weave the testing concept throughout our customers’ SDLC. Through these acquisitions, with different tooling, different focus, and amazing personnel, we have expanded our technical capabilities, which have very happily impacted our technology strategy’s evolution.
A large part of our strategy was around the realization that, while Selenium is arguably the most important test automation tool in history, it is simply not appropriate for people to employ this one single tool for all test automation. We don’t believe in the tyranny of OR: “Selenium OR Cypress”, “Selenium OR API tests”. We believe Selenium + Cypress + Contract API tests + Accessibility tests + production monitoring – this is the key to Continuous Test, and we are now the only offering on the market that can truly be honest with our customers when advising them on the best testing strategies.
What are your 5 best tried and tested strategies for building a strategic relationship with companies?
- Make it a real relationship between people, not a legal exercise to check boxes and assume things are fine
- Have a cadence for each partner. Some partnerships will drive revenue directly, some will result in lead-sharing, and some will simply give you thought-leadership in the market. Each type of relationship will have its own dynamic, and will need a different amount of care and feeding
- Don’t be afraid to be generous, audacious, or visionary with your partners. Be fully transparent, show them your roadmap, get them excited about what you have to offer. It doesn’t matter if they’re Fortune 500 or a pre-VC start-up, rich partnerships can begin humbly and go anywhere–but trust is the key
- Always be on the lookout for opportunities to co-market, and bring them into deals as frequently as you can. If they offer a feature you don’t–and don’t plan to–then it gives you excellent traction and stickiness with your customers. Customers will see you as resourceful and as a peer in helping drive customer success, and as you help your partner grow, they will naturally bring you into more deals.
- Co-market, co-present, co-host webinars. Always be ready with calendar dates where you can bring someone in to help customers solve problems, using the combined mailing lists. This leads to buzz, SEO, reputation, and mutual benefit between partners.
Could you name any other VP of Technology Strategy or any other C-level personnel that you would like to see featured here?
She’s not a VP of Technology Strategy, but Angie Jones, VP of Global Developer Relations at Block, is one of the most interesting people you could profile in tech right now. She’s a master inventor with over 25 patents, an international keynote speaker, and the founder of Test Automation University.
What is the one piece of advice you would give to those who wish to enter the Tech world?
It’s not about the tech, it’s about the customer. Become obsessed with the customer, what they need from your software, and what you can do to help deliver it better. Being customer-obsessed puts you in direct alignment with the risks to your business, which put you in alignment with the executive team. The more you talk about risk, the more visible–the more profound–you will be.
Sauce Labs is the leading provider of continuous test and error reporting solutions that give companies the confidence to develop, deliver and update high quality software at speed. The Sauce Labs Continuous Testing Cloud identifies quality signals in development and identifies the source of errors in production, accelerating the ability to release and update applications that look, function and perform exactly as they should on every browser, operating system and device, every single time. Sauce Labs is a privately held company funded by TPG and Riverwood Capital.