Objective of this blog is to highlight why we need Test Management and how we can achieve it using best practices. Test management is the practice of organizing and controlling the testing process and artifacts which are tracked in central location and can be accessible over the distributed environment. As the traditional method of tracking test artifacts in excel sheet resulted in the following issues:
- There was no central repository maintained to track test cases and their execution results
- No versioning was maintained
- Unable to track review comments for test case and change requests in product feature
- Unable to track testing efforts required for each testing activity
- Since current requirements, test cases were not tracked and updated as per the actual requirement resulted in huge gaps and defect leakage.
Nowadays development & testing teams are working in distributed environments and also on the same features. Additionally, software complexities are growing which leads to increased number of test cases. The release cycles are shrinking to deliver the product under the popular Agile Methodology. Looking at the requirements of current testing standards, it is essential to have a centralized web based solution in every organization mainly for the mentioned testing activities:
- Requirement Management – Test management is used to track and manage the requirements. They are mapped to the individual test cases to ensure all the requirements are covered in test case to get complete coverage.
- Test Cases Management – Test management tool helps to track all the test cases as per the features and sprint release. Test management tools track the test case with review comments. Priority can be assigned to each test case to prioritize Test case execution. Automation team can access the manual test cases, analyze and automate them. One can maintain the test cases as per the type of functional testing like sanity testing suite, regression testing suite, etc.
- Test Execution – Test management tool helps to assign the test cases to a tester and test results are tracked with defect reference for the failed results.
- Test Reports – Most of the Test Management tools provide a feature to generate the different reports for the testing progress like test execution summary report, test coverage report etc.
TestLink as a Test Management Tool
TestLink is one of the cost effective solution which fits in for both agile and traditional projects. TestLink is an open source web-based test management tool which meets all the test management requirements.
- The products are tested in test plans, in accordance to standard testing procedures. Example: IEEE 829 which is compatible with ISTQB terms.
- Users have defined roles ( Example: leader, tester, guest)
- Centralized repository for all test cases and test results
- Test cases are organized in an hierarchical structure and hold traceable history data
- Feature coverage can be prepared by linking requirements and test cases
- Multiple projects can be maintained and test cases need not be written again
- Keyword support which allows greater depth in test organization
- Testing prioritization, tester-specific assignment and milestone definitions
- Reporting and test metrics
- Import and export of test cases
- Documentation export to HTML, MS Word and MS Excel
- Multiple reports and charts are supported (Build wise report, multiple build execution report, requirement coverage report, total bugs logged for the application, etc.)
- Localization and Internationalization support
- Direct collaboration with bug tracking systems
- Requirements-based testing
- SOAP API for collaboration with functional testing tools
A number of users with different roles can manage using user management in TestLink. Default TestLink is built with 5 different permission levels. These permission levels are as follows:
- Guest: A guest only has permission to view test cases and project metrics
- Tester: A tester outside of the company that only has permissions to run tests allotted to them (initially tester)
- Senior Tester: A tester can view, create, edit, and delete test cases as well as execute them. Senior testers lack the permissions to manage test plans, manage products, create milestones, or assign rights
- Leader & Admin: Both test lead and admin have same rights such as view/modify/create/delete test plan and build, executing test cases, deleting a project, assigning user roles and permissions, define priorities, and manage keywords. In addition to that admin user has rights to modify product i.e. create, delete, and update project
- Test designer : A user can fully work with test specification and requirements
- TestLink provides user management and authorization features and following are the list of default roles in TestLink:
TestLink - Roles
TestLink reporting feature provides you various reporting mechanisms which helps you to track the execution progress in real time like total number of test cases executed/failed/blocked/not run, tester wise progress for each build and requirement coverage report for the application etc.
Sample Test Reports
3rd Party Integration: Apart from above features TestLink also offers integration interfaces to different defect control systems, such as Bugzilla, Mantis, and Jira. Hence each defect found can be linked directly to the respective failed test case and becomes easily accessible. TestLink also offers a report for the number of defects found in each case, as well as detailed information about each of the problems found. Customization using keywords: TestLink fields can be customized as per the project needs by adding keywords. E.g. “Review Comments” keyword can be created and added to each of the test cases to track the review comments. “Defect ID” keyword can be created to track and link defect id for the failed test cases. Centralized Access: TestLink is the web based test management tool which can be accessed from anywhere with valid secured authorization. Agile methodology support: TestLink test management tool also supports agile methodology for sprint requirement tracking, test case repository, test execution.
Any requirement driven testing project using TestLink, follows the given workflow:
- Create the Project
- Create keyword using keyword management and assign key word at module level or test case level (Optional)
- Create the test plan
- Create test suite and test case
- Create the build for the test plan using build management
- Add test cases to test plan
- Assign test cases to the tester
- Executing test cases
- Go to report and view all the available Report
Other TestLink functionalities:
TestLink offers an opportunity to deactivate different components of the system – project, test plan, test case, users, build. For example, if a given test case is deactivated, it will not be included in the test plan and therefore will not be executed. Users can also copy, move, arrange and search cases in the test suite. All cases can be printed or saved in HTML and word formats, and you could also export/import them from XML file. You can attach different files to cases, suites, and requirements. Another key feature about TestLink is, you can copy and paste test case from MSWord to TestLink and thus continue to follow the format of your test scenarios. By default, test cases in TestLink are assigned a status during execution, which can be pass, fail, not run or blocked. This was an overview of TestLink, we will keep on covering more tools here.