The test case is a set of test inputs, execution conditions, and expected results developed for a particular objective such as to exercise a particular program path or to verify compliance with a specific requirement. In software testing, we might deal with either actual requirements or self-imposed requirements, no matter how well the formal requirements and specifications are defined. The software tester will develop and execute test cases in the course of testing the software product. Many companies are outsourcing the execution of test procedures, and as a result, we are seeing more and more people for whom test cases are about execution not planning. The following figure depicts a test case cycle.
Some of the most popular Open Source test management tools are:
1. Test Environment Toolkit (TETware)
The Test Environment Toolkit is a test execution management system that can be used to test products across multiple operating systems. It provides an easy-to-use framework that can be built to support local testing, remote testing, distributed testing, and testing on real-time and embedded systems.
2. Bugzilla Testopia
Bugzilla Testopia is a web-based test case management system designed to be a generic tool for tracking test cases on virtually anything in the engineering process and integrating bug reports with test case run results for centralized management of the software engineering process.
MantisBT is a Web-based bug-tracking system to aid product bug tracking. It is written in the PHP scripting language and works with MySQL, MS SQL, and PostgreSQL databases and a web server. MantisBT can be installed on Windows, Linux, Mac OS, OS/2, and others. Almost any web browser should be able to function as a client.
Mantis is an easily deployable, web-based bug tracker to aid product bug tracking. It requires PHP, MySQL, and a web server.
4. RTH (Requirements and Testing Hub)
RTH is a test-management tool, that has requirements-management and bug-tracking capabilities. It offers a large variety of features designed to manage test cases, releases, test results, issue tracking, and reporting. The tool creates a common repository for all test assets and provides a structured approach to software testing.
qaManager is a platform-independent web-based application for managing software QA projects effectively. qaManager facilitates managing project tracking, resource management, test case management, online library, alerts, and more. It’s powered by OpenXava and has a very simple installation.
6. Litmus (Mozilla)
Litmus is an integrated test case management and QA tool maintained by Mozilla. It is designed to improve workflow, visibility, and turnaround time in the Mozilla QA process. Litmus server as a repository for test cases and test results provides a query interface for viewing, reporting, and comparing test results.
TestLink is a web-based test management tool that provides test specifications, test plans and execution, reporting, requirements specification, and collaboration with well-known bug trackers. Both requirements specification and test specification are integrated together which allows users to create test projects and document test cases using this tool.
FitNesse is an integrated wiki and acceptance testing framework. Wiki facilitates the creation of web pages that are run as tests, so any user can go to that page and see if the tests are passing. It also provides the means to automatically run tests and write acceptance tests.