How To Contribute To Testsigma Open Source

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

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.:

i. Server

ii. Agent

iii. Automator

iv. User Interface (UI)

These components are built using the following programming & scripting languages:

i. Java

ii. TypeScript (Transpiles to JavaScript)

iii. Hyper Text Markup Language (HTML)

iv. Syntactically Awesome Style Sheets (SCSS)

v. Shell Scripts

vi. PowerShell Scripts

Tech stack Testsigma

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

viii. Git

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.

testsigma platforms

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.

testsigmahq/testsigma

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.

New features

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.

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.

Non-Coding Contributions:

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 community@testsigma.com

6. Talk about Testsigma: Create video tutorials, podcasts, meetups. If interested, write to community@testsigma.com

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.

bugfix

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!

Rewards

Closing Note

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.


Test automation made easy

Start your smart continuous testing journey today with Testsigma.

SHARE THIS BLOG

RELATED POSTS


The Anatomy of a High-Performing Software Testing Team
The Anatomy of a High-Performing Software Testing Team
Is Software Testing a Stressful Job?Uncovering the Unknown Sides
Is Software Testing a Stressful Job?Uncovering the Unknown Sides
Performance & Resilience Testing for Improved Sustainability Post Digital Transformation
Performance & Resilience Testing for Improved Sustainability Post Digital Transformation