Hi there! Many people are asking on our communication channel Slack how to become a contributor for the Mautic community. This is the first in a series of articles which explain the different ways you can contribute to the Mautic Open Source Community. Let's get started with testing Mautic!
Testing, a good first step in the community, a highly appreciated contribution
Testing the app and the code of the app is one of the easiest ways to contribute to the Mautic community for the first time.
While this is a very important contribution which must be done with a high degree of attention, most of the time, it doesn’t require technical skills. Any user of Mautic can contribute by testing a pending Pull Request.
A Pull Request (PR) is a piece of code offered to the community to fix a bug, enhance, or offer a new feature. You will find a list of all pending PRs on the Mautic community GitHub project.
High quality testing is needed
Testing is not complicated, it is just a matter of installing the targeted PR and testing the feature (newly created or fixed). But be careful, this is not enough!
Why? Simply because a bugfix or the introduction of a new feature can unfortunately create side effects, which means that it might introduce new bugs.
Conclusion, to do a (very) good test, you should ensure that you check all aspects of the feature you are testing, using all the different options or configurations.
The aim is to ensure that the change has not introduced any new bugs, so it's important that the testing is thorough.
For instance, if there is a new feature around custom fields, while testing the feature itself works (creation, editing, deleting, etc.), be sure to also test that all the features using the customs fields are still working (email token, segment filters, reports, forms, etc.), and this will be a high quality test.
Testing a PR is easier than you might think
This is something very important. GitHub is a tool for developers, but we are asking you (maybe a marketer) to test the PR. No worries! Heath Dutton has been developing an amazing tool for you, Mautibox.
Anyone can now test a PR, without special technical skills.
If the PR is a bug fix, you will want to start by trying to reproduce the bug in your Mautic instance - for example using a locally installed Mautic instance. The PR will tell you the version of Mautic you need to test against in the details.
Go to mautibox.com and select the PR you want to test by the title or ID number (you’ll find the ID next to the title), click 'Let's Go!' to launch the box and run your tests.
Once you log in to the PR on Mautibox, there is a toolbar at the bottom of the screen to help you, which includes a link back to the PR for providing feedback
Yes, that is very easy!
- Do I have to do anything to install or update a PR?
No, if you have made it to mautibox.com/7802 the patches for the pull request 7802 have been applied to the latest staging branch. This is automatically kept in sync even when the PR is updated. This includes database migrations and plugin updates.
- How do I trigger cron tasks?
No need. The standard Cron tasks are executed every 5 minutes for all PRs that are active. This only includes the standard Mautic Cron tasks. You cannot use Mautibox to test specific/new Cron tasks at this time. That is best done offline.
- Can I test email from Mautibox?
Yes, but all outbound emails are captured for review here. Email will not go out into the internet to real email addresses. Please note this tool is shared between all PRs, so everyone’s test emails are publicly visible here.
- I get an error with a specific PR. How do I fix this?
This usually means the PR is out of date and cannot be tested properly due to a conflict. Please comment on the PR in Github so that the developer can address this. Mautibox tries to use the same mechanism for code merging that Github would use, but there are rare cases where a PR is mergeable, but Mautibox cannot test it. If you feel that you’ve found such a bug with Mautibox itself, you can create an issue here.
- How long is my PR active?
We aim to keep the PRs in Mautibox alive as the PRs in Github are applicable. We currently only put PRs “to sleep” when hard drive space becomes limited, purging static assets. Database contents persist indefinitely at this time.
Sharing test feedback
Last but not least, when you have completed your testing, the community needs your feedback! Please follow attentively the next procedure:
- Create an account on GitHub if you don’t have one yet (free)
- Go on the Mautic project where all the pending PR are listed
- Select the PR you tested
- Under the title of the PR, click on “Files Changed” and then on the green button on the right “Review changes”
- Share your feedback under the appropriate status:
- “Comment” if you have any question,
- “Approve” if that works as expected and you didn’t notice any new bug,
- “Request changes” if something went wrong: the fix doesn’t work, the feature doesn’t work or if you noticed a bad side effect anywhere.
- Warning: if you notice a bug or a wrong behavior, please add the “how to reproduce” paragraph in you review. The developer needs to understand exactly how to reproduce the issue to have the ability to fix it.
You’re done! Congratulations for your first review and on Mautic community members’ behalf, THANK YOU!