Last week I started working on a test case management tool for my current work.
I decided to build it as a plugin for Redmine, an open source project management application, which is based on Ruby on Rails. There seems to be quite a bit of interest in the community, and I hope I can leverage that to get help developing it — that’s the real point of open source anyway, isn’t it?
I’m moving slowly, working on it in my spare time. I’m deliberately keeping the feature set small in order to get something useful out there, get feedback, and let it evolve into the product that has the most use for the most people, with my own personal needs coming first, of course.
The first challenge is learning how to create a Redmine plugin, which I think I’m starting to turn the corner on. Next will be learning Rails well enough to take advantage of its features and have a code base that others can understand.
I think I’ve got a pretty good basic model of TestCases, TestSuites, TestRuns, TestResults, and TestReports.
- A Test Case has a title and a description, nothing else for now
- A Test Result has a status (pass/fail) and notes
- A Test Suite is a collection of Test Cases
- A Test Run is an execution of a collection of Test Cases
- A Test Report is the collected results of Test Cases in a Test Run
The basic workflow will be:
- Create Test Cases
- Add Test Cases to Test Runs
- Execute Test Run
- Click pass/fail on each test case, generating a test result
- Viewing the results for a Test Run
I have an idea for the UI as well, but could really use help on that.
Other things that might be included to expand the model in future versions
- A Test Environment can be associated with a Test Run
- A Test Plan describes a collection of tests and their execution
- Test conditions, steps, & data
- Agile / Scrum concepts
Additional features to be added in the future may include versioning of tests, integration with automation tools, consuming (and producing) JUnit Reports, continuous integration, requirements management, other bug tracking and test management tools (like TestLink, Testopia, Test Director)
Right now, I have a basic Redmine plugin that can do CRUD on a test case. You can see it at http://redmine-tcm.one-shore.com/test_cases
The next steps will be
- Associate test cases to a project.
- Create a test runs and add test cases
- Execute test cases in a test run and save the results
- View a report
I’ll work on getting a clean repository up (if there’s interest) on Github, Rubyforge, Sourceforge, or my own SVN repo. I hope to have a very basic version 1 within a month or so.

Hi, im interested in your Redmine Plugin Project.
I’m a software tester too, and got also some developing and linux experience. Tell me if i can help you with this project in any kind!
robert
By: Robert Gröber on April 9, 2010
at 5:59 am
Robert-
Thanks for the interest. I’d be glad to have your help. Tell me more about what features you’re interested in and how you’d like to contribute.
By: fijiaaron on April 9, 2010
at 9:24 am
What features are required:
- define Testcases and Testplans which contain Testcases
- Testcases must be versioned. Also executed TC can only changed by creating a new version
- easy Testcase creation, that inludes adding Screenshots (see Screenshotpaste plugin in Redmine)
- Testcases consist of:
– Name, Description, maybe pre-, postcondition
– Dependencies (other Testcases) would be a good idea
– other custom fields will be great
– state (Draft,…)
– attachments (like Excel, Word documents …) and Images!
– Teststeps
– define the steps for running that TC
– consist of: Description, Precondition, Postcondition
– custom fields?
- Testplans refer to a list of Testcase versions
- Testplans can be executed by Testers in a Testrun
- Testruns consist of:
– System under Test (Maybe a configured list)
– Version (defined in Redmine)
– Build Number
– Environment/Test client with OS and Version
– a Testrun should also be assignable to a Tester by a Manager
– Grouping of Testcases in the Plan could be uses for assigning TestCaseGroups in a Testplan to multiple Testers
I could help in defining requirements ;), developing and testing the software. ;)
hope to hear from you.
robert
By: Robert Gröber on May 28, 2010
at 2:45 am
I like your idea. I have waited 1 year already to see some progress in this area for testers. I am pushing hard Redmine in our organization, and a test case management pugin would be the best thing. Please tell me also if I can help.
By: mihai on April 29, 2010
at 3:47 am
Thanks for the encouragement. I’m behind schedule but would like to get back to working on the Redmine test case management plugin this month.
By: fijiaaron on May 4, 2010
at 11:05 am
Hi fijiaaron , i’m interested in your Redmine Plugin Project too.
I’m actually working in a personal plugin and have some problems with forms… ¿can you share yor code?
Thanks a million!
By: bruney3 on May 5, 2010
at 4:53 am
Bruney-
My code isn’t really worth sharing yet, can I beg another month or so. It’s not tied into Redmine yet and not very functional.
By: fijiaaron on May 5, 2010
at 8:56 am
Robert-
Thanks alot. This fits very well with my idea. Let’s talk some more about how to tackle working together on this.
I’ve really been distracted with other work and hoped to have something basic working by now, but haven’t gotten to it.
Do you have any experience working on Rails or Redmine projects?
-Aaron
By: fijiaaron on May 28, 2010
at 8:48 am
So, what’s the status on your project? It looks quite interesting.
Thanks.
By: Larry on August 27, 2010
at 9:41 am
It’s on the “I’m going to get back to it real soon now” track. Starting in September I’m going to have 5 hours/week dedicated to it. I hate to put another day up again and miss it, but look for a Halloween beta release.
By: fijiaaron on August 27, 2010
at 10:07 am
Hi,
It`s a very good idea.
I have time to work on your project.
are you interested for my help?
By: Julian on January 26, 2011
at 12:52 pm
I’m interested too. As a developer I may help…
Is this still a living project?
By: Tiands on December 9, 2010
at 9:06 am
yes, but I haven’t had time to work on it in a while. It’s hibernating. :)
By: fijiaaron on December 9, 2010
at 10:36 am
Hi,
It`s a very good idea.
I have time to work on your project.
are you interested for my help?
By: Julian on January 26, 2011
at 12:52 pm
Hi, did you have the time to make any progress on this project?
By: Mygor on July 27, 2011
at 7:59 am
Not yet.
By: fijiaaron on July 27, 2011
at 8:05 am
I have currently done a 1st prototype where you can:
* Create testcases and link them to Issues (and on Projects)
* List testcases of current project (no grouping yet, treeview grouping planned)
* Run a linked testcase on an Issue (all in the Issue page where the issue is stil visible via Ajax)
* testcases consist currently only of
* description and title
* steps to do (text, no own entity)
* expected results (text)
* list of testruns on each issue
* versioned testcases! testcases are linked to an issue in a specific version
* list ran testcases of a project’s version in roadmap
* list testruns of a project’s version by testresult including a nice pie chart ;-)
Still feels like a prototype.. but its working :-)
I will ask my boss about opening an opensource project if some of you really want to contribute…
robig
By: robig on August 5, 2011
at 4:56 am
Robig-
That sounds great — almost exactly what I wanted! Keep me posted if you open source it.
By: fijiaaron on August 24, 2011
at 1:35 pm
Hi Robig, we are looking for test management plug-in for Redmine. Were you able to opensource your prototype? Am not a Ruby developer, so looking for something that I can actually use!
By: Varadarajan Sridharan on December 26, 2011
at 11:00 pm
I’ll be able to get back to work on this in January.
By: fijiaaron on December 27, 2011
at 9:04 am
Thank you for the prompt response, eagerly waiting for your plug-in..
By: Varadarajan Sridharan on December 27, 2011
at 8:33 pm
Also waiting .. how long will this take to ask you boss?
Please feel free to upstream on github
By: cyforce on May 17, 2012
at 2:20 am