TestLink: Test & requirements management

By Community Team

The TestLink project is a web based test management tool. To find out a little more about what that means, I spoke with Francisco Mancardi, one of the developers on the project.

If you’d like to talk with the SourceForge blog about your project, please let me know.

Rich: Describe for us what your project does.

Francisco: TestLink is a test and requirement management application.

In an ideal world, testing would be a pretty straightforward process. A test team takes the product requirements, writes a test specification document, reviews the tests, and then runs them all for each version of the product. The team is composed of full-time staff, and everyone knows exactly what is expected of them.

In practice few organizations have that luxury. There is not time to run all the tests on every product version – especially on fix-releases that need to be rolled out quickly. Requirements are constantly changing, and the tests have to be changed in step. Test staff come and go. There are misunderstandings over who was supposed to run which tests, so some get missed. Management suddenly wants a status update at seven in the evening.

In these situations you need the support of a test management tool, such as TestLink. The purpose of TestLink is to answer questions such as:

  • For which requirements do we still need to write or update test cases?
  • Which tests do you want me to run for this version?
  • How much progress have we made on testing this release?
  • Which test cases are currently failing, and what are the errors?
  • On which version was this group of test cases last run, and is it time we ran them again?
  • And ultimately: is this version of the product fit for release?

TestLink helps you to keep the test process under control. It forms a repository for requirements and test cases, and relates these to builds, platforms and staff. You allocate tests to staff who carry them out and record the results. A wide variety of reports provide information on what has been done and what still needs to be done.

Rich: Tell us a bit about the history of your project. Why did you start working on it, and why are you still doing it, almost 10 years later?

Francisco: Part of the history is explained on the LIMS website

TestLink was created by Chad Rosen, a software developer for Good Technology in the early 2000s.
Rosen came up with the idea of creating a test tracking tool after the development team he worked on had difficulties manually tracking QA test results and which test cases were and were not completed.
Desiring a more efficient system of test tracking and a better way for developers to see what the QA team was doing, Rosen and his manager Mike Belshe programmed TestLink.
Afterwards, Good Technology gave permission to release the TestLink software as open-source, with a SourceForge project starting September 25, 2003 and a first release of the software as a .sql file on October 17.
In November 2012, TestLink was the winner of open-source project BitNami’s bi-weekly packaging contest, to be packaged as part of the BitNami Library.

In 2004 I was doing some research for the company I work for regarding open source application life cycle tools, and found TestLink. It seems to be the best choice. I’ve tried to add locatization and file upload features. The modified version was used for a while, and I sent the changes to the author (Chad Rosen), also talked about requirement management (at the begining this feature was not available). There was silence for a while, till I’ve got news of release 1.5 ready, but with a different team. I like the tool and wanted to be involved, so I contacted the team (there were 3 people) and after a month got developer access to CVS. There were moments were the team was reduced to just one developer, but anyway version 1.7 was released with a complete refactoring. Some developers quits, other new developers, work just till TestLink to the feature they wanted/needed was ready to be released. I love the tool and the open source world, and my choice was to continue to donate time to develop, manage the release, fix issues, try to involve companies.

Rich: How do the community dynamics work? That is, is there a lead developer who makes decisions, or do all members share an equal voice?

Francisco: At the beginning we try to manage decision by consensus among the core developers (we were 3), but was difficult and we hit a dead alley. This generated tensions and some core developers choose to leave the project. Other developers joined the group mainly because they worked on companies that used TestLink, and needed to add features, and companies wanted to be certain the code will be part of stable code base. Managing these people that you do not see face to face, and with which you not have a relationship based on money, proved to be difficult, mainly because some people has the weird idea that open source means everybody can do what they want with the code, when they want and without thinking about how deep is, and will be, his/her commitment. The situation was stabilized and right now the final decisions are made by the team leader (me), but trying to hear as much as possible of the other developers’ suggestions. Members increase the ‘power of his/her voice’ according to level of commitment. When new people ask to be part of the team, I provide an email with some kind of contract/agreement they have to read and accept in order to make things clear from the start.

Rich: What are the plans for TestLink in upcoming versions?

Francisco: A GUI refactoring is needed (we still are using frames) to make user experience better, also improvements on configuration is planned.

Rich: Where can someone get involved in your project? Are you looking for developers? Designers? Translators? Testers?

Francisco: I’m looking for testers with real commitment (we have volunteer QA team but is not going very well), also Translators. People willing to write documentation will be welcomed, and some developer ready to help with maintenance and development
of new features.