How The Software House Approaches Email Development
where Mailtrap is involved
sent on a monthly basis
running email tests with Mailtrap
The Software House (TSH) is a popular software development company based in Poland. They deliver a wide array of services, such as business analysis, web & mobile development, UI/UX design, DevOps, and quality assurance.
Their portfolio of successfully implemented projects includes real estate & marketplace platforms, an employee benefits system, a ticket sales CMS, language learning & business accelerator platforms, as well as a magazine subscription system.
End-to-end testing is a major area of TSH’s expertise, and they have built their own automated, open-source testing framework.
Kakunin is a Protractor extension that enables the easy writing of complex testing scenarios with minimum coding skills. Its goal is to empower people with little to no technical background to create automated tests from day one and eliminate the steep learning curve.
Most of the solutions developed by TSH rely on email communication with end-users. Each sent message – be it an account confirmation, password recovery, product update, or payment reminder – requires extensive testing prior to deployment.
TSH used to set up their own dedicated SMTP servers for testing if emails were sent, validating links, and running other essential tests. This approach, however, proved to be both time-consuming and expensive. Furthermore, the environment had to be regularly maintained which increased engineer workload.
TSH also tried to set up dozens of disposable email addresses for testing purposes. It somewhat did the job but this was, once again, time-consuming and couldn’t provide the appropriate level of security. Dummy inboxes were, after all, publicly available.
Kakunin also required a reliable, automated solution for testing emails. Building an entire infrastructure again wasn’t an option. Using common email services would inevitably lead to some false negatives. TSH couldn’t control all aspects of a third-party inbox nor access it via API.
Our users create a Mailtrap account on their own, then copy the inbox ID and API key, and paste them to their configuration in Kakunin. We added another layer of abstraction that allows a user to handle the majority of Mailtrap functionality without coding.
Marcin BasiakowskiHead of QA at TSH
Eventually, The Software House switched to Mailtrap as a dedicated email testing solution. They set it up to capture all emails going out from the development and QA environments. Engineers and testers check that emails are sent to the correct users and that no duplicates are created. They preview emails and check their responsiveness.
In Mailtrap, they created separate, team-wise accessible inboxes for different environments (for example, UAT, staging, local, etc.) and client projects. Emails don’t get mixed up and it’s easy to jump between environments or check emails sent from a particular project.
TSH also integrated Mailtrap with the user acceptance testing servers. Test emails are forwarded to regular inboxes but are still available in Mailtrap. This way, all the messages are kept in one place which is highly appreciated by testing teams.
For Kakunin, accessing Mailtrap via its UI wasn’t an option. CI and automated test environments require automated solutions, and that’s precisely what TSH found in the Mailtrap API. They built a Mailtrap adaptor in the Kakunin framework for handling user inputs.
Mailtrap is super easy and convenient to use. Our devs and QA onboarded in one afternoon. We love ready-to-run configurations for various frameworks that make our job much faster. You just copy & paste, and it simply works.
Adam PolakVP of Technology at TSH
TSH engineers and testers told us that they were impressed with the speed of the setup. In 10 minutes, they had a testing inbox configured and integrated with their app. As the test emails kept flowing, they could view any of them without the fear that old messages would be lost.
It was no different for Mailtrap API. Our interviewees at TSH told us that it was very straightforward and quick to plug into their framework.
They also appreciate having individual inboxes for each environment and project rather than pushing all emails into one folder. This makes it easy to navigate and quickly find the right messages. They can rapidly run new iterations and view each message in a Mailtrap inbox just seconds later.
I love the concept of capturing emails for all the test cases in one place. If we used some other tools, we would have to be logged in to 10 or more inboxes to keep track of each message. Thanks to Mailtrap, we can verify them much quicker. All in one place, it’s a ‘dream for testers!