TestLink Tutorial: How to Manage Test Cases and Test Plans

Managing software testing becomes more difficult as the number of requirements, test cases, releases, and team members increases.

When test cases are stored across spreadsheets or separate documents, teams may struggle to track execution progress, identify failed tests, and determine whether important requirements have been adequately tested.

TestLink is an open-source, web-based test management tool that helps QA teams organize test cases, manage test plans, record execution results, and generate testing reports.

In this tutorial, we explain how to use TestLink, from creating your first test project to executing test cases and reviewing results.

What Is TestLink?

TestLink is a web-based test management system used to organize and track software testing activities.

It provides features for managing:

  • Creating test projects
  • Grouping test cases into suites
  • Setting up test plans and builds
  • Assigning tests to team members
  • Recording test results
  • Linking tests to requirements
  • Organizing test cases with keywords
  • Managing team access and permissions

TestLink helps teams maintain a structured record of planned testing activities and their outcomes.

It is primarily a test management tool. It should not be confused with an automated testing framework that directly runs browser or API tests without additional tooling or integrations.

Understanding the Main Components of TestLink

Before creating a project, it is useful to understand how TestLink organizes testing information.

ComponentPurpose
Test ProjectThe overall application or product being tested
Test SuiteA logical collection of related test cases
Test CaseA specific test containing actions and expected results
Test PlanA selection of test cases prepared for a testing objective or release
BuildA particular version or build of the application being tested
Test ExecutionThe activity of recording test outcomes against a build
ReportsSummaries of progress, execution status, and results

For example, consider a customer portal application.

The test project could be called Customer Portal.

Within that project, test suites could include Login, User Profile, and Account Management.

The Login suite might contain test cases for successful login, incorrect passwords, and account lockout.

These test cases can then be included in a test plan for a particular application release.

How to Use TestLink: Step-by-Step Tutorial

Step 1: Create a Test Project

Start by creating a project for the application you want to test. This is where you’ll keep its test cases, requirements, and test plans.

  1. Sign in to TestLink with an account that has project management access.
  2. Open Test Project Management.
  3. Select the option to create a new project.
  4. Enter the project name and other required details.
  5. Adjust the project settings if needed.
  6. Save the project.

For example:

Project Name: Customer Portal

Project Prefix: CP

Description: Test management for the Customer Portal application, including authentication, account management, and reporting workflows.

The project prefix helps identify test cases associated with the project.

Depending on the version and configuration, project settings may include requirements, testing priority, and test automation-related options.

Screenshot: Test Project Management and the project creation form.

Step 2: Create a Test Suite

A test suite groups related test cases into a logical structure.

Instead of maintaining a long, unorganized collection of tests, QA teams can use suites to represent application modules or business functions.

To create a test suite:

  1. Open Test Specification.
  2. Select the appropriate test project.
  3. Choose the option to create a test suite.
  4. Enter the suite name and description.
  5. Save the suite.

For example, the Customer Portal project might contain:

  • Login and Authentication
  • Account Management
  • User Profile
  • Reports and Dashboards

Test suites can also be organized hierarchically where supported by the installation.

A clear suite structure makes it easier to locate tests, review coverage, and organize execution.

Screenshot: Test Specification tree with a newly created test suite.

Step 3: Create a Test Case

A test case describes a particular scenario that needs to be verified.

A useful test case should make it clear what is being tested, how to perform the test, and what result is expected.

To create one:

  1. Select the relevant test suite.
  2. Choose the option to create a test case.
  3. Enter a descriptive test case title.
  4. Add a summary and any necessary preconditions.
  5. Specify the execution type and importance where applicable.
  6. Save the test case.
  7. Add the test steps and expected results.

Example Test Case

Title: Verify Login with Valid Credentials

Precondition: An active user account exists.

StepActionExpected Result
1Open the login pageLogin form is displayed
2Enter valid credentialsCredentials are accepted
3Select LoginUser is redirected to the dashboard

Another test case could verify the application’s response to an incorrect password.

Where the TestLink version supports it, test cases may be marked for manual or automated execution.

However, marking a test case as automated does not automatically create or run an automation script.

Screenshot: Test case creation form and test steps editor.

Step 4: Create a Test Plan

A test plan defines which test cases will be executed for a particular testing objective.

While a test project may contain hundreds of test cases, a specific release might require only a selected subset.

For example, a Customer Portal release could have a test plan named:

Release 2.0 Regression Testing

To create a test plan:

  1. Open the test plan management area.
  2. Create a new test plan.
  3. Enter a name and description.
  4. Associate it with the appropriate test project.
  5. Configure the available plan settings.
  6. Save the test plan.

A test plan helps teams focus on the tests relevant to the planned release or testing cycle.

Screenshot: Test Plan Management screen.

Step 5: Create a Build

A build identifies the version of the application being evaluated.

For example, the team might test Build 2.0.1 of the Customer Portal.

Recording execution against a specific build helps distinguish results from one application version to another.

To create a build in TestLink:

  1. Open the relevant test plan.
  2. Go to the build management section.
  3. Select Create Build.
  4. Enter the build name and other required details.
  5. Save the build.

Example:

  • Test Plan: Release 2.0 Regression Testing
  • Build Name: Release 2.0 – Build 1

A build represents a specific version of the application being tested. You can use it to track test results for that version.

Build: 2.0.1

Description: Candidate release containing authentication improvements and reporting fixes.

Build management is important because a test that fails in one application version may pass after a defect is corrected in a later build.

Screenshot: Build creation form.

Step 6: Add Test Cases to the Test Plan

Once the test plan and build are prepared, identify the test cases that must be executed.

For example, the regression test plan may need all critical login tests and selected account management tests.

To add test cases:

  1. Select the relevant test plan.
  2. Open the option for adding or removing test cases.
  3. Navigate the test specification structure.
  4. Select the test cases required for the plan.
  5. Apply the available selection and save options.
  6. Confirm that the intended test cases appear in the plan.

The exact controls for selecting individual test cases or groups of cases may vary by TestLink version.

Avoid adding every available test case automatically. Select tests based on the scope, risks, and objectives of the release.

Screenshot: Add/Remove Test Cases interface.

Step 7: Create Users and Assign Test Cases

Testing work is usually shared across several team members.

TestLink provides user management and role-based permissions to help control access to projects and testing activities.

Depending on the assigned permissions, users may be able to manage projects, design tests, execute cases, or review results.

Before assigning test cases, confirm that the relevant testers have access to the project and test plan.

To organize execution:

  1. Open the appropriate user or role management area.
  2. Create or review tester accounts.
  3. Confirm the required access permissions.
  4. Open the test case assignment interface.
  5. Select the relevant test cases.
  6. Assign them to the appropriate testers.
  7. Save the assignments.

Example:

  • Tester A: Login and Authentication
  • Tester B: Account Management
  • Tester C: Reports and Dashboards

Screenshot: User management and test execution assignment screens.

Step 8: Execute Test Cases

Test execution records what happened when a tester performed the planned steps against a particular build.

To execute tests:

  1. Open the Test Execution section.
  2. Select the appropriate test plan and build.
  3. Navigate to the assigned test case.
  4. Perform the specified steps in the application being tested.
  5. Compare the observed behavior with the expected result.
  6. Record the appropriate execution status.
  7. Add notes or supporting evidence where necessary.
  8. Save the result.

Common execution outcomes include:

Passed: The test satisfies its expected result.

Failed: The actual result does not match the expected result.

Blocked: The test cannot be completed because of an issue or dependency.

Not Run: The test has not yet been executed.

The supported status options and recording controls should be confirmed in the selected TestLink version.

Example

Suppose a tester executes the following case:

Test Case: Verify Login with Valid Credentials

Expected Result: The dashboard appears after successful authentication.

Actual Result: The application displays an unexpected error.

The tester records the case as failed and includes enough details to support investigation.

Relevant notes might include the application build, test data used, steps performed, and observed error.

Screenshot: Test Execution interface with a recorded result.

Step 9: Link Defects Using Mantis or Another Supported Issue Tracker

Test management and defect tracking serve related but different purposes.

A test management tool records the test case and its outcome.

An issue-tracking system manages the investigation, ownership, and resolution of defects.

The original InApp tutorial demonstrates integrating TestLink with Mantis.

Where a supported integration has been configured, testers may be able to associate an execution result with a defect record.

A typical workflow includes:

  1. Execute the test case.
  2. Identify a failure.
  3. Record the defect in the connected issue-tracking system.
  4. Associate the issue reference with the relevant test execution.
  5. Update the test result after the defect is resolved and retested.

Note: Integration options vary depending on your TestLink version and issue tracker. Check the compatibility and setup requirements before configuring the integration.

Screenshot: Defect reference associated with a failed test execution.

Step 10: Generate Test Reports and Review Results

Once testing has started, project managers and QA leads need visibility into progress, failures, and remaining work.

TestLink provides reporting capabilities to help summarize execution results. It may include:

  • Test plan details
  • Overall execution status
  • Results by test suite
  • Results by tester
  • Failed and blocked tests
  • Test case statistics
  • Requirement coverage
  • Reports filtered by keywords

The reports available depend on your TestLink version and configuration.

For example, a release test report may show:

Test StatusExample Count
Passed72
Failed8
Blocked5
Not Run15
Total100

These figures are illustrative.

A report like this can help identify testing progress, but it does not automatically determine whether the release is ready.

Release decisions should consider the severity of open defects, requirement coverage, business risk, and other defined acceptance criteria.

Screenshot: Test Reports dashboard with execution summary and charts.

Additional TestLink Features

The original tutorial also demonstrates features that can make test management more structured.

Organize Test Cases Using Keywords

Keywords help classify test cases for different purposes.

For example, a QA team might use keywords such as:

  • Regression
  • Smoke
  • Authentication
  • High Priority
  • Critical Workflow

Keywords can make it easier to identify related tests and review results by category.

Create a consistent naming convention so keywords remain useful as the number of test cases increases.

Link Requirements to Test Cases

Requirement traceability helps teams understand whether defined requirements are associated with appropriate tests.

For example:

Requirement: Users must be able to reset their password.

Related Test Cases:

  • Verify password reset with a valid email address.
  • Verify reset behavior with an unrecognized email address.
  • Verify that an expired reset link cannot be used.

TestLink supports linking requirements and test cases, enabling teams to review the relationship between requirements and testing coverage.

However, linking a requirement to a test case does not prove that the requirement has been adequately tested. The quality of the tests and their execution results still matter.

Review Execution History

Execution history helps teams understand how test results have changed across builds and test runs.

For example, a case that failed in one build and passed in a later build provides evidence that the behavior has changed.

This information can support regression testing and defect verification.

Import and Export Test Cases

TestLink provides import and export capabilities, but supported file formats and configuration details depend on the installation.

Before migrating a large collection of test cases, verify the file format, data mapping, character encoding, and whether the exported information preserves the fields your team needs.

Best Practices for Managing Tests in TestLink

A few habits can help your team keep test cases organized and testing results reliable.

Use clear test case names. Name each test so testers can understand what it checks without opening it first.

Organize test suites by feature. Group related test cases around application features or business workflows to make them easier to find and reuse.

Track the correct build. Make sure test results are recorded against the application version being tested.

Assign tests to team members. Give each tester clear responsibility for their assigned cases so important tests aren’t missed.

Review failed and blocked tests. Check unresolved defects and blocked cases instead of relying on the overall pass rate alone.

Link test cases to requirements. Connect requirements with the relevant tests to see what has been covered and identify gaps.

Keep test cases up to date. Review and revise them whenever application features, workflows, or acceptance criteria change.

Secure your TestLink installation. Set appropriate user permissions, back up testing data regularly, and keep the software and its dependencies updated.

Is TestLink Still Suitable for Modern Testing Teams?

TestLink can remain useful for teams that need structured test case management, test plans, execution records, and reporting.

However, the decision to adopt or continue using it should consider more than its available features.

Organizations should evaluate:

  • Compatibility: Does it work with your existing systems?
  • Maintenance and security: Are updates and security fixes available?
  • Integrations: Can it connect with the tools your team uses?
  • Ease of use: Is it straightforward for testers to work with?
  • Automation and CI/CD: Does it fit into your existing testing and deployment process?
  • Reporting: Does it provide the information your team needs?
  • Long-term support: What would be involved in maintaining the system or moving your data to another platform?

If an existing installation is difficult to maintain or no longer meets operational requirements, the organization may need to assess upgrades, integrations, or alternative test management platforms.

The best choice depends on the team’s testing process and technology environment.

Final Thoughts

TestLink helps teams organize testing activities and maintain visibility into test execution.

By structuring projects, creating reusable test cases, associating tests with plans and builds, and reviewing execution reports, QA teams can manage testing more consistently.

However, effective test management depends on more than the tool itself. Clear test design, meaningful coverage, accurate execution records, and regular review are essential.

Strengthen Your Software Testing Process with InApp

InApp provides software testing and quality engineering services to help organizations improve test coverage, strengthen quality processes, and support reliable software delivery.

Whether you need to improve test management, introduce automation, or evaluate an existing testing environment, our engineering teams can help identify practical next steps.

Explore InApp’s Software Testing Services

Frequently Asked Questions

What is TestLink used for?

TestLink is used to manage software testing activities, including test cases, test suites, test plans, builds, execution results, and reports.

Is TestLink free and open source?

TestLink is an open-source test management project distributed under the GNU General Public License. Organizations should still consider hosting, maintenance, security, and administration costs.

Does TestLink execute automated tests?

TestLink primarily manages test cases and results. Automated execution requires an appropriate testing framework and integration or result-reporting workflow.

What is the difference between a test suite and a test plan?

A test suite groups related test cases. A test plan selects test cases for a particular testing objective, such as regression testing for a software release.

What is a build in TestLink?

A build represents a particular application version against which tests are executed. It helps teams track results across different releases.

Can TestLink track requirements?

Yes. TestLink includes requirements-related functionality that can associate requirements with test cases and support traceability reporting.

Can TestLink integrate with Mantis?

TestLink has supported Mantis-related integration workflows. Compatibility and setup details depend on the specific product versions and configuration.

Ready to Build
Something
Extraordinary?

Join 300+ companies who trust us to turn their biggest ideas into market-leading solutions.
Our Global Team
500+ Engineers Worldwide
SOC 2 Certified

Get in Touch with Us

Our Global Team
500+ Engineers Worldwide
SOC 2 Certified
EXPLORE TOOLS & WEBINAR