Mattermost Community

The Mattermost E2E Cypress Test Automation Hackfest 2021 kicks off on May 3rd!

Mattermost is organizing its second E2E Test Automation Hackfest during the month of May! 

As an open source organization, we not only encourage our community members to participate in the main application development but also in writing the E2E tests that help verify the features and stability of our product. 

Our E2E tests, written in JavaScript using the Cypress framework, help us cut down manual tests, and are an integral part of the product development process. (Follow these links for an overview on E2E testing in Mattermost and E2E test setup and tips.)

The first hackfest for E2E Test Automation at Mattermost was held in July and August 2020. By the end of the hackfest, almost 100 new automated tests were added to our suite, which has helped speed up our release testing cycles significantly.

What we hope to accomplish

Encouraged by the success of our first E2E hackfest, we’re kicking off its second iteration on May 3, 2021 and encourage our community members to participate and help build not just an awesome product but also a well-tested and stable one. 

During this hackathon, we hope to add a significant number of automated tests to help deliver an even stronger Mattermost experience.

To help aspiring (and seasoned) contributors get a feel for participating in hackfests like these, we reached out to the top three contributors from last year’s hackfest. 

Read on to find out what Soo Hwan Kim, Zubair Ahmed, and Mohan Prasath have to share about their previous hackfest experiences.

Soo Hwan Kim

Soo Hwan Kim

Location: Seoul, South Korea

Your experience in contributing to Mattermost

I actually started contributing to Mattermost by writing a few E2E tests in Cypress (almost a year before the 2020 E2E Test Automation Hackfest). I then worked on some TS conversion tasks and other smaller tasks. But most of my contribution history involved writing E2E tests during the 2020 E2E Test Automation Hackfest.

Your experience participating at the E2E hackfest in 2020

I successfully submitted 23 PRs in the span of a month, won first place in the E2E Hackfest and was named MVP for the v5.28 release for my E2E contributions.

What did you enjoy the most?

I enjoyed improving my Cypress skills and seeing the various test cases that the Mattermost QA team came up with and knowing that the tests I wrote probably reduced the amount of bugs and issues that could have occurred without them. 

I also enjoyed interacting with Mattermost developers and other E2E Hackfest participants, as I was able to learn a lot of new things and good practices from them. Everyone who was involved in organizing the Hackfest was amazing, and I felt that the comments I received on my pull requests were very constructive and not at all critical — even if at times my code was probably spaghetti.

I would like to especially thank Saturnino Abril for always helping me out whenever I was stuck and for encouraging me to aim for achieving the most amount of contributions during the hackfest!

Tips, suggestions or any message for the participants in the 2021 E2E Test Hackfest?

Cypress is very easy to learn. That said, you might pick up some test cases that don’t look that difficult at first but are quite confusing to implement. Some examples of tasks like this include those that involve having to check emails (Mattermost uses a local SMTP server for testing purposes) and those that require Enterprise licenses (the UI layout might differ between the Enterprise and free versions). 

If stuck with something confusing, the E2E guidelines is a great resource to check out first (it seems like after the 2020 E2E Hackfest, the E2E documentation was updated with plenty of relevant information that would be very helpful for newer testers!). 

If you can’t find the information in the documentation, don’t hesitate to send a message in the Hackfest group chat. Mattermost staff members and even other contributors are usually very helpful. 

Good luck and I hope that you learn a lot and have fun this hackfest!

Zubair Ahmed

Zubair Ahmed

Location: Hyderabad, India

Your experience in contributing to Mattermost

Mattermost is and continues to be my biggest contribution to open source. Pick any GitHub issue and you will have ample support from the community and core team. 

I remember in the early days when I was struggling to setup and run the app, a core team member pair-programmed with me, helped me setup my environment, and also explained the code base very patiently. 

All this support and encouragement boosts your confidence when you are new to open source. Although thousands of developers contribute to the code, the code remains very easy to navigate and most of the time explains itself. I have not found any magical or obscure code. 

Due to all these reasons, I kept coming back to contribute to Mattermost and I thoroughly enjoy it. Let’s not forget about picking up skills along the way! I have improved my Golang skills considerably and have discovered many ways to write a React application.

Your experience participating at the E2E hackfest in 2020

Another important skill I have picked up is testing. This was something I have ignored in the past, but I quickly realized how awesome and powerful testing can be. 

As soon as I started writing Cypress, I was in love with it. The Cypress hackfest, in particular, was fun to participate in. (Editor’s note: For more, check out a piece Zubair wrote, Modern ways of end-to-end testing with Cypress JS.) 

During the hackathon, your competitive spirit kicks in when you see other people gaining ahead of you in the number of issues resolved. With that, not only I was able to submit solutions faster, but I was also getting a lot better at writing effective tests.

What did you enjoy the most?

My biggest advice to new participants would be to just enjoy the hackathon, participate, learn, engage and make new friends along the way. It is a one-of-a-kind of experience. 

Tips, suggestions or any message for the participants in the 2021 E2E Test Hackfest?

Have your app all set up locally and make sure it’s able to run on your machine before the event begins. That can save you quite a bit of time during the hackfest. 

I also strongly encourage you to pick up a simple E2E issue before the hackathon to get yourself familiar with the technology. That way, you can focus on solving the actual issue during the hackathon.

Mohan Prasath

Mohan Prasath

Location: Theni, India

Your experience in contributing to Mattermost

It was a joyous and great learning experience while contributing to Mattermost. I got the opportunity to work with developers around the world and hands-on experience on new technologies.

Your experience participating at the E2E hackfest in 2020

E2E Hackfest was very intriguing and fast-paced in a good way. The tasks were well-defined and the maintainers were supportive of clearing the doubts and fast on reviews.

What did you enjoy the most?

The code base was built with good practices, so contribution became easy.

What are some things to pay attention to?

Peers PR, guidelines, and roadmap.

Tips, suggestions or any message for the participants in the 2021 E2E Test Hackfest?

Paying attention to documentation and guidelines can help the first time contributor a lot. And clearing doubts and confirming the acceptance criteria prior to the implementation helped me a lot to not go in the wrong direction.

Get involved with our 2021 E2E Test Automation Hackfest!

For more information or to sign up to participate in our upcoming hackfest, stop by the Hackfest channel and say hello.