How To Contribute To Testsigma Open Source
The power of the open source is the power of the people. The people rule.Philippe Kahn
This guide is designed to help contribute to Testsigma, an open-source tool that supports end-to-end testing for Web Apps, Mobile Apps, and APIs.
Spoiler Alert: You don’t always need to be a programmer to make a contributor. There are many opportunities for coding as well as non-coding contributions. This article discusses all aspects necessary to contribute to Testsigma’s open-source project.
We would be talking about:
i. Tech Stack – Testsigma
ii. Ground Rules & Expectations from Contributors
iii. How to get started with Testsigma (Open Source)
iv. What if you’re blocked? Where & how to seek help?
v. How to suggest new features or enhancements?
vi. Various ways to contribute? Coding & the non-coding way?
vii. How to submit my changes?
viii. Coding standards & Guidelines
ix. Contribution Reward Program
x. Closing Note
Table Of Contents
- 1 Tech Stack – Testsigma
- 2 Ground Rules & Expectations from Contributors
- 3 How to get started with Testsigma (Open Source)
- 4 What if you’re blocked? Where & how to seek help?
- 5 How to Suggest New Features or Enhancements?
- 6 Various ways to contribute? Coding & the non-coding way?
- 7 How to Submit my Changes?
- 8 Contribution Reward Program
- 9 Closing Note
Tech Stack – Testsigma
Testsigma is a mono repository, i.e., a version-controlled repository that holds many projects (read ‘components’). It has four major components, i.e.:
iv. User Interface (UI)
These components are built using the following programming & scripting languages:
iii. Hyper Text Markup Language (HTML)
iv. Syntactically Awesome Style Sheets (SCSS)
v. Shell Scripts
vi. PowerShell Scripts
If you want to dive straight into the technical specification, you can start by understanding what Testsigma is and how it differs from other automation solutions by looking into Github: testsigmahq/testsigma and following the README file.
Ground Rules & Expectations from Contributors
Testsigma community has a detailed code of conduct available on Github: Testsigma – Code of Conduct. Basically, it entails three points:
i. Use Good Judgement & Be respectful
ii. Accept responsibility
iii. Focus on community goals over individual goals
How to get started with Testsigma (Open Source)
To get started with Testsigma, you would need the following software setup and installations on your machine:
i. Platform: Windows / macOS / Linux
ii. Programming Editor / IDE – Example: Intellij IDE
iii. OpenJDK 11
iv. Apache httpd
v. npm and nodejs (>= 12)
vi. Docker (If you want to use docker containers for setup)
vii. My SQL
Note: Knowledge of Git & Github Flow would be helpful in setting up and using Testsigma repository.
Once you have the above setup on your machine, Testsigma supports two deployment options:
1. Using Docker: It is the easiest way to set up the Testsigma server & MySQL. The detailed setup guide is available Testsigma Community Edition Docker Setup
2. Using Downloadable Package: The downloadable packages are available in the releases section of Testsigma repository. Refer to the assets section for the suitable downloadable package as per your platform. The detailed setup guide is available Testsigma Community Edition Setup using Bundled Package
What if you’re blocked? Where & how to seek help?
If you are blocked or need some assistance, here is a list of steps you can take. Most of the time, you will have some assistance until step three or four.
Step 1: Join the Testsigma Community Server on Discord. This is go-to place for any kind of issue or support related to Testsigma.
Step 2: Look into the product documentation. In the majority of cases, the documentation itself will provide solutions.
Step 3: Check for support / existing discussion on the Discord Server. There are dedicated channels for such discussions under the Testsigma Platform Group on the Testsigma Discord server.
Step 4: If you suspect that the issue you are facing might be a bug in the platform, Navigate to the issues tab on the github repository.
i. Check for already closed issues
ii. Check for open issues
iii. If the issue is not listed there, please open a new issue by providing the following details:
a. Bug Description
b. Current Behavior
c. Expected Behavior
d. Steps to reproduce
e. Version affected
Step 5: Initiate a discussion on Testsigma’s github forum.
Step 6: Use the support chat available on testsigma.com.
How to Suggest New Features or Enhancements?
After using the platform for a while, it is very natural to have new suggestions, ideas, and requests for improvements. Open-source projects are no exception to this. You are welcome to suggest improvements and that’s one way to contribute towards an open-source software project.
If you have a suggestion, you can start by navigate to the issues tab to see if any request already exists.
If a similar issue already exists, add your comment to it or upvote the existing one.
If not, create a new one using the New Issue feature.
Click on Feature Request and add the feature by providing the following details in the feature request form:
i. Feature Summary
ii. Feature advocacy: Why does it matter?
iii. What is the feature about?
iv. Why should the platform have this feature?
v. Other relevant details?
Once you have raised the feature/enhancement request, wait for the moderator to respond.
You can also discuss that in the discord server by sharing the link to the feature request in the Testsigma discord server in the channel titled ‘feature-requests’
Various ways to contribute? Coding & the non-coding way?
You can contribute to Testsigma’s open-source project on various levels and in a variety of ways. Primarily, we can classify contributions as coding & non-coding contributions.
i. Build an Add-On
ii. Fix an open bug available under the issues tab.
iii. Add a new feature or enhancement.
If you are a beginner, and not yet confident about making big coding contributions. Check for “good first issues”. The complexity of such issues is relatively easy, and they are often left open for beginners to contribute.
1. Be active in the discord community: Help others use Testsigma.
2. Report a bug
3. Create a feature request
4. Improve the documentation:
i. Fix Typos
ii. Highlight inconsistencies & fix them
iii. Add missing information
iv. Add flow charts, etc.
5. Blog about Testsigma
i. Testsigma has an active community blog too. Check it out here.
ii. Some blogging ideas:
a. Features you liked
b. Your experience with the platform
c. Your contribution experiences
d. Platform tools, tips, hacks, etc.
iii. For more details, write to email@example.com
6. Talk about Testsigma: Create video tutorials, podcasts, meetups. If interested, write to firstname.lastname@example.org
7. Contribute to platform tutorials
For more details on this topic, you can also checkout the detailed contribution guide available here: testsigma/CONTRIBUTING.md
How to Submit my Changes?
It is necessary to use Git in order to set up the Testsigma project on your local machine and submit your changes back to the remote repository on GitHub. Here is the link to some basic git commands that would help you with this. Alternatively, you can also use a GUI based git client such as Github Desktop.
Testsigma can also be integrated with GitHub Actions for CI/CD purposes. The completed guide is available here.
1. Coding standards & Guidelines
If you are interested to work on a code level contribution, here are some guidelines to assist you:
i. Create an issue under the issues tab before raising a pull request
ii. Discuss the possible solution with the maintainer. Discord channels and issue comments are appropriate places to have such discussion.
iii. Follow the GitHub Flow for source code collaboration.
iv. Write good commit messages: Here is a quick reference to assist you. Humans and machines can both understand commit messages if they contain the right information.
v. Mention the GitHub issue number while raising the pull request to help map the code contribution with the logical feature/bug / enhancement request.
vi. For all coding contributions, a CLA(Contributor License Agreement) needs to be signed before or after the pull request is submitted. A bot will prompt it via pull request comment.
Testsigma also has a piece of detailed information about standards and guidelines on Github. Check it out here.
Contribution Reward Program
Testsigma now offers rewards for open-source contributors as well. That’s pretty cool, isn’t it?
If you’ve done a coding contribution to Testsigma, you can claim your badge and your NFTs at aviyel.
If you have claimed yours, don’t forget to showcase them with pride. Let’s inspire more folks!
Contributing to open-source projects can be a rewarding experience. Kudos to you for considering making your first contribution to Testsigma! 🥳 The contribution you make could inspire many others to upscale their open-source journey. Hopefully, I’ve inspired you enough to contribute to this amazing open-source world.