Automated Testing Makes Drupal Better
Users expect your website to work every time.
We'll help you make sure that happens with a comprehensive Cypress or Playwright test suite, trained team-members and on-going test maintenance.
- Find issues during development
- Find post-release issues
- Continuously scan for issues
Not sure where to start?
Start small with the core set of tests that ensure each important part of the site is functioning (these are called smoke tests). Add more tests as time and budget allows until you have high test-code coverage. Eventually you'll have a suite of tests that give you confidence that you can catch errors before your users do.
By working with us, you will
Build quality into your software development process by adding automated testing.
A experts in Drupal, we know how to design proper tests to give you the confidence that your site is working well.
The Starter Track will bring you to a solid milestone—a set of tests that run quickly and confirm that the most important pieces of the site are working. If more comprehensive is required right out of the gate, select the Intermediate or Advanced Tracks. We'll write the tests for you or guide your team as it writes them—all while sharing automated testing techniques specific to Drupal.
What if you don't have the bandwidth to update the tests? We'll help you with test maintenance, too, letting your developers available to meet tight deadlines.
Peace of Mind
Smoke Test Suite
(key test that run within
15 minutes the prove
major functions work)
+ Starter Suite
+ Starter Suite
+ Intermediate Suite
Gain peace of mind
and improve website quality
Adding integrated end-to-end testing will allow you and your team to produce quality releases sprint after sprint.
Frequently Asked Questions
What is End-to-End Testing?
End-to-end testing is a type of software testing that validates the entire application flow from start to finish. It ensures that the whole process of a user's interaction with the application works smoothly.
Why is End-to-End Testing Important?
End-to-End testing helps to identify system dependencies and ensures that the right information is passed between various system components. It provides a comprehensive way to ensure the entire application is working as intended.
How Does End-to-End Testing Differ from Unit Testing and Integration Testing?
Unlike unit testing, which tests individual components, and integration testing, which tests interactions between components, end-to-end testing tests the entire application flow, including interactions with databases, networks, and other applications.
If I have a complete set of unit tests, do I need end-to-end testing?
That's fantastic that you have a full set of unit tests! In our experience, that's rare.
However, here is why you should consider adding end-to-end testing to your project:
- Unit tests are designed to test individual components. They ensure the component works as designed and add rigor to the development process. End-to-end tests an uncover problems that appear only when the whole system is running together.
- "The full system" includes communication with the database and all third party services. For instance, standard test (ATK-XX-1000 in the Automated Testing Kit module tests the full registration process including confirming that the email arrives at a dummy email server.
- A final advantage of end-to-end tests is that different personnel on the team can write the tests thus spreading the work load. Typically that's QA people but occasionally even marketing people write end-to-end tests using the test recording tools.
What if I know nothing about End-to-End Automated Testing?
No problem. We'll set up everything, including providing reports of failed tests, work with you to choose which tests to write, help you select a Test Case Management tool (such as Testiny but there are many others) and more. We'll teach you exactly what you need to know to run a smooth testing program.
Who writes the tests?
Our service offerings allow you to design an engagement that's right for you. When it comes to writing the tests, we can write them, we can mentor your team to write them or we can create a hybrid approach. If it's your team writing the tests, generally QA team members and/or developers write the tests.
Who maintains the tests?
We can maintain the tests for you or hand over maintenance to your team—there's no rush once the tests are complete. Take over maintenance when your team has the bandwidth—or let us maintain them for you.
Where do the tests run?
There are two parts to this question. The first part is, "Which server(s) will run the test scripts?"
The second part is, "Which server(s) run the target website?" Here you'll have multiple target servers. Typically, you'll want the tests to be able to target:
- the developer and QA team's machines
- a test server dedicated to running the latest development build
- a branch preview build provided by a service such as Tugboat
- the production servers.
How long does it take?
A core suite of tests (called "smoke tests") and the system setup can be done in just a few weeks once access to the system is granted. We use the new Automated Testing Kit module to kickstart test development (we are the primary contributor to that module). However, a complete suite of tests for a large website can take months of effort. If you have a new project and the goal is to have a complete suite ready by the time of launch, be sure to reach out early.
Which end-to-end tool should I use?
We work with two leading tools on the market, Cypress and Playwright, and the Automated Testing Kit module contains core tests for both libraries. If your company has already standardized on one tool, use that for the new project. However, if you are new to automated testing, Playwright currently has a substantial edge over Cypress and we recommend using it for new projects. For in-depth comparisons, watch the videos or read the blogs linked to on the Learning Resources page of the Automated Testing Kit module documentation.
I have more questions. Who can I speak with?
Chat about your specific needs by setting up a meeting at our Calendly page.