Exploratory Charters in GitHub


GitHub Issues
GitHub Issues (for TestingConferences.org)

Since CAST 2015 I’ve wanted to implement an interesting idea that could potentially give my testing greater visibility and greater scrutiny: putting exploratory testing charters into our project tracking tool.

At work we use GitHub to host our code which means we use GitHub Issues as our bug tracker. Then we use ZenHub on top of GitHub Issues as project management / tracking tool. As the sole (omega) tester on the development I use GitHub issues for a number of activities:

  • Filing and reviewing issues (bugs and enhancements)
  • Occasionally reviewing pushed code changes referenced in the issues I’m tagged on
  • Occasionally reviewing pull requests
  • Committing the rare change to our production code (I’ve done this once so far)
  • Committing code changes to our test automation repo

Do charters belong?

Putting my exploratory charters into GitHub Issues (so they’d be visible in both GitHub and ZenHub) seemed like a worthy proposition. On the one hand it would allow my charters and subsequent notes to be seen and commented on by the whole team. On the other hand, would they really belong? GitHub Issues can be used to track tasks, bugs and enhancements, it’s a pretty simple and straightforward difference. My teammates have been creating tasks for a while and in the last few months I’ve been adding charters.

So far, no one but me seems to care. Great! First step complete. I already break the charters up into test sessions with notes and debrief information. After each session that information usually stays in my session notes. Instead it should flow into it’s corresponding charter’s task so I have a stream of updates as to what this charter has uncovered and what there’s still left to do.

That’s my next step, use the GitHub task to more actively record the details of the session and report back how the charter is going. From there I can keep track of the amount of effort I’ve spent (ZenHub allows us to track hours assigned to a task) per charter. Once this becomes more comfortable, the final step is to get our project management team to help influence the prioritization and maybe creation of those charters. Small steps! Shout out to Jesse Alford for the suggestion!