Using Machine Learning to Optimize Automated Web App Testing

Using Machine Learning to Optimize Automated Web App Testing Lauren Clayberg December 8, 2021

March 01, 2026 · 7 min read · Mobile Testing

Using Machine Learning to Optimize Automated Web App Testing

Lauren Clayberg
December 8, 2021

Though test automation has made software testing quicker and quality teams are still struggling to prioritize end-to-end testing to maximize test coverage. It ’ s gainsay to define the end-to-end scenarios likewise to unit trial reportage, particularly when teams only have a small set of test needs outlined. The issue get still more complex when new application features are added since there ’ s no easy way to regulate where more end-to-end tests are necessary. The result is often a examine strategy that becomes less effective as the production evolves, slowing the development of new features and creating opportunities for contender to steal customers with a more subject user experience. & nbsp;

My squad at mabl is no stranger to this challenge. So we developed our, which uses machine learning to group URLs to show end-to-end web app coverage and hint how to prioritise adding tests. & nbsp;

The Problem with Prioritization

Software testing is a persistent challenge when accelerating production cycles:43%of developers say testing is their biggest pain point and36%say testing and QA hold back production schedules. But despite these difficulties, a is essential for ascertain customer expiation and adopting DevOps. Test prioritization based on existent customer data helps calibre engineering squad hasten package testing while also check a calibre client experience. & nbsp;

Where (and How) mabl Integrates Automated Testing into Development

To outflank prioritize each eccentric of test, it ’ s important to consider when your squad test in the development cycle and how often charge are bechance. As an Agile team that emphasizes testing early and oft in the development cycle, the mabl team has a high cadence of daily and weekly commits. This level of productiveness is create possible by our testing scheme, which emphasizes shift-left testing so bugs are caught early in development. When defects are recognize betimes, they ’ re faster and easier to fix, make it possible for our entire squad to be more productive. & nbsp;

As you can see, testing is mix with growth from the onset. Our standard practice is creating a local adaptation of the application, which allows the mabl squad to run unit tests, integration examination, as well as actually run automated end-to-end tests with mabl on the local version of the app. So that even at this very early stage, we 're making sure that we 're not breaking anything unexpectedly. & nbsp;

Once this initial round of testing has assured our team that the new feature is working as expected, we ’ ll create a pull postulation to gather comment from other team members. This activate another run of our unit tests, integration tests, and end-to-end tests. At this stage we ’ ll also set up anfugacious environmentthat allows anyone on the squad to perform exploratory testing. & nbsp;

When we 're confident that the feature is working as expected, we ’ ll deploy it to our growing environment, which also means merging to our main ramification. Doing so imply the mabl team will again run the full set of unit integration tests, as well as a complete set of smoking and regression tests. Every time we add a new feature, we add new tests to those test fit to make sure the new feature is tested at this part of the process. Our team will also run a set of end-to-end test to check the execution of any third party service. Since this is the final stage before sending codification to production, we want to be sure that we 're testing rattling thoroughly. & nbsp;

How mabl Prioritizes Tests

Going back to our three core trial types: unit tryout, integration tests, and end-to-end examination, we have specific goals that ensure each test is contributing to a better user experience in mabl ’ s test automation platform. & nbsp; & nbsp;

With unit quiz, we get with line versus branch coverage. Line coverage will show if your tests actually execute every individual line of code within your code base, while branch coverage will indicate if the test is executing all potential outcomes. When balanced efficaciously, these tests ensure that the building cube of the feature feature been tested thoroughly. Setting clear, enforceable goal around line reportage helps keep testing and quality systematically across your entire merchandise. For illustration, at mabl, we have a set rule that you have to have at least 90 % line and branch reportage on any new changes to our user interface. Otherwise, you ca n't merge it.

Similarly to unit tests, integration test prioritization can be steer by a reportage end. These goals enforce the grandness of testing and encourage the team to interrupt their own code by mimicking client behavior. But it ’ s near important to consider how different software components will interact, and how those interactions can malfunction.The mabl team uses a combination of mabl tryout, the React testing library, and JUnit to check that we ’ re testing as thoroughly as possible at this stride. We ’ ll also start adding permissions-based tests to create sure that our client feature control over their test data and workspaces. Finally, we require new integration examination for every single feature so all new employment is covered and these features are incorporated into future examination.

This takes us to end-to-end examination, which formalize when multiple subsystems are work together and check that third company systems are functioning. End-to-end tests may overlap with your integrating exam, but effective end-to-end testing ensures that the full customer journey work as intended. How your team prioritizes end-to-end tests is largely dependent on the most common customer journeying and user needs. At mabl, we focus on the most high-traffic pages in our examination automation covering so that our customers get the best experience possible. We also heavily rely on mabl features that help our squad leverage real-world customer data to secure that our examine evolves with our customer ’ needs, such as the page coverage feature. & nbsp; & nbsp;

Using mabl ’ s Page Coverage Feature

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

The page coverage feature uses machine learning to combine to give mabl users useful insights about real application usance. Let ’ s look a supposititious illustration:

app.mabl.com/workspace/abc1

app.mabl.com/workspace/fgh2

app.mabl.com/workspace/abc1/settings

app.mabl.com/workspace/abc1/user/1a2b3c

app.mabl.com/workspace/abc1/user/2d3e4f

These are a few URLs that a customer may see in an coating, which are modeled after actual mabl URLs. You ’ ll notice that two of these pages are really customized variant of the like page, meaning that they ’ re only visible to a specific user and portion general functionality. Instead of testing both page on an individual basis, our team can salve time and effort by focus testing on the general functionality the pages ply. This logic extends across the mabl app: rather than examine every page, we can prioritize our testing far more efficaciously by focusing on the near usually used functions.

The page coverage feature helps sort through this type of data to cluster similar pages for more efficient automated examination. Looking again at the example URLs above, you ’ ll notice that the URLs with random IDs share decent common feature that it 's possible for our algorithm to radical them together, while differentiate between the main workspace, the settings page, and the user home pages. To prioritise how we test these pages, we desire to get sure that we cognize that two people visited the initiative page, one person visited the second page, and then two people visited the third page. With efficacious test prioritization, we ’ d know to focus testing on these three pages, as opposed to covering all five of the pages above, as easily as prioritize each of these pages based on the counts of unequalled visitors:

app.mabl.com/workspace/ *

app.mabl.com/workspace/ * /settings

app.mabl.com/workspace/ * /user/ *

In pattern, mabl learns these patterns for each customer by their application, as well as apply data from desegregation likeSegment, which can used with mabl for automated testing that truly reflects the habits of your customers. When using the page coverage feature in mabl, you ’ ll see results like this, which capture the number of day-after-day users for an individual page as well as the unique tests, test steps, and assertions that experience interact with the page. & nbsp;

Optimizing Software Testing for the Customer Experience

As I mentioned above, the page coverage characteristic is an invaluable tool for prioritise tests in ways that reflect how your real customers use your website or application. When your automatize prove scheme is driven by client data, it ’ s more likely that try match defects before they hit your users. & nbsp;

When you don ’ t account for how your users are interact with your application, you risk testing customer journeying that aren ’ t actually taking spot, rendering testing less efficient and potentially slowing down development cycles. With usage data integrated into essay, you can make sure that you feature an acceptable point of performance for all your customers. This assist ensure that new features are actually useful for all exploiter, building stronger client relationships that benefit the overall business. On the flip side, adapting testing strategies to incorporate unexpected user deportment aid ensure that tryout entrance the defects hidden in surprise user journeying before they reach the customer. The overall impact: testing is consistently capable to develop with the merchandise and the customer to maximize QA value. The page coverage feature makes it easy to consider existent client usage data as quality teams update their testing scheme to fit new features. & nbsp;

Test Prioritization Enables Quality Engineering & nbsp;

Test prioritization with real-world usage data allows quality teams to streamline testing and grow their encroachment on the product, the evolution process, and the business itself. Machine erudition, combined with your existent usage information, helps prime squad create and maintain an efficient testing strategy that supports a best user experience and get the bugs easily before they reach your customers. At mabl, we praxis what we preach by expend our tryout mechanisation platform to incorporate testing early into our development cycles, as well as continuously update and expand test coverage as our application evolves. & nbsp;

See how mabl ’ s page reportage feature works for your team withmabl ’ s two-week free test

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