Logo

Solebit (MimeCast)

QA Team: 4 Senior SDET
Project length: 4 years
25,000
auto tests developed
6+
platforms were covered by auto tests
5x
faster testing time
10
parallel threads
500K+
files uploaded
30
machines used

The Challenge

Solebit (MimeCast) provides identification and prevention of zero-day malware and unknown threats.

From the moment when we joined the project, there were automation tests designed and developed by the in-house development team. Tests were not useful because every time a developer triggered the tests, it was by hand in a terminal. As the result, the team had a big and complicated file with the results.

Also, the tests took more than 20 hours for completion, and the history of the build was also unavailable.

The test suite architecture was unscalable, making it difficult to maintain a large number of test machines.

The task was to create simple runner for tests and increase their speed. We learned some valuable lessons. We should have redesigned the architecture to support cloud platform integration, made the tests run much more easily, and generated a clean report with all the necessary details.

At the same time, we should propose the improvements for current testing process and made some manual testing, too.

Achievements

DeviQA created complex and detailed automated scenarios for testing REST APIs using the Faraday library. We built a software development kit application that worked on various machines, including Azure, Google Cloud, Docker, and both privileged and unprivileged LXC containers. The QA team created complex methods for these integrations using SSH and SFTP connections. Altogether, we designed and developed more than 25,000 tests. Every test ran 300,000 files which were then uploaded.

We reduced the build time by a factor of 10 and configured how to run tests in simple way without the involvement of a tech person. We also created a reporting system that allowed the team to view clean reports even if the results contained 10k rows. Finally, we configured file processing selection on the number machines (Azure Cloud, Google Cloud).

Services Provided

Automated Testing

Most of our work was focused on the automated testing of REST APIs, auto sending emails through SMTP, DevOps, and configuration activities. Autotests for uploading files were running in parallel on 30 different machines, with 10 threads on each machine.

Web Testing

We also tested a UI part of the application and prepared comprehensive test documentation. These test cases covered 80% of the application, and we created test suites for each release for different customers.

Performance Testing

We designed and developed performance / load and stress tests and then integrated them into CI. In addition to checking the ability system under pressure, we also checked how fast the system was up and running after a crash.

Software Testing Consultancy

Before we start a long-term journey with the client, we proved our expertise by performing a QA audit. We identified thin places in infrastructure, including non-flexible machines, a low machine count for checking, a necessity to clean up previous application versions, extended machine creation time before build. We provided clean and simple ways to fix these issues.

Client's feedback

DeviQA did an excellent job, and I highly recommend them. They automated numerous testing processes to reduce manual effort and resolved file scanning issues. While the build was projected to take 15 hours, they completed it in just three. The team is highly professional, keeps detailed records, and maintains an open dialogue and synergistic workflow.
Yural Or
QA Manager, MimeCast