A lot of people seem really interested in the Redmine TCM plugin. Which would be great if I had something to share. But I don’t even have something to use. I’ve been swamped fighting fires doing manual regression testing at work, and haven’t even got a decent automation test suite going. I’ve been managing complexity with sticky notes, and it’s not pretty (well, my desk does look kind of colorful with all those bule and orange and green sticky notes.)
Someone needs to kick my butt and get me to work on it.
Apart from finding time at work to build it (beyond it’s current prototype state that’s not integrated into redmine), here are the roadblocks I need to overcome:
- Learn more about Rails.
I’m still a novice, and I need to take a step back and do some more serious studying - Learn how to integrate it as a Redmine plugin.
It shows up but doesn’t use redmne auth, isn’t in the menus, and doesn’t have any relation to “issues”. I need a good example for this, and the Timetracker plugin is probably the best bet. - Settle on a relatioship model.
Right now it’s very basic. A table of tests, and a table of test results. I want to have something like:
testCase =>testConditions
testCase <-> testExecution
testExecution -> testResult
testRun<=testExecutions
testRun => testEnvironments
testSuite => testCases
testRun => testCases
Comments on testCase
Notes testExecution
Notes on testRun - Getting the UI to look the same
I also recently switched from Windows to Linux (hooray) so I don’t even have a redmine development environment setup. It might take me a half day to get to the point where I can start coding and see where I left off.
I really want this to be a priority, but I’ve been spending my spare time on Resumelink for the past month, and will probably spend much of my spare time on it this month as well. Look for something in June.
Hi Aaron, I’m intregued by a couple of your relationship ideas there. These two in particular…
TestCase testExecution
I can understand a test case being executed many times. However, I don’t quite understand a testExecution being related to many test cases.
testRun => testEnvironments
Wouldn’t a test run only relate to one test environment?
It’s no mean feat getting the relationship model right when designing a test management tool. As I found to my cost (in time) some years back.
Hope this helps
In my view a testRun is an execution of tests against a build (or some code artifact). Since a build can be tested in many environments (ie. PC, Mac, Linux) an individual test case (the definition) can be executed and give results against multiple environments, relevant to the same code base.
So the testRun is all tests run against a particular artifact, and a testExecution is the action of running a test against a particular set of variables, environment being one of them.
It could also make sense that a test case defines: “do X against Environment A”
but for the sake of brevity and automation, I like to specify a test with a set of parameters that can be controlled:
“for Environent (A, B, C):
do X
do Y
do Z
etc.
Of course, environment isn’t the only variable, and there is usually a point where the number of variables becomes unpractical to automate.
For me, that usually comes at the point that your test code branches, except for trivial cases like “Login unless already login” but stops before “Register unless already “Registerer” because that’s usually more than a 1 step process and can include additional variables.
I understand where you are coming from on the testRun front now. I would agree totally about the relationship between testCase, build and environment.
One other thing to consider though is the requirement from some teams to link one test case run to multiple builds. So for example the scenario where a test case is run on Windows XP, with FF3 for build 123 of your product. Then the same test case is run for Windows Vista, with IE8 for build 123. So basically you’ve got multiple environment parameters to consider when managing each test.
Hope that helps
Bill,
Thanks for all your comments and feedback. It sounds like we have a lot of similar ideas, and your experienced opinion validates my own.
I’m kind of committed to building a test system with Redmine, but I should take another look at QaTraq. But I don’t see a working download link except for windows exe.
-Aaron
I agree totally. That’s why a testRun has a 1:many relationship with testExecution, with the testRun being tied to the build and the testExecution being tied to the environment.
Hopefully you will ever opensource this ..
I am going to write a similar plugin like this. Wish me luck!
Hope to publish it on github, when it takes more stable shape.