|Version 6 (modified by edunne, 10 years ago) (diff)|
I've developed a test case management tool that uses subversion as the testcase repository and uses the ticket framework in trac to create test runs.
Some of the common problems that any testcase management tool faces are:
- versioning of the testcases (taken care of by subversion)
- reporting (taken care of by trac ticket reports)
- generating specific test runs (taken care of specifically by the plugin)
The advantage of having a testcase management tool in trac is that it removes the need to have yet another system that manages testcases...with all the usual problems of maintaing user account, system upgrades, licensing issues. The other advantage is that it adds more transparency to the testing process as the tool and any testcases are right there for anyone to see.
Test cases are stored in a very simple XML format. And you can specify collection of test cases (for example a smoke test) by specifying which test cases belong to a test template. This information is also specified in an xml file.
Configuration steps required
- create a testcases directory within an existing subvesion project. We typically structure our development projects with a main project directory and then a source and build subdirectory. So when you add the testcases directory you might have something like this:
project/source/ <-- checked into subversion project/build/ <-- this is not checked in but created when you build the application project/testcases/ <-- checked into subversion
The nice thing about this is you add a lot more transparency to the testing process. As testcases are bundled and versioned with the source code
- Add testcases and commit those testcases to your subversion repository using the example format (see attachement)
- Create a testtemplate file and create and testtemplates you might care about (for example the smoketest).
- add in your trac config file a new section:
This is important because Trac can be set up against subdirectories so you often don't link trac to your root subversion folder, so only specify the full path from the root node if that's how trac was set up.
- add a ticket type called testcase
- I also add a custom ticket type in the trac.config file for reporting purposes
testcase_result=select testcase_result.label= Test Case Result testcase_result.options=pass|fail|incomplete
- enable the plugin either through the trac admin plugin or by modifying the trac.config file:
I've added some helpful debugging/error checking that should help if an error occurs. Probably the most likely error is you'll specify the relative path to the testcases incorrectly.
If you have any issues, create a new ticket.
Download and Install using easy_install
You can use easy install to install the testManagementPlugin by doing this:
screen shot to be provided as soon as trac hacks stops crashing when I try to upload it. lol.
How would you use this:
- create tests in the provided XML format.
- add and commit these testcases into your subversion project
- specify the path to the location of the tests in the trac config file (location in subversion not on your hard drive).
- add the custom field and ticket type to that trac project
- enable the plugin
- click on the testcase tab on the main trac menu
- select test run
- select users to generate a test run for (any user that's already registered in trac will appear
- select tests and test templates.
- click generate test run.
Each selected user will have a test case ticket generated with the test case details. They close the ticket and mark the ticket as pass fail etc. plus any comments.
Use the trac ticket framework for any reporting needs. Continue to add test cases and the plugin will automatically find them once they are checked into subversion.
- 4349 by edunne on 2008-09-26 22:29:45
uploading a packaged (egg) version of the latest stable version of the genshi/unicode merge.
- 4348 by edunne on 2008-09-26 19:22:37
creating a tags folder
- 4347 by edunne on 2008-09-26 19:04:39
added some additional error messages, merged the unicode version with the genshi version (also that was in the previous change). Updated the version num in setup.py