Ultimate List of Programming Projects for Testers to Include in Their Repo

You’re gonna want to bookmark this page.

Hales
Software Testing Pipeline
10 min readSep 12, 2022

--

Use this list of project ideas to get inspired for your personal programming projects. Having a robust git repo available as a software tester, can give you a boost when job hunting. Image created by author.

How can you showcase your skills?

Think like a hiring manager.

You want a new job. A manager wants to feel confident that an interviewee is competent in their skills, has clear communication, and can problem solve.

For a junior software tester position, a hiring manager may want to see a general understanding of programming. For a Senior Software Developer in Test (SDET) position, they’re going to want more complicated projects with plenty of best practices in place.

Add projects that highlight your strengths to make it easy for the interviewer to see your skills. They don’t all need to be code based. There are plenty of no-code items that you could include in your portfolio.

Here are some semi-detailed plans for what you can add to your code repo. Keep in mind, these are examples. You don’t need everything listed here.

A personal repo is not usually a requirement to apply, but it’s a great place to clarify your strengths. It helps to fluff up a resume if you’re lacking the experience as well.

Not sure if having a repo is worth it for a tester? Read this.

Pick a project or two from this list to refresh your repo. You DO NOT need to include everything in this article. This list is organized as beginner to intermediate (more or less).

Here are some tips before we get started
Tutorials and schoolwork aren’t the most impressive piece to add to a portfolio
−− Do these things to make your repo stand out if you’re using tutorials
−− Try these resources for coding tutorials to learn how to code as a quality assurance engineer:
School Projects are pretty much the same as tutorials
−− Free Academic Programming Resources
Code Pen
−− Easy HTML and CSS Projects to add to CodePen
Front-end testing examples
−− Front-End Testing Tutorials:
Performance Testing Examples
API testing examples
Create a Very Simple Free App or Browser Plug-in
−− Twitter bot
−− Browser plugin
−− To Do List Tutorials
Note

Here are some tips before we get started

  1. Good branching practices is an impressive skill. Use your repo to showcase your skill.
  2. Learn to write a good ReadMe. Your code has to be able to stand on it’s own.
  3. Commit messages and commit history matter. Commit messages are treated by a lot of folks as a brain dump, but a well maintained commit history makes it easy to revert changes if needed. It’s more important to know why the commit was made, than what the code changes are.
  4. Keep it clean. This repo’s purpose is to be used as a portfolio. Don’t try to apply to art school using only Crayola products. It may work for some, but they’re the exception.
  5. But don’t be afraid to experiment. Sometimes projects get abandoned. So long as every project isn’t half-finished, feel free to stretch your coding muscles, and try new projects.
  6. Depending on your career level, a repo will be judged differently. A junior is held to a different standards than a senior.
  7. Days active is a publicly tracked metric on GitHub and most other repo systems. It will be noticeable if you start a repo two days before an interview and copy/paste a ton of code into it.
  8. If you’re adding projects that you’ve already completed, spread them out to make your daily coding activity look consistent. GitHub likes regular activity. So do potential employers/clients.
Anyone can say that they know how to program, having a solid repo is an easy way to prove your expertise.

Tutorials and schoolwork aren’t the most impressive piece to add to a portfolio

But if you’re a junior, or someone trying to get into the industry, they aren’t a bad option.

While you could create a large portfolio of code based solely on tutorials, the practice is frowned upon.

However, if you are capturing the work done as you complete learning projects, it shows off your personal development.

Tutorials can be used to pad out a repo, and show activity prior to you gaining confidence enough to peruse tough projects. Focus on tutorials that allow you to create semi-finished items, even if it’s very simple.

Do these things to make your repo stand out if you’re using tutorials

  • Include a clear Readme. This is an extension of your resume. You don’t want a manager to become confused with how you’ve organized your work, and give up before they see it.
  • Follow the tutorial, but customize it. Depending on the project, you may be able to customize options from the beginning. If the tutorial is teaching you how to make a dog walking app, follow the tutorial, but make a cat feeding app. Or follow the tutorial through, and then add more functionality.
  • Combine tutorials. You don’t need a separate project for each tutorial. If you’re learning Bootstrap, create new pages on the same website to show off what you’ve learned.
  • Consider your repo a bragging grounds. This is your personal space, where you get to choose what you show off. Pick projects that you excel at, and tie them to software testing if needed.

Try these resources for coding tutorials to learn how to code as a quality assurance engineer:

  • freeCodeCamp — They provide free programming education, that’s better than a lot of paid alternatives. With 10 free certificate paths, that take you from beginner to adequate in necessary skills with interactive lessons. They have a dedicated Quality Assurance track, but I suggest new folks start with the Responsive Web Design Certificate.
  • learn-c.org — C is not the most common language for programming automated tests for web testers, however, C is used for native applications and operating systems. It’s worth it to get a simple scripting language (Python or Ruby) and a ‘crunchier’ language under your belt.
  • Code.org — This website offers a variety of tutorials and courses that are designed to teach you the basics of programming. The courses are interactive and fun, and they cover a variety of topics.
  • LearnPython.org — Python is a great scripting language for web testers. This site focuses on helping folks get a solid and usable base in Python using interactive lessons.

Alternatively, you could create tutorials and post them online. One or two really in-depth tutorials, or a series of smaller tutorials is a good way to showcase your knowledge.

I always suggest new programmers blog as they learn to program. It’s a great way to reinforce what you’ve learned, while giving back to the community.

Even the most basic concepts need to be explained to someone. Don’t be afraid to capture your beginner knowledge.

Photo by Desola Lanre-Ologun on Unsplash

School Projects are pretty much the same as tutorials

Including school projects in a repo is acceptable for a junior, but school projects shouldn’t constitute the entirety of your GitHub.

If you didn’t have the opportunity to complete programming-related school work, there are plenty of free courses released to the public. Auditing these classes is free, but you generally have to pay to receive a certificate.

If you don’t have the funds for that, no worries. Take the class and the knowledge, and add any projects that you create to your repo. Document your journey.

Free Academic Programming Resources

Code Pen

Understanding HTML and CSS are important skills for web testers.

Prove that you understand these concepts by building small projects on CodePen.

CodePen allows you to build a small environment of HTML, CSS, and JavaScript in a browser. This means setting up to practice, saving, and showcasing your work is simple.

It’s especially useful to show off small design units, or items like navigation bars. You can build the unit in isolation without needing to build a skeleton around it.

Screenshot of codepen.io project for the coding challenge FizzBuzz. The website preview can be seen below, with the HTML, CSS, and Javascript viewable in the editors above.
CodePen.io is a great place to practice front-end web development. No need to spin up a server, just use the built in editors for HTML, CSS, and Javascript. Image by author.

Easy HTML and CSS Projects to add to CodePen

Any projects that are added to CodePen can also be included in a traditional GitHub repo.

Front-end testing examples

As a software tester, learning to write automated front-end tests is an important skill. By writing automated tests, you can save time and ensure that your tests are accurate.

There are a number of different tools that you can use to write automated tests. Selenium, WebDriverIO, and Cypress are popular tools for automated testing. These tools allow you to write tests in a variety of languages, and are open source and free to use.

Wait. There’s a couple of tricks to including front-end automated tests in your repo.

Adding Selenium or Cypress tests to your personal software testing GitHub is a great way to showcase your knowledge and skills, not just the fact that you can write code, but that you can write reusable, clean, organized code.

Automated tests can be a little tricky to set up locally due to drivers, so provide an option to see and understand your tests without needing to download and run the tests.

  • Include .gifs or embedded YouTube videos in your ReadMe of your tests running.
  • In your ReadMe, include detailed steps on how to install your script and run it.
  • COMMENT. COMMENT. COMMENT. Comment your code, so it’s easily understood by someone who only has access to read your code.
  • Organize your tests. It doesn’t matter which philosophy for test organization that you use, just make sure that you choose one and stick with it within the project.

Front-End Testing Tutorials:

If you’re writing automated tests to include in your personal repo, use the tutorials below as a framework for setting up your tests.

What website should you test with your automation? You have a couple of options.

  1. Use a stable common website — such as Google. You may need to maintain and update your tests as updates as made though.
  2. Use a Google Form that you control.
  3. Use a software testing practice website, such as automationpractice.com.

Performance Testing Examples

Performance testing is an important part of the software development process. By performing performance tests, you can ensure that your application is able to handle the expected load of folks actually using the product. (Performance testing, load testing, and stress testing are different, however, this section includes tutorials for all three types.)

API testing examples

As a software tester, it’s important to learn how to write API tests. This will allow you to verify that the APIs your application depends on are working correctly.

There are a number of different ways to write API tests. How a team prefers to test their API will vary from company to company, but the basics remain the same.

There are two main ways to test APIs, via dedicated tools for APIs such as Postman, or by using an API testing framework such as SoapUI.

Create a Very Simple Free App or Browser Plug-in

Testers need to have a firm grasp on how apps are put together, and what makes a good user experience. If you can show that you understand these concepts, it will go a long way.

The best way to do this is by creating a simple app or browser plug-in. Something that solves a small problem, or enhances an existing user experience.

Remember: tutorials are great starting points, but adding and customizing will show your skills better, & always cite the tutorial that you followed in your ReadMe.

Twitter bot

Twitter is one of the few social media sites that allows the use of bots, but make sure you’ve read the terms of service for what they allow.

Browser plugin

To Do List Tutorials

Note

I’ve tried to include the highest value tutorials in each section — this means that I purposefully chose tutorials that focus on step-by-step instruction, and ignore the beginner tutorials that are too vague. Please leave a comment if any link is low-quality, or if you have a favorite tutorial for software testers or QA automation engineers.

--

--

Software Testing Pipeline
Software Testing Pipeline

Published in Software Testing Pipeline

Tech has a pipeline problem. We’re here to reduce the hurdles for people who want to start a career in tech. Learn about software testing and software quality assurance.

Hales
Hales

Written by Hales

QA Engineer. Nerd Extraordinaire. Lover of opossums.

No responses yet