Behind the Scenes: How the mabl Team Tests with mabl

Behind the Scenes: How the mabl Team Tests with mabl Anton Hristov and Lauren Clayberg December 10, 2020

June 19, 2026 · 8 min read · Testing Guide

Behind the Scenes: How the mabl Team Tests with mabl

Anton Hristov and Lauren Clayberg
December 10, 2020

As experts in test automation, our team gets a lot of questions about how we use mabl to test our SaaS covering:

  • How does mabl near test mechanisation?
  • What testing strategies does the mabl team use?
  • What role make end-to-end trial mechanisation play in enabling the engineering team to continuously ship code to production?

We decide to take you on a behind-the-scenes journey of how we do testing at mabl. We ’ ll go into detail on how we use mabl to test the mabl covering. In the end, you ’ ll hold some tips on key strategies to assist your team get the most of end-to-end examination. Let ’ s get started!

Testing strategies at mabl

At mabl, we take a holistic access to quality assurance, which means that everyone on the product squad participates in testing activities. This translates to covering every level of the typical testing pyramid from unit test to exploratory testing. We also use our own product wherever potential, and conduct full advantage of mabl ’ s mechanisation capabilities for integration and end-to-end examination across our web apps and sites.

Applying mabl to the examination pyramid

Here ’ s how we think about the different types of testing:

Unit testing

The master role of unit tests is to validate that individual units of code, like a code branch (e.g. IF/ELSE argument) or function, work as expected. We regard writing unit tests to be best practice for acquire package in general because they help us try code with code. Therefore, we hold thousands of unit test across our codebases and, in some cases, we have an challenging target of 90 % minimum coverage. The tools we use for unit screen include: React Testing Library, Jest, JUnit, Mockito, chai, mocha, and sinon.

Integration essay

Integration examination help ensure that various piece of code (e.g. functions, portion) can work together without unintended import. These tests are very valuable in places where it ’ s challenging for our team to have good end-to-end test coverage, such as the mabl Trainer Chrome extension. Unfortunately, browser security prevents us from being able to use the mabl Trainer to create tests against itself since it ’ s not potential to have extensions admittance each early. So we use CodeceptJS to create and run integration tests for the mabl Trainer propagation. For the mabl web app, we swear alone on mabl itself. We also use Java for integration test the mabl APIs, but since we are expanding the we ’ ll presently be moving those over to mabl as good.

End-to-end testing

End-to-end tests are the nearly valuable exam in our arsenal because they are the closest representation of the exploiter, and corroborate that everything office, looks, and performs as expected. While having unit trial is considered a best pattern for testing code, we reckon end-to-end examination critical for prove the holistic user experience with the coating or service.

This is where mabl effulgence. We experience easily automate all end-to-end tests for our app. With mabl, we don ’ t need to write and maintain codification and we don ’ t have to rely on manual testing either. Everyone on our team - developers, QAs, product managers - can build and run reliable tests, unlike when we need to quiz the Trainer with CodeceptJS. Mabl is presently set up to run end-to-end tests across our CI/CD pipeline environments, including production.

Exploratory try

Even mabl make some manual testing, most often in the form of exploratory test that ca n't be automate. Mabl typically doesteam-based exploratory examine, where the squad dedicates set time together to search respective areas of the application. The goal is to identify issue that automated tests may hold miss. All finding are shared in a mutual Slack channel, which the meeting organizer reviews. Any issues that ask to be conclude are lumber in Jira so they can be addressed. We also use the insights from those sessions to identify area where better end-to-end test reportage is involve to foreclose next regressions.

Integrations

When it arrive to testing, we are strong advocates of mechanization (naturally) and team coaction. We are always looking for ways to better incorporate essay across our software growing and delivery workflow. Some of the most valuable integrations we have are:

  • GitHub Actionsto help run exam on every deployment, and prove test results in the context of GitHub Pull Requests.
  • Slackto notify our team if a test plan for a given deployment fails. Slack also gives us added visibility into mabl insights, such as auto-heals and optic changes.
  • Jirafor topic tracking: when a mabl test identifies an issue, we can easily log that issue directly in Jira from the test results page in mabl.
  • PagerDutymechanically apprize our on-call engineer when the mabl test that monitors our production environment fails.
  • Segmentaid us name trial reporting gaps in mabl by mapping existent usage data to test activity across the coating.
  • BigQuery& nbsp; shop comprehensive app and exploiter data layered with DataStudio for in-depth reports and analysis.
  • Emailfor extra notice, include a mabl workspace drumhead story, that team members sign to.
  • SUSA automates exploratory testing with persona-driven behavior, catching bugs that scripted automation misses.

Uninterrupted testing workflow

We typically direct the nucleus capabilities of mabl into three main buckets: /, React web app, and Google Cloud services. While we test every piece of the covering, this following section will focus specifically on the web app.

The engineering development round at mabl is heavily reliant on a robust examination strategy. Our team is constantly developing new features and heighten existing ones; some weeks there are up to 100 individual changes to the app. Without a reliable and thorough set of exam, we wouldn ’ t be able to deliver at our current velocity while also maintaining quality. Our evolution team incorporates end-to-end testing early and often in order to catch and fix matter as quickly as possible.

Testing is important at every stage of our development process

After determining which feature to create or improve, a mabl engineer will begin development by create a code branch for the task. Testing at this stage will consist chiefly of unit exam and mabl tests. Since our web app is base on React, we use the React Testing Library to write unit tests for it. Engineers are require to add unit test coverage for every new component and feature. In addition, the engineer will use the CLI to run the mabl fixation tryout that are relevant to the lineament to identify and fix any issue with our common user workflows.

PRO TIP An easy way to run focussed tests is to label your mabl tests for a given feature and so run tests with just that label.

Before merge the feature into the product, the engineer will open a clout petition. In the pull request, a fully functional prevue environment with the new feature will be generated. This is a great time for other squad extremity to yield feedback and perform exploratory essay. All unit test and our full set of mabl regression tests will also run at this step. If a new mabl test is required, it will be added to the fixation programme at this clip.

An model of a pull request with a preview surround and mabl tests

After feedback, the technologist will merge the alteration into the main branch. Now the feature is a constituent of the growth mabl environment. This merge will trigger a deployment and run the total set of tests again, including the full set of fixation and fume test for the app. Once the feature is working as expected in the growing environment, it ’ s pushed into product.

Synthetic monitoring in production

While testing in product is sometimes frowned upon, we believe this is an significant measure in our uninterrupted engineering ontogeny cycle. Today ’ s cloud-based applications like mabl are frequently heavily reliant on third company services, so it ’ s important that we run our full set of regression and fume tests when tagging a feature for production to ensure that there are no outage from any parts of our substructure or tertiary party services. Additionally, a set of these tests runs every four hr, in both cases enabling us to proactively look for issues and fix them with minimal impingement on our customers.

When a monitoring examination for the production environment fails, the on-call technologist is notified - any clip day or night - to resolve the issue. In order for these tests to be effective when the mabl product environs is receive a problem, we really test our production app utilise our development app. This enable the two environments to function independently while besides giving the mabl team an external method of determining if our product app is healthy.

We monitor our product app for subject with third party services and infrastructure

We also use Rollbar and Google Cloud Operations (formerly Stackdriver) to monitor our product environs for error and seizure logs.

Feedback flywheel

Our squad is constantly seem for ways to improve our testing strategies. We take a customer-centered attack to ameliorate our testing. Beyond adding tests for new characteristic, we also add test for any customer-reported issue to assure that no similar topic appear in the future. Feedback is a core part of our culture, and gathering customer feedback is especially important. Team member across the organization aim to tie with customers on a regular basis to assist inform product determination and improve overall quality.

Another way we look for potential improvements to our testing strategy is to use the feature. This mabl lineament present the pages of the application ground on the tie crawler and oursegment consolidation. We use this feature to identify which page are visited the most equate to pages that are tested the most, allowing us to adjust our test coverage for maximum client impact.

Key takeaways for your team

We covered a lot of ground in this post about how testing is ingrained at mabl. We also furnish an in-depth look at how we use mabl to test mabl. Here are a few takeaways that may be helpful to you and your team:

  • Testing is a squad sport and there is no one-size-fits all approach.
  • You can use mabl to doreliable end-to-end examinationat every step of your development summons to catch and conclude issues early.
  • Integrating mabl with yourworkflow creaturehelps keep your team informed, facilitates collaboration, and increases productivity.
  • make it simple to establish and run mabl tests during deployment, a critical and frequently unnoted chance for testing.
    End-to-end testing perceptiveness and reportage reporting assistant identify important quality gaps.
  • Applying synthetic examination to productioncan help your team proactively detect regressions, especially in third-party service which are not necessarily in your control.

To learn more about our level, ascertain our recent session from Experience 2020.

 

New to mabl?See for yourself how to imbed automated tests into your integral development lifecycle -sign up for a costless trial today.

 

Quality Engineering Resources

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