In a nutshell: A bug in production never comes at a good time. This guide covers: The Basics: Understanding the Testing Environment; Functional Validation Testing vs. Non-Regression Testing; Functional Validation Testing; Non-Regression Testing.
A bug in production never comes at a good time. It often strikes in the middle of a campaign or a busy period, sometimes right after a “minor” update, and almost always when you least expect it. The result: stressed-out teams, operations grinding to a halt, frustrated customers, and a brand image that’s taking a hit.
This is where the issue of testing and software quality ceases to be merely theoretical. In fact, QA and automated testing aren’t just a necessary step before going live—they’re concrete tools for delivering faster and better, and for providing a seamless customer experience. All with less stress and greater reliability.
But we still need to know how to properly approach this strategic issue. Tests are often perceived as time-consuming, technical, and difficult to maintain. If they are poorly designed or poorly integrated, they become a hindrance rather than a catalyst.
In this guide, we offer a practical approach to automated testing and quality assurance. The goal: to help you develop an effective strategy, choose the right tools (including for mobile web ), and avoid common mistakes that turn deployment into a gamble and undermine the user experience.
CIO, QA Manager, Digital Lead, Product Owner, Project Manager, Developer… Here you’ll find practical guidance to help you regain control over the quality of your applications. To prevent any hiccups in the operation of your internal and external platforms.
The Basics: Understanding the Testing Environment
Testing terminology can sometimes be confusing. Before discussing automation, it is crucial to understand the distinctions between the different types of tests, particularly the key difference between functional validationtests and non-regression tests (NRT).
Functional Validation Testing vs. Non-Regression Testing
Although they complement each other, these two types of tests serve distinct purposes in the software development lifecycle.
Functional Validation Testing
It generally takes place at the beginning of the cycle or during the development of new features.
- Objective: To verify that the developed product meets the specifications and business requirements (“Does the feature address the expected use case?”)
- Method: The tester simulates user scenarios (positive and negative) to validate each module. The tester does not concern themselves with the underlying code (“black-box testing”), but rather with the system’s smooth operation.
- Examples: Check that an “Add to Cart” button updates the total correctly, or that a link redirects to the correct page.
- When should it be used? When a new system is created, when new modules are integrated, or to validate a specific user story.
The non-regression test
Often referred to simply as “regression testing,” it serves as the guardian of stability.
- Objective: To ensure that a code change (adding a feature, fixing a bug, or making a technical update) hasn’t broken something that was already working (“Did I break something while fixing or adding something else?”).
- Method: We rerun test scenarios that have already been validated in the past.
- The Crucial Point: Regression is a step backward. It is one of the major risks associated with frequent updates. TNR safeguards the existing system.
Should we automate everything?
The answer is not so straightforward.
- Functional Validation: Often done manually at first, because the functionality is unstable and still being defined.
- Non-Regression: This is the ideal candidate for automation. Test cases are stable, repetitive, and tedious to run manually with every release. Automation offers tremendous time savings and increased reliability in this context.
What are the main types of automated testing?
A modern application is built on a complex architecture in which everything is interconnected. To ensure quality, it is not enough to simply check a surface-level interface. You must ensure that the entire technical and business chain holds up.
Here are the main categories of tests you need to cover your risks:
End-to-End (E2E) Testing
This is the test that validates the real-world experience by verifying that all system components (front end, back end, database, third-party services) work together seamlessly. The bot behaves exactly like a user: it navigates the interface, fills out forms, and completes key steps. To maximize its effectiveness, it is automated first and foremost for critical user journeys that generate revenue.
For example, a typical scenario will simulate the entire purchase funnel, from product search to the order confirmation page. The preferred approach today is to use no-code solutions, which allow these functional flows to be modeled quickly without technical complexity.
API Testing
Even before they have a graphical user interface, your applications communicate with each other via APIs. This type of test is designed to validate this aspect, without being affected by any slowness or visual changes to the interface.
In practical terms, we send technical requests to the server (for example, a request to create an account) and verify that the response contains the correct information (user ID). This is a test that should be automated early in the development cycle or to secure communication between two software systems. The approach is purely technical.
Visual Tests
A feature may work technically (when the code is correct), but be unusable by the customer due to a display bug. The goal here is to detect visual regressions that a standard functional script misses, such as a “Pay” button that ends up hidden under the footer after a CSS update, or text that overlaps an image.
These UI tests must be systematically automated whenever the user interface (UI) or Design System is updated. They are based on a “Pixel Perfect” comparison approach: the tool compares the current screen with a previously validated reference screenshot and alerts the user to even the slightest visible discrepancy.
Performance and Load Testing
Your website works fine with 10 users, but will it hold up on the big day? The goal is to identify your infrastructure’s breaking point and any performance bottlenecks before they affect real customers. A common scenario involves simulating a sudden surge of 50,000 concurrent visitors to prepare for a sale or the airing of a TV commercial.
We automate these tests on an ad hoc basis, before major sales events or before a major overhaul of the server architecture. The technical approach uses load generators that create thousands of virtual users flooding the site with requests to measure how the servers respond under pressure.
Accessibility Testing
Digital inclusion is a legal and ethical obligation to ensure that 15 to 20% of the population is not excluded. This testing aims to ensure that the website is accessible to people with disabilities (such as visual impairments or those who navigate using a keyboard, etc.). For example, we will verify that all images have descriptive “Alt” tags, that color contrasts are sufficient, and that forms are properly labeled.
Ideally,these accessibility checks shouldbe automated on an ongoing basis to prevent the addition of new content from lowering the site’s compliance score. This is done through automated scans that analyze the HTML/CSS code to identify deviations from current standards.
"Data Layer" & Analytics Testing
Often overlooked by technical teams, Data Layer tests are nonetheless vital for marketing. Their purpose is to ensure the reliability of data collection: if your data is inaccurate, so will your business decisions be. For example, you want to ensure that the “Order Confirmation” event correctly reports the exact amount and the correct currency in Google Analytics or your CRM.
It is recommended to automate these checks whenever the tagging plan is modified or new product pages are published. The automation tool works by “monitoring” outbound network requests during browsing to verify that the correct tags are triggered with the expected values.
When and why should you automate your tests?
Automation is not an end in itself; it is an investment that must be driven by a focus on profitability. We don’t automate everything; we automate what adds value for the business and the technical teams.
Why automate?
Ensuring revenue on an e-commerce site is a top priority. A two-hour outage of the shopping cart or checkout process can cost thousands of euros. Automation acts as insurance that monitors your critical processes 24 hours a day, 7 days a week, issuing immediate alerts in the event of a malfunction.
Automating tests helps speed up deployments. In an agile environment where speed is key, waiting three days for a team to manually validate a release is no longer feasible. Automation reduces this acceptance testing time to a few hours—or even a few minutes—enabling more frequent deployments.
When performing repetitive tasks, human attention wanes quickly, leading to errors. A robot never gets tired: it will execute the same sequence just as reliably the 100th time as it did the first, ensuring consistent reliability.
When should you take the plunge?
When your teams spend more time verifying that the existing system is working (TNR) than on testing new features. This is the most common warning sign: technical debt from manual testing is slowing down innovation.
You want to switch from monthly deployments to weekly or daily deployments because release cycles are getting shorter. Without automation, it’s impossible to maintain this pace without sacrificing quality.
Finally, when the number of possible paths skyrockets (mobile, desktops, tablets, multiple browsers). The test matrix exceeds human capacity: it becomes physically impossible to verify everything manually before each update.
How Can You Successfully Automate Your Functional Tests?
Automation can't be done on the fly. To turn your QA processes into a driver of growth, you need to follow a rigorous methodology.
Why Automate? The Tangible Benefits
- Saves time and money: Robots run tests much faster than humans and can operate 24 hours a day, freeing up your teams to focus on higher-value tasks.
- Reliability: Automation eliminates human error (inattention, fatigue) in repetitive tasks.
- Faster Time-to-Market: Faster testing campaigns mean more frequent deployments (Continuous Delivery).
- Extensive test coverage: It is now possible to test thousands of data combinations or configurations (browsers, operating systems) that would be impossible to cover manually.
The 7 Key Steps to Successful Automation
- Plan the process : Define the scope. What is critical to the business? Don’t try to automate 100% of the application right away. Focus on the critical workflows.
- Choosing the right tool: This is a strategic decision. The tool must be suited to your team’s skills. No-code solutions (such as Mr Suricate) are now widely popular because they allow business users (non-developers) to create and maintain tests. Even technical users benefit from them because, in addition to enabling rapid creation of test scenarios, they also make maintenance easier.
- Designing the Framework: Define your standards. Will you use a keyword-driven approach or data-driven testing? A good initial structure makes future maintenance easier.
- Set up the test environment: Make sure you have stable test data (datasets) and a production-identical environment (pre-production, staging) to avoid false positives.
- Write the scripts: Or record them using no-code interfaces. This is the phase where scenarios are created. Developing a comprehensive and precise test plan facilitates this step and clearly defines the scope to be covered.
- Run the tests: This is the simplest step once everything is set up. Ideally, integrate it into your CI/CD pipeline. Automation solutions are convenient and generally allow you to configure how tests are run (campaigns, sequences, recurring schedules, etc.).
- Analyze and Maintain: A test that fails must be analyzed immediately. Is it a real bug or an outdated script? Test maintenance is the key to long-term sustainability.
How do you implement an effective QA strategy?
There is no one-size-fits-all solution. A good quality assurance strategy must be tailored to the size of your company, your business challenges, and the maturity of your teams. Here’s how to approach it based on your specific context.
Start-ups and scale-ups
Here, resources are limited and the product is constantly evolving. The goal is not to cover everything, but to avoid blocking bugs without slowing down development. The strategy is to automate only the critical workflows (sign-up, adding to cart, checkout). We secure the business while maintaining a high degree of agility for the rest.
SMEs and Mid-Sized Companies
At this stage, the challenge is to ensure the reliability of existing processes while continuing to deliver new features. The QA strategy must become systematic: each deployment to production is preceded by an automated non-regression testing campaign. This is often the point at which testing tools are integrated with project management tools (Jira, Trello) to streamline collaboration between business and technical teams.
Key Accounts and CIOs
With complex ecosystems that combine modern technologies and legacy systems, QA is becoming a governance issue. Testing must be industrialized on a large scale and integrated intocontinuous integration pipelines (CI/CD) pipelines. The goal is to maintain a consistent level of quality across dozens of different applications, involving both developers and business analysts.
Common Mistakes in QA Automation
Here are the strategic mistakes we see most often when companies embark on automation without being aware of the common pitfalls.
Aiming to automate 100% of the tests
This is the most persistent myth. Automation takes time (both to set up and maintain). Trying to automate an exotic test that’s only used once a year, or a purely visual and subjective feature, is counterproductive.
- Best practice: Focus on the 20% of tests that cover 80% of business risks. Let humans handle cases that are complex, rare, or require subjective judgment.
Automating Unstable Features
Trying to create an automated test for a page whose design changes every two days is a waste of time. Your script will break every time the page is updated.
- Best practice: Wait until the feature is stable (or “frozen”) before automating it. During active development, manual testing remains more agile.
Neglecting script maintenance
People often think of automation as a “one-time” effort: you create the test and then forget about it. That’s not true. The application evolves, and the tests must evolve with it. If you don’t set aside time to update your scripts, they’ll all eventually fail (false positives), and the team will lose confidence in the tool.
- Best practice: Think of your tests as living code. Always set aside time in your sprints to maintain your existing test suite.
Which automated testing tools should you choose?
The market for testing tools is vast and can seem intimidating. To make the right choice, the main criterion isn’t just technological, but human: who will create and maintain the tests on a day-to-day basis? There are generally three main categories of tools.
Code-based solutions
This is the traditional approach, represented by frameworks such as Selenium, Cypress, or Playwright.
- Who is it for? Experienced developers and QA engineers.
- Advantages: Complete flexibility and free licenses (open source).
- Disadvantages: They are very time-consuming. Creating and maintaining scripts requires strong development skills. Furthermore, scripts are often fragile and break at the slightest technical change to the interface, increasing technical debt.
Low-code solutions
The low-code tools aim to simplify test writing by reducing the amount of code required, while still maintaining a programming logic.
- Who is this for? Mid-level technical professionals.
- The concept: A balance between pure code and the visual interface. Although these tools are faster than pure code, they still require a certain level of technical proficiency and are sometimes slow to be adopted by teams focused purely on business functions.
No-Code Solutions (SaaS)
This is the modern approach that’s widely favored for its speed and accessibility (this is the positioning of solutions such as Mr Suricate).
- Who is this for? Everyone: QA Managers, Product Owners, business teams, and even developers who want to save time.
- The concept: Tests are created by recording a user flow or by assembling pre-designed visual building blocks. No coding is required.
- Key benefits: Tests can be created in a matter of minutes instead of several hours. Maintenance is often made easier by intelligent algorithms that recognize elements even if they change slightly. This helps make quality more accessible: those who know the business rules best are the ones who validate the product.
|
Tool Type |
Target Profile |
Onboarding Time |
Maintenance |
Ideal Use Case |
Limitations |
|
Code-Based
(Selenium, Playwright, Cypress) |
Experienced Developers & QA Engineers (SDET) |
Long Requires setting up the environment and coding the frameworks. |
High Scripts are often unreliable (“flaky”) and break at the slightest change to the code or UI. |
100% technical teams seeking total flexibility and completely customized solutions. |
Very time-consuming. Creates significant “technical debt” in testing. Excludes business roles. |
|
Low-Code |
Mid-Level Technical Roles & Technical QA |
Medium Speeds up writing but requires initial setup. |
Medium Reduces the amount of code, but still requires technical intervention in the event of changes. |
QA teams with a background in programming but who want to move faster than pure coding. |
Often too complex for business users, and sometimes too restrictive for developers. |
|
No-Code (SaaS)
(Mr Suricate) |
Everyone: Product Owners, Business Analysts, QA Managers, Developers |
Immediate Turnkey cloud solution. Start testing in just a few minutes. |
Low AI and smart selectors often automatically adapt the test to minor changes. |
Non-regression testing, end-to-end (E2E) test cases for web and mobile, agile teams. |
Less suitable for highly technical unit tests (which are still handled by the developers). |
Mobile Focus: Choosing the Right Tool for Your Apps
The mobile app testing is a much more complex challenge than testing traditional web applications. Why? Because of fragmentation.
The Complexity of the Mobile World
Unlike the web, where a few browsers dominate, the mobile landscape requires us to juggle:
- Two major operating systems : iOS and Android, which behave very differently.
- A wide variety of OS versions: Not all of your users have the latest version of Android or iOS.
- Hardware: Screen sizes , resolutions, processor power, memory (RAM).
- Network conditions: 4G, 5G, unstable Wi-Fi, airplane mode…
Criteria for Choosing a Mobile Testing Tool
To ensure user retention (since users will uninstall a buggy app in a matter of seconds), your testing tool must meet several criteria:
- Cross-Platform Support & Device Farm: It’s impossible to buy every phone on the market. Your tool must connect to services like BrowserStack or provide its own farm of real devices for remote testing on actual devices.
- Accessibility (No-Code): Mobile development is technical, but testing doesn't have to be. A tool that allows you to record test scenarios without coding makes testing accessible to everyone on the team.
- CI/CD Integrations: The tool must integrate with your management tools (Jira, Trello) and your deployment pipelines (Jenkins, GitLab, etc.).
- Comprehensive bug reports: In the event of a crash, the tool must provide not only the “error” but also the context: a screenshot, a video of the session, system logs, and the battery and network status at that moment.
Ensuring a Smooth Production Rollout: Mistakes to Avoid
The go-live (MEP) is the moment of truth. It’s also when stress is at its peak. Even with thorough testing, strategic mistakes can ruin everything.
Common Technical Errors
- Performance and Load: An application that works for 10 testers may crash with 10,000 concurrent users. Don't overlook load testing.
- Logical (Semantic) Errors: The code doesn't crash, but the result is incorrect (e.g., a 20% discount that applies a €20 discount). Only rigorous business functional tests can detect them.
- Integration Issues: Often , Module A works, Module B works, but A+B crashes. End-to-end testing is vital here.
- Security: Authentication or data access vulnerabilities . A mistake that can be very costly in terms of reputation and fines (GDPR).
- Compatibility: The famous “it works on my machine.” Don’t forget to perform cross-browser testing (Chrome, Safari, Firefox, Edge).
MEP's Strategic Mistakes
Beyond the code itself, it's often the process that's the problem:
- The lack of a soft launch (beta test): Trying to launch with a “Big Bang” for everyone is risky. Open your service to 5% of users first to “iron out” the remaining bugs.
- Post-launch blindness: The MEP isn't the end—it's the beginning. You need to monitor performance immediately after launch.
- Not deploying often enough: It may seem counterintuitive, but the longer you wait between deployments, the higher the risk of errors (too many changes at once). Frequent, small (atomic) deployments are safer and easier to debug.
Conclusion: Toward Smart and Accessible QA
The era of tedious, manual testing is coming to an end. To remain competitive, companies must embrace automation—not to replace humans, but to allow them to focus on the quality of the user experience.
Whether for web or mobile applications, the key lies in choosing the right tools. Modern, no-code solutions now make it possible to break down the silos between developers and business teams, ensuring that software quality is everyone’s responsibility.
Mr Suricate of this initiative by offering a “Made in France” codeless solution capable of detecting bugs before and after deployment, covering all of your web and mobile user journeys.
Ready to take it to the next level? Automation is waiting for you.
Check out our FAQ on QA testing
Should we automate everything?
No, and it’s a common mistake to try to do so. The goal isn’t to achieve 100% coverage, but to cover 100% of critical risks. Exploratory testing, usability analysis, and new features that are still unstable are best tested manually by humans.
What ROI can you expect from automated testing?
Return on investment is measured in practical terms across three areas:
- Time savings: Your teams no longer spend entire days performing repetitive manual data entry.
- Risk Reduction: How much does an hour of downtime cost you in terms of lost sales? By preventing critical bugs in production, the tool often pays for itself as soon as the first issue is detected.
- Acceleration: You can deploy faster and more frequently, which is a direct competitive advantage.
How long does it take to implement a QA strategy?
It depends heavily on the approach chosen. With traditional code-based methods (in-house development frameworks), it often takes several months to develop a stable and reliable suite of tests. With a No-Code (SaaS) approach, lead times are drastically reduced: the first critical scenarios can be up and running in just a few days, delivering value as early as the first week.
What happens if my interface changes frequently?
This is the number one fear: having to rewrite all the tests at the slightest change to the site. With older scripts (like Selenium), that was the case. Today, modern tools use smart selectors and AI. If a button changes color or shifts by a few pixels, the tool still “recognizes” it, and the test continues to run. This drastically reduces maintenance.
Automated testing or manual testing?
We shouldn’t pit them against each other; they’re complementary. Automation is there to handle high volume, repetitive, and tedious tasks (like checking 500 times to see if the login works). Humans, on the other hand, bring their intelligence, creativity, and ability to assess the “experience” and user sentiment—things a robot cannot do. A good QA strategy uses automation to free up human brainpower.
Should we test on emulators or real phones?
For development purposes alone, an emulator is sufficient. But for final validation (QA), it is essential to test on actual devices. An emulator will never accurately replicate battery overheating, network interruptions (switching between 4G and Wi-Fi), or the specific touchscreen characteristics of a particular model. To ensure that no customer is left stranded, nothing beats testing on a real device.
Who should write the tests?
Historically, this was a task reserved for developers or technical QA engineers. Today, the underlying trend is to bring testing closer to the “business.” Thanks to no-code tools, it is now Product Owners (POs), Business Analysts, or functional teams who create the test scenarios. This makes more sense: they are the ones who best understand the business rules and the behavior expected by the end user.
Does automation slow down deployment?
On the contrary, it’s designed to speed it up. By integrating automated tests directly into your deployment pipelines (CI/CD), verification happens instantly every time developers push new code. If it’s green, it goes into production. If it’s red, it’s blocked. This eliminates the bottleneck of manual testing, which used to take several days.
FAQ
Should we automate everything?
The answer is nuanced. Functional Testing: Often manual at first, because the functionality is unstable and still being defined. Non-Regression Testing: This is the ideal candidate for automation. The test cases are stable, repetitive, and tedious to execute manually with every release. Automation here saves a tremendous amount of time and increases reliability.
What are the main types of automated testing?
A modern application is built on a complex architecture where everything is interconnected. To ensure quality, it’s not enough to simply check a surface-level interface. You must ensure that the entire technical and business chain holds up. Here are the main categories of tests you need to cover your risks:
When and why should you automate your tests?
Automation is not an end in itself; it is an investment that must be driven by a focus on profitability. We don’t automate everything; we automate what adds value for the business and the technical teams.
Further Reading
- Quality Audit: How Automated Testing Facilitates Compliance (ISO, RGAA, GDPR, etc.)
- Why Automated Testing Can't Replace Humans
- How to Measure the Impact of Your Automated Tests on Software Quality
- Non-regression tests
- The no-code script editor
- Selenium, Cypress, or Mr Suricate: A Comparison
- BrowserStack vs. Mr Suricate: A Comparison










