18 GitHub Projects for Testing

Aside from it’s many awesome lists GitHub is a really good place for open source testing tools, libraries and frameworks (and their corresponding code). I’m pleasantly surprised by these new (and sometimes old) testing resources, so I’d like to highlight many of them in the hopes others might also find them useful.

The challenge with listing any GitHub projects is that there are really too many projects to list. I’ll push this problem and mention a few here anyways. Many of these projects are Ruby based because that’s my language of choice. I’m sure there are similar projects for your favorite languages as well.

Tools

Many of these tools are easy to download or install without any knowledge of their underlying code. A few like The Internet or Ally will require a little more work.

  • BugMagnet. Both a Chrome and Firefox extension that contains lists of values you can use for boundary testing. Great exploratory testing companion.
  • Form Filler. Other Chrome extension is great for filling in standard forms (login pages, etc).
  • The Internet. A test project for playing with selenium automation but could probably be cloned and used for other testing / practice purposes.
  • AutoHotkey. A windows desktop automation project for helping you speed up your workflow.
  • Android battery historian. Inspect battery related information and events on Android devices.
  • PICT. A pairwise / combinatorial tool for Windows from Microsoft.
  • Ally. An accessibility auditing tool.

Libraries

These offer extended functionality, generate data or generally make testing easier.

  • Faker. This great gem will help you generate fake data for testing. Need passwords, usernames, email address, city information? Faker has it.
  • Parallel Tests. This gem is for running multiple tests at one time. Personally I use this for running concurrent automated tests locally and at Sauce Labs.
  • Mailosaur Ruby Client. This gem is part of a mailosaur service but in theory will help with end to end automated testing around mocking email services.
  • BrowserMob Proxy. A proxy for monitoring and manipulating traffic. ElementalSelenium has a few tips showing how to use BrowserMob in your test automation.

Frameworks:

These are pretty well known across the testing landscape and for that reason are worth mentioning. Many of them have good wikis, documentation or other related resources you can learn from in addition to the underlying code and bug trackers. YMMV:

My goal with sharing these is to point on the many very good tools available for testing and I hope I’ve accomplished this. Did I miss any projects that you find useful for testing? If so leave a comment and tell me what you like about the particular projects!

9 GitHub Lists for Testing

I spend a lot of time on GitHub and it can be a great place for finding open source libraries, tools, frameworks and pretty much anything else you might want to version control. This includes lists (and more often than not, lists of lists). The challenge is finding just those lists that contain value and not chasing around each individual list of list in a recursive never ending search.

Why Lists?

Over time and when looking for certain types of failures (or bugs), patterns emerge. Some of these patterns can be captured as data, like password dictionaries or image catalogs, or as a collection of test ideas. Some authors have made lists this with heuristics (Bach, Bolton & Hendrickson) while others have published lists of failures common to certain applications or languages (Kaner).

Here are 9 lists I’ve found to be good references when testing.

Input Fields:

Useful for boundary analysis and equivalence class partitioning, input field catalogs are basically collections of values you can use to try to trigger failures based on the data-type of the input field. For this reason they are often broken into specific data types like Strings, Integers, Floating Points, etc.

Security:

For both tools and reference material, turns out there are some good references for learning more about security. Password libraries and other data:

More:

Other valuable lists that don’t easily fall into a single category:

  • My own catalog of images. Based on size and format you can use this catalog for testing image uploads. Searching Google I wasn’t able to find any specific collection for testing, so I made my own.
  • Awesome Test Automation. A curated list of test automation frameworks, tools, libraries, etc. The list is pretty good. I use Ruby and they had a good list of Ruby gems for generating test data.
  • TestingConferences.org. A simple list of software testing conferences and workshops published collaboratively with the testing community.
  • Free Software Testing Books. That’s right, a collection of free software testing books. Although some of these appear to be papers, guides and “demo” chapters, it’s still a good (cough, free) reference!

Did I miss any lists that you find useful for testing? If so leave a comment and tell me what you like about the particular list!