# TestLink

TestLink is a web-based test management system that facilitates software quality assurance. It is developed and maintained by Teamtest. The platform offers support for test cases, test suites, test plans, test projects and user management, as well as various reports and statistics.

## Requirements

Because TestLink is web-based software, an administrator needs access to a web server and a database in order to install and run it. TestLink has support for the MySQL, MariaDB and PostgreSQL databases. In order to use TestLink, a user only requires a web browser.

## Usage

The basic units used by TestLink are: Test Case, Test Suite, Test Plan, Test Project and User.

### Test Plan

Test Plans are the basic unit for executing a set of tests on an application. Test Plans include Builds, Milestones, User assignment and Test Results.
A Test Plan contains name, description, collection of chosen Test Cases, Builds, Test Results, milestones, tester assignment and priority definition. Each Test Plan is related to the current Test Project.
Test Plans may be created from the "Test Plan management" page by users with lead privileges for the current Test Project. Press "Create" button and enter data.
Test Plan definition consists of title, description (html format) and status "Active" check-box. Description should include the next information with respect to company processes:
* Summary/Scope
* Features to be tested
* Features to not be tested
* Test criteria (to pass tested product)
* Test environment, Infrastructure
* Test tools
* Risks
* References (Product plan or Change request, Quality document(s), etc.)
Test Plans are made up of Test Cases imported from a Test Specification at a specific point of time. Test Plans may be created from other Test Plans. This allows users to create Test Plans from Test Cases that exist at a desired point in time. This may be necessary when creating a Test Plan for a patch. In order for a user to see a Test Plan they must have the proper rights. Rights may be assigned (by leads) in the define User/Project Rights section. This is an important thing to remember when users tell you they can't see the project they are working on.
Test Plans may be deleted by users with lead privileges.

### Test Case

A Test Case describes a simple task in the workflow of an application. A test case is a fundamental part of TestLink. After a tester runs a test case it can either pass, fail or block it. Test cases are organized in test suites. Test Cases have the following parts:
* Identifier of a Test Case is assigned automatically by TestLink, and cannot be changed by users. This ID composes from Test Project prefix and a counter related to the Test Project in which the Test Case is created.
* Title: could include either short description or abbreviation (e.g. TL-USER-LOGIN)
* Summary: should be really short; just for overview, introduction and references.
* Steps: describe test scenario (input actions); can also include precondition and clean-up information here.
* Expected results: describe checkpoints and expected behaviour of a tested product or system.
* Attachments: could be added if configuration allows it.
* Importance: Test designer could set importance of the test [HIGH, MEDIUM and LOW].
* Execution type: Test designer could set automation support of the test [MANUAL/AUTOMATED]
* Custom fields: Administrator could define own parameters to enhance Test Case description or categorization. Large custom fields (more than 250 characters) are not possible. But information could be added into parent Test Suite and referred via custom fields. For example, you can describe Configuration 'standard', 'performance', 'standard_2' and refer via CF to this labels.

### User

Each TestLink user has an assigned Role that defines the features available. The default types are: Guest, Test Designer, Senior tester, Tester, Leader and Administrator but custom roles can also be created.

### Test Projects

Test Projects are the basic organisational unit of TestLink. Test Projects could be products or solutions of your company that may change their features and functionality over time but for the most part remains the same. Test Project includes requirements documentation, Test Specification, Test Plans and specific user rights. Test Projects are independent and do not share data.

### Test Specifications

TestLink breaks down the Test Specification structure into Test Suites and Test Cases. These levels are persisted throughout the application. One Test Project has just one Test Specification.

## Features

* User roles and management
* Grouping of test cases in test specifications
* Test plans
* Platforms
* Requirements with versioning and revisioning
* Support for testing different builds of the software
* Reports, charts and monitors
* Customization of the user interface using Smarty templates
* Integration with LDAP
* Integration with other software using a provided API
* Bug tracking system integration (Mantis, JIRA, Bugzilla, FogBugz, Redmine, and others)