The use of free and open-source tools for application life cycle management can help reduce costs for budget-conscious software organizations. But what tools should be selected? In this paper, several free and open-source tools in use or under consideration at the Telecommunications Software & Systems Group (TSSG) are discussed. The authors advise examining the track record of any tool before adoption.
For its support of agile methods, Redmine was chosen for project tracking and issue tracking. Locally hosted versions of Subversion and Git satisfy version control needs. The Gerrit and Review Board tools for peer review of code are under consideration. The Jenkins tool, said to be easy to install and configure, is used to support continuous integration and testing. A Cobertura plugin for Jenkins provides code coverage information. The static analysis tools Checkstyle, GMetrics, and CodeNarc are used to provide further checks on code quality as required. Selenium is used to support automated testing, sometimes in conjunction with iMacros scripts. JMeter, Mockaroo, and Tsung are used for load testing. Klaros was chosen as the test management system. A Klaros plugin for Jenkins means that the results of test cases generated at build time can be imported into Klaros.
Performing large-scale automated testing for mobile projects is said to remain a challenge. Security testing at TSSG is said to require improvement. TSSG has been using Netsparker as well as Checkstyle and FindBugs to detect vulnerabilities.
This paper is recommended to industrial software engineers and software engineering faculty.