How the integration with Azure DevOps improved the quality of our product

Visma Nmbrs
Nmbrs Tech Blog

--

By Ana Marques

Far, far away, when manual testing was the main resource of quality for my Squad (named Frameworks), the quality was assured by “clicking on buttons” and having a good eye for details. Sherlock Holmes would be a good candidate for a software tester!

Unfortunately, growing software cannot rely only on manual testing. On the other hand, we also must be aware that 100% automatization is not possible or viable for reasons such as a bug that will probably happen once in a lifetime. Investing in automation would not be plausible and not reusable. Automation is a must if it requires a lot of repetitions from a manual tester.

The automation adventure started some years ago with SoapUI for the API and Usetrace. Then we decided that the implementation of Selenium using C# as a base language was a better option. But since we still had to run tests on our visual studio locally, we needed something more to trigger and schedule them for specific times of the day.

In this article, I will try to explain how Azure DevOps helped us with that goal.

The benefits behind the integration with Azure DevOps

Azure DevOps has the capability of creating, scheduling and triggering builds for our tests. That means we can develop new tests and run in the background scheduled test runs at the same time without interrupting our work. Can you imagine a platform that can run tests at 3 am without interrupting your Caribbean dream? The productivity of a QA increased together with the quality of the software.

In the last year, Squad Frameworks almost reached 1000 tests, plus 3 builds with integration tests (triggered right after the build is deployed). All of it runs in Azure DevOps with the results being communicated on Slack in real-time.

As an example, for Squad Frameworks to finish the implementation of the Background tasks Epic, testing it manually would only be possible if we had Chuck Norris working for us (he answered my phone call but was busy saving the world from Corona). I mean, the epic was implemented in almost every functionality at Nmbrs. Just my squad modules included running thousands of reports on every level, on every login.

Integrating Azure with Slack

Going a bit techy, in case you want to use this grail functionality, here is how easy it is to connect our code to Azure builds, and receive notifications on Slack:

Our Selenium project is organized with squad-named folders, each one containing several features corresponding to a module. All of them contain several scenarios with multiple test case examples.

When building a scenario, we can add tags (starting with a @ symbol in the beginning). These are very important to connect to Azure DevOps and transforming it into a fully automated and scheduled build.

When creating a build on the Azure DevOps platform, simply paste the Tag of the step “VsTest — testAssemblies”

Then, schedule at a specific time or on completion of another build on the triggers tab.

As a bonus, Slack integration with Azure lets us know when the build has finished. It’s as simple as connecting with a hook in the step “Post report to Slack”:

And for even more fun, you can also add icons:

So it’s all for today amazing readers. I hope you enjoyed this super quick trip to the QA world!

If you would like to join our team, we are currently looking for a Senior .NET Developer for our office in Amsterdam. Apply!

About Ana

Ana works at Nmbrs as a QA Engineer. Her passion comes from combining creativity, logic and a bit of archaeological spirit to find bugs. Her journey as a tester started in Ireland, working for companies like Google and Activision Blizzard, and ended up sharing her knowledge in sunny Portugal.

--

--

Visma Nmbrs
Nmbrs Tech Blog

All about getting your HR and Payroll done together!