April 10, 2020

QA at Topcoder: A Beginner’s Guide

What Is QA?

Quality Assurance (QA) is a new track at Topcoder. QA is the process of ensuring that the software or app works as expected and is free of bugs, errors, and defects.

Types of QA Challenges

Bug Hunts

A bug hunt, a form of exploratory testing, is the process of exploring websites, web apps, and mobile apps to find defects and vulnerabilities. The defects and vulnerabilities found are called bugs. In a bug hunt, the objective is to find functional, UI/UX, content, security, and accessibility issues.

Regression Testing

Regression Testing, a form of structured testing, is testing the functionality of the software or app to ensure that the features work as expected. Test cases and test strips are used. Regression testing is performed after changes are made or new features are added to the software and can be either manual or automatic.

Test Scenario and Test Case Creation

Test scenarios and test cases fall into the category of structured testing. Test scenarios tell the tester what function to test. An example of a test scenario is ‘Verify the Login Function’. Test cases are the positive and negative steps, pre-conditions, test data and expected results of the test scenarios.

Automated Testing

Automated testing uses test scripts or automated testing tools such as Selenium, Jasmine, Karma, Protractor, and Appium to test the functionality of the software/apps. On Topcoder, most unit tests and e2e (end to end) tests are automated. Automated tests are written using test cases.

Skills Needed

Bug Hunts

Most bug hunts do not require extensive technical or coding skills. If you are new to QA or new to software testing, bug hunts are a good place to start. Anyone who has visited a website, completed an online application, used a mobile app, or played a video game can participate in a bug hunt. Bug hunting requires you to think like an end-user. All you need to participate in a bug hunt is the ability to think outside the box, notice inconsistencies in the color, fonts, and layouts and to discover when features are not functioning properly.

Regression Testing

Although regression testing does not require any previous knowledge of the software, you need to be detail-oriented and have good written communication skills. In manual regression testing, you follow a prewritten test case step by step and record the findings.

Test Scenario and Test Case Creation

To write good test scenarios and test cases, you need good logical and analytical skills. You also need the ability to think like the end-user. Since test scenarios and test cases should be simple and easy to understand, good written communication skills are a must.

Automated Testing

Automated testers need to have good coding skills. Java, Python, C#, Angular, and Nodejs are some of the most common languages used on Topcoder. Also, you need knowledge of the different testing frameworks. Automated testers need good logical and analytical problem-solving skills.

Prize Amounts

The prizes amounts vary anywhere from $100 to $1000. In bug hunts and regression testing challenges, participants who do not place for prize placement are paid per bug or test case.

Getting Started

All challenges listed on Topcoder have a technology tag. The fastest way to find an open challenge is to search using the ‘QA’ tag

https://drive.google.com/open?id=1__5FwzRkKMBgNSU-VqpiwudTMDiKgLjf

Some bug hunt challenges do not use the QA tag. To find open bug hunt challenges, search for the ‘Bug Hunt’ tag.

https://drive.google.com/open?id=1lZd3ClWUGkRHiKIbY5-hsVIZCOHo2AFg

Now is a great time to participate in a Topcoder challenge!

References

Banner Image - Adobe Stock/tashatuvango - adobestock.com
QA Image - Topcoder - topcoder.com/challenges
Bug Hunt Image - Topcoder-tocoder.com/challenges

Group 9
Group 9