My company, CODEFUSION, is 9 years old. We are growing organically. At the time of writing this words (March 2019) we are 14 people. We are software development company founded and run by software developers. But from the beginning it was clear for us, that the business of software development cannot be successfully run only by developers. We knew that one of the most important aspects of being a software shop is to have good testers. So we hired great testers and quality assurance engineers trying to maintain the 20% ratio (devs to testers). At the beginning they were able to manage their work on foot. We were so few, that everything was manageable by the word of mouth. Now it is not anymore. For some of our customers we are using tools like TestRail. Our quality assurance team started to love this tool. They loved TestRail so much that, they did the research to find similar tool for our own products and the works we do for other clients. It was just-in-time for my initiative that I called MCET-SET: modern cost-efficient toolchain for a small but savvy software engineering company. It is an effort to build cost neutral toolchain for a Windows minded software company like ours. In this series of articles I tell the story of building such a toolchain.
Today we focus on test management software. Bradly speaking test management tools are applications to plan, document, perform and report software testing. If your company or team outgrows a certain numbers of developers and testers you will need a tool like that, because a simple issue log would not be enough anymore. You will certainly know when the time comes to look for a test management software. When it comes, you can follow our usual drill while looking for appropriate tools. We usually go and write all the aspects team finds important. In accordance to test management software it was:
– On premise installation possible?
– Integration with Active Directory.
– Test scenario export (for example to PDF).
– Test planning (in calendar or as a time axis).
– Metrics calculation.
– Integration with 3rd party tools like CI/CD or bug tracking software.
– Good price-quality ratio.
– Easy and straightforward backup.
– Reasonable commissioning and maintenance strategy (preferably on Windows Server).
With this list present our testers went for a search. They came with the list of possible candidates:
Here is what we’ve learned.
|TestCase-Lab||Test Collab||Test-Rail||Practi-Test||TestLink||Test-Arena||Kiwi TCMS||Testopia|
|Export||csv, pdf||csv, xml||csv, xml, xls||xlsx||csv, xml||No||No||csv, xml|
|Planning||Yes||Yes||Yes||Yes||Only planning||Yes||Yes||Only planning|
|3rd party||Yes||A lot||A lot||Good||Good||Some||Some||Poor|
|Price-quality||Low, 28$/m||Good, free version||Pricy!||Low, 35$/m||Good, free||Some, free||Some, free||Some, free|
|Backup||Cloud||Cloud||Cloud||Cloud||Yes (DB)||Yes (DB)||Yes (DB)||Yes (DB)|
|Install / maintenance||Cloud||Cloud||Cloud||Cloud||PHP+DB||PHP+DB||Python+DB||Perl+DB|
The choice was TestLink. The installation was not as straight forward as you would expect. Windows is not a natural platform for PHP. I’ve started with configuring PHP on IIS (over CGI). phpinfo() went smoothly but then it began. I had a running PostreSQL server so I decided to use it. PHP for windows (installed with the help of Platform Installer) comes with PostrgeSQL extension. But it does not work. It misses some dependencies. I presume C++ redistributable, but I’m not sure. I gave up and tried another way. I had some previous experience with Bitnami. It is a product that bundles pieces of Open Source software into packages you can easily install. Bitnami has a ready TestLink bundle (Apache + PHP + MySQL + TestLink). My previous experiences with Bitnami were… not 100% positive. I remember being able to install a self contained SVN server back in the day, having install an update or two bevor it cracked and no new updates were accepted. I guess it is, like it is with all the bounded software out there. It is tricky, but if you do not want to virtualize with docker then it is acceptable. So decided to give Bitnami a send try. The install was smooth. I have started with WAMP bundle (PHP, MySQL and Apache) and added the TestLink module for WAMP. It was a script kiddie install. The configuration of SSL was a little bit more tricky (as usual). Bitnami WAMP package coms with self issued certs. Quick search in the config files revels 5 places where the cert/key file paths are stored (2 for WAMP itself, 2 for TestLink and 1 for Bitnami – whatever it is for). If you want to be sure (like I was) change all 4. It will work 😉 The LDAP configuration was a bit troublesome. AD access is configured in TestLink config . inc . php file. It was not working out of the bat. I had to turn on echoing errors in PHP and investigated the problem.
As it turned out the LDAP PHP extension was not activated in the php.ini file (extension=php_ldap.dll). But it was present and it not lacked any dependences so it worked.
So the TestLink is now ready and operational. I guess I’ll leave it on the Bitnami stack as long as I will be able to install the updates!