I have mostly worked on hardware testing in my professional career and would like to get onto the software development side. I thought working on a practically usable project will help motivate me and help acquire some skills. I have decided to build a test plan management tool for the QA team I work in (We use excel sheets!).<p>The test plan management tool should be browser based and should support this:
There would be many test plans, each test plan having test sets, test sets having test cases and test cases having instructions, attachments and Pass/fail status marking and bug info in case of failure. It should also have an export to excel option. I have a visual picture of the tool I am looking to build but I don't have enough experience to figure our where to start.<p>My current programming skills are limited to C and shell programming and I want to pick up python.<p>What tools (programming language, database and anything else?) would you recommend for me to get this done? Also what are the key areas in the recommended programming language that I should focus on to build a browser based tool like this?<p>Thanks.
At $previous_job we were using RT to manage the spec -> dev -> QA -> deploy cycle. For each new task a new ticket is required. Project managers and team leaders split this ticket into smaller sub-activities (new tickets children of the original one) and assign them to developers. Each developer is responsible for including testing instructions in a ticket comment, and providing the references to revisions relevant for the test. When a developer is ready for QA, he passes the ticket to his project manager, who can test and decide if the activity is ready for QA. At the end of the process, QA receives a single ticket, with a set of dependent tickets each one with instructions about how to prepare the QA environment and do the test.<p>On top of that we built various tools. A web-based kanban board displaying the status of each task, command-line utilities to make developers' and QA guys' lives easier (for example, there was one adding comments to tickets for every commit; or another allowing PMs and QA to fetch the list of revisions needed for a task), and so on...<p>To build the tools we used RT::Client::REST, a Perl client for RT. Given the REST interface, though, I think you can find something for Python or any language you plan to work with.
Programming language matters little for something simple like this, just choose a scripting language like Python, Rails, PHP etc. Set up your tables in MySQL or something. Good luck!