Mattermost Platform

Less pain, more gain: Faster and better code testing with Mattermost

Does your team love tests?

Unit tests, functional tests, systems tests, acceptance tests. They can seem like a lot of extra work, but they’re crucial to creating valuable, stable products. 

It’s never fun, though, when a test run breaks right before release and the scramble starts to fix the code and get release back on schedule.

I can’t tell you how to not commit breaking code. But I can tell you how Mattermost can speed up your team’s testing process, helping you can find critical issues quickly and efficiently—making release time less painful for everyone.

A typical testing process

Let me take a brief guess at what your team’s process looks like:

1. The developer commits and pushes code changes to a feature branch.

2. Unit tests and CI tests are run (and hopefully pass).

3. The developer creates a pull request (PR) to get the new changes into a development branch and waits and hopes for some angel to code review the PR before the end of the day.

4. And, hallelujah, it’s approved and committed into the development branch, the developer again waiting and praying for functional and system tests to complete on the next run.

5. After all that hard work and effort, your team hands off the latest stable build to the QA team, or perhaps to a beta testers group. Fingers crossed that no critical bugs snuck in under the radar. No news is good news…

6. Finally, you hear back that it’s ready to release to production. You can celebrate.

Am I close?

Accelerating the code testing process with Mattermost

Now here’s the dream—what the testing process looks like when your team uses Mattermost to gain reliable and secure messaging among members, with the help of automated bots and integrations:

1. The developer commits and pushes code changes to a feature branch, and it’s automatically shared to relevant team members working on the same branch or a related feature.

2. Unit tests and CI tests are triggered, with the results delivered right into your dev team’s test results channel. The impacted developers are tagged in the message for real-time notification.

3. From the Mattermost server, a PR bot asks, “Would you like me to create a Pull Request? Y/N.” Choosing yes means the PR Bot can get the new changes into a development branch automatically, notify the rest of the team that a code review is queued up, and include a link to easily get to the pull request and review the changes. Questions and feedback about the changes can be discussed right from within Mattermost—even from a mobile device via the Mattermost mobile app—to speed up the review loop without the need for a computer.

4. When all looks good, the code reviewers approve the changes. If you’ve added integrations—like the one for GitHub events—Mattermost immediately starts up the next set of broad tests or announces regularly scheduled system tests as well as the results. This way, your team knows when to rush back from their lunch to fix their build-breaking change.

5. Once everyone on the team is on the same page for the upcoming release, you excitedly notify the QA team (or beta testers) about the new build and let them know to file bugs into your favorite issue tracker, like Jira. As they report new bugs, your team gets notified right away thanks to an easily installed Mattermost integration for your issue tracker.

6. Finally, with the code releasing ahead of schedule—thanks to your new and improved, super-speedy testing process—a celebration bot announces “Success!” to the team and reminds everyone to celebrate.

Not bad, eh? 

And here’s the best part: Your team could be this effective right now!

Save both time and money with more effective code testing

Mattermost is helping companies like Affirm and Bungie with bots and integrations to not only enable team members to communicate easily, but also to collaborate and smooth out their workflows—saving both time and money along the way. 

Your team deserves to be faster and happier, too!

To learn more about effective DevOps and why real-time messaging is critical to the development and testing process, check out The Manager’s Guide to Messaging for Development Teams.

For more about how much Mattermost customers are saving, take a look at this report about how you can save over 60% vs. Slack Enterprise Grid users.

If you’re interested in the hundreds of different integrations Mattermost users can take advantage of, check out all of the integrations or read the Mattermost Integration Guide.

And, lastly, if you’re a developer interested in Mattermost, join our community and learn how to get directly involved in Mattermost’s open source project.

(Editor’s noteThis post was written by Raphael Mun, Lemmino, IncIf you have any feedback or questions about Less pain, more gain: Faster and better code testing with Mattermost, please let us know.)

mm

Raphael Mun is a tech entrepreneur and educator who has been developing software professionally for over 20 years. He currently runs Lemmino, Inc. and teaches and entertains through his Instafluff livestreams on Twitch building open source projects with his community.