TestLink - pain and tears of a tester or panacea? Implementation Experience

As in many other startups in our projects, in the first year of existence mountains of code were born, which, although they were well covered by unit tests, still remained almost unreached from the point of view of functional testing. At first, we managed with a small checklist. There were no problems while the project had several testers who knew all the details of the project well. But, as it always happens, if one person leaves a small team, then it is necessary to find an adequate replacement for him. And here great difficulties arose.

Our project has a very complex structure: only one section can have documentation of more than 100 pages. A plus, of course, is a steam train of undocumented features and individual “Wishlist” of the customer, which novice team members can take for bugs.

Fortunately, in our company there exists and is actively developing a direction for working with students and novice specialists. The lack of personnel can be easily eliminated, but how to quickly connect a beginner to work? It was decided to introduce detailed test cases that describe the entire set of project functions. To solve the problem at the first stage, we decided not to chase paid solutions, but use one of the free test management systems. The choice fell on TestLink.

Implementation


TestLink itself is written in PHP, and there were no special installation problems. We created a database, gave rights to daddies, and the installation went smoothly.

Next, we started the project in the system, created the project structure and started writing tests. The very goal of introducing this system was to enable us to identify the usefulness or futility of such systems for our projects.

How we use team resources and TestLink


After we wrote and tested our tests, it's time to test the system in public. We distributed ready-made tests among novice employees and interns. The first run showed that the use of detailed tests made it possible to find many bugs in the hidden places of the project, which usually did not reach out due to the priority of the work of other features.

TestLink is not currently in full use. It includes the ability to use not only tests, but also conditions. The use of conditions is seen as a very promising feature of this system. Conditions apply to tests as many to many, which allows you to implement several of the following usage models:
  • Associate tests involving the same set of functions with one condition. This will allow you to efficiently and quickly create incremental runs, for example, for hot fixes.
  • To state in the conditions some restrictions that must be achieved for a successful passing the test.

Due to the fact that our tests have not yet had time to acquire conditions, we will not mention them below.

The Impact of TestLink on Test Quality


The quality of testing after the introduction of TestLink, has clearly increased. We are very grateful to this test management system for detailed reports after running the tests and for introducing us to how to approach testing. Now we have a good debugged system for testing our project, thanks to which a new employee will be fully involved in working with the project literally half a day later and, having independently run all the tests, will be able to understand up to 80% of the project’s functions.

Pros and Cons of TestLink


Despite all the advantages, we also encountered a number of shortcomings in the system. Naturally, everything is very subjective, and for other companies our claims will seem unfounded. We do not exclude that it’s possible that some of the shortcomings can be eliminated by studying the documentation or digging a bit in the code, but the goal was a little different. We needed to quickly evaluate the usefulness of such a system within our company.
Advantages:
  • Developed role system. It is very flexible to configure access for different employees and just as quickly take away these same rights.
  • Simple and clear system of project structuring. Project - Test Group - Test - Steps (Fig. 2).
  • Easy distribution of tests between testers. You can select test groups or individual tests, or simply copy the distribution of tests from the previous release (Fig. 3).
  • Beautiful reports on runs in various formats, including the ability to send employees by mail to all responsible and interested results (Fig. 4).

Disadvantages:
  • There are no links to individual pages within the system. Instead of sending a link to a colleague, you have to name the project, test group and test number.
  • The problem with the versioning of the tests. In our case, with the default settings, it is impossible to view different versions of tests from the test run window or in the editing section by choosing Compare versions.
  • Integration with Redmine. It exists, but it was not possible to fully configure it to work with our Redmine on the move in both directions (additional plugins or permissions are required).
  • Usability. Without preparation, it is not obvious which buttons to press in order for everything to work (Fig. 1).

TestLink Mini-Overview


We will demonstrate the operation of the system using examples from our projects. A full review of the system does not make sense. The main message, in this case, is aimed at showing how the system looks inside, and whether you can get along with it or not even install it. Therefore, we will omit the stages of installing the system on the server, as well as the stages of the project.

The first thing a tester sees when opening TestLink is the start screen (Fig. 1).


Fig. 1 - Start screen for working with a project in TestLink

From here, any activity in the project begins. Here it is executed:
  • editing / creating tests;
  • designation of users responsible for the run;
  • assembly builds;
  • editing the settings of the project itself.

The test editing page includes features such as:
  • creating / editing a new test;
  • creating / editing a group of tests;
  • work with test versions;
  • creating / editing steps in tests.


Fig. 2 - Editing tests in TestLink

Next, we consider the distribution of tests according to test plans.

To do this, break down the tests into different groups, which can then be used for runs that fit the specified conditions. Figure 3 shows that in this case the tests are distributed by the types of testing that we conduct for the selected project. For other projects, we have various options for splitting into test plans, for example, on projects where there is no separation of tests into groups and every time we need to run all the tests without exception, we have created test plans for Production and Staging environments.


Fig. 3 - Editing a test plan

Assigning tests to your team members is easy. In the left part of the window (Fig. 4), you can select either one test or a group of tests, as well as use filters to find the necessary tests. Then, you can designate a tester responsible for running a specific test on a specific platform using check boxes and drop-down lists on the right side of the section.


Fig. 4 - Distribution of tasks among testers in TestLink

After distributing the tests, the run looks like in Figure 5. The following is available on it:
  • A description of all the steps that must be completed;
  • Field for entering comments;
  • The test mark.

In addition to the listed items, you can see additional information:
  • Previous runs
  • The platform on which you want to check;
  • Product assembly description;
  • Description of the test plan (not shown in Figure 5).


Fig. 5 - Test run in TestLink

Immediately after the distribution of tests, we can already observe the appearance of data on testers' reports in the “Reports” section of TestLink. The section contains many options:
  • Tracking the results of the run;
  • Export to popular formats;
  • Sending reports by mail to interested parties;
  • A grouping of tests according to various characteristics presented on the left side of Figure 6.


Fig. 6 - Run Reporting System in TestLink

Conclusion


I hope our experience in implementing TestLink will open up new horizons for you. Perhaps someone will finally refuse to maintain documentation in the tables. We would like to hear in the comments your opinion on TestLink or similar developments, how you use them, what is the degree of integration of your tools, which is convenient and inconvenient.

Also popular now: