Over the past few years, the use of automation tools to test applications has increased exponentially. Every organization serious about technology development wants to deliver IT projects by employing continuous integration and continuous delivery strategy.

Even as test automation processes mature and companies begin to see ROI, companies are still finding it difficult to efficiently report automation findings to the intended stakeholders. Companies either are sending the execution report manually or saving it to a repository that is accessible to all. Both approaches can create delays in status reporting.

As organizations move toward DevOps and digital transformation, status reporting in a short time window is critical, which requires new thinking about how reports are created and disseminated to stakeholders. The solution to this challenge is to automate the test reporting process, so all of the intended team members/groups are getting immediate updates about the health of the application through a convenient tool.

While the popularity of team collaboration apps come and go, Slack has survived some tough competition.Slack is a communication platform that helps teams work efficiently, giving each the right information and features to get work done. Slacks helps everyone to stay in the loop without reading/writing unnecessary emails, test automation execution reports, build notifications, etc.

Sending the right message to the right people

Slack is used by geographically distributed teams to share resources among team members individually or in groups. Slack’s channels help in filtering messages, discussions and notifications by department, purpose or topic. For example, you can make a channel for a topic, team, event or anything that will be transparent for everyone, with an option for privacy.

The collaboration tool can be seamlessly integrated within a test automation framework. Once integrated with the framework, test execution reports, screenshots, data files or messages can be sent to a channel or an individual in the team. This integration saves a great deal of time when reporting errors, over manually attaching the files to a Slack channel or to an individual.

Slack can also be used to trigger automated test execution with the use of Slash Commands and Jenkins (CI). This makes Slack even more useful for teams that want to take advantage of continuous integration/development strategy for their delivery pipelines.

The process for integrating Slack with an automation framework is simple. First, create a user in Slack who will be sending the reports on the desired channel(s). Then integrate the APIs for sending the mail over the desired channel. MailClark is a widely used API for sending and receiving mail from external communication systems to Slack. Communication between MailClark and Slack is triggered thorough the automation script code.

Once this integration is complete, messages or attachments can be sent over the channel. Messages can be edited, files attached and the attachment named with the help of code written for Restful Services.

There are other tools like Zapier, Dossier, IFTTT, etc. that can be used to send and receive mails from external communication systems as well.

In a nutshell, Slack integration with a test automation framework has becomes a highly useful collaboration application that reduces the effort of the development and QA teams in sending test execution results.

By Vikas Shukla November 9, 2018
Tags: AutomationContinuous Testing