TestTrack Pro 7 in review

This article was originally published in VSJ, which is now part of Developer Fusion.
Unless you are working on a single project with a very small team of colleagues, you need a bug tracking system. You can put one together yourself using email and various components, but to do a good job could easily take far more time than it’s worth, and distract you from the real task of maintaining the applications in question. Seapine’s TestTrack Pro is a complete off-the-shelf solution to bug tracking and processing, and it is about to be available in a new version – we take a look at a late beta.

TestTrack Pro takes a distributed approach to bug management, which fits with the collaborative nature of software development, and allows for the possibility that a project might involve a group of workers who aren’t based at the same location, and don’t work the same hours. The simplest configuration consists of a server and any number of clients connected via a network or the Internet. The server can be installed on a Windows, Linux, Solaris or Mac OS X machine. The clients can be native Windows clients, or a browser-based PC, Linux or Mac client. In fact the browser interface can be used from almost any platform. The browser connection can also be provided by a separate web server using CGI. A relatively recent feature is the ability to use and extend TestTrack using a SOAP-based web service. All data transmissions are encrypted. In a more advanced system, the TestTrack database can be hosted on another server.

Installation and configuration is easy with only one minor exception. First you set the server up on the machine of your choice along with the licence server. The TestTrack server can either run as a standard application or as a Windows NT/2000 service. When you first start the server you are asked for a serial number and to log in with a user name and password. Finding the initial user name and password is the only thing that you really need to consult the documentation for, and for the record it is “administrator”, and no password is set. After this, you can use the server administrator to create new projects and configure existing ones. A demonstration database is included for you to try out.

The client is also easy to install, and from here you can perform most of the tasks relating to a project. For example, you can set up users and user groups. Each user can post and or deal with bug reports stored in the database. You can control who can do what by assigning users to security groups with specified rights (naturally each user account is password protected). You can set up any number of custom user groups corresponding to the types of users you envisage – technical writer, engineer, tester and so on.

The TestTrack client – the multi-tabbed dialog box is a defect report
The TestTrack client – the multi-tabbed dialog box is a defect report

The basic idea of TestTrack is to allow the bug reports to be processed by multiple users in a logical way. Bug reports are posted using standard forms. The description page allows a general freeform description of the problem, the Steps to Reproduce page is intended to allow and encourage the reporter to describe how to make the problem happen, the configuration page records the user’s machine’s details, and finally files can be attached if necessary. The bug report can be processed by assigning it to a user who can pass it on to another user, fix it or comment on it. The progress of the bug can be followed in a Workflow window, and a “Workaround” window can be used to give details of how to minimise the problem until it really is fixed. Source code can also be attached, as can a list of people to email each time the bug’s status changes, a set of links to other bugs, and a history. There are various other status indicators and flags that can be set such as Severity, Disposition and so on. To help make sure that the entered data is presentable and re-usable, there is a built-in spelling checker.

The workflow can be customised to suit the way that you want to work. A workflow consists of states and events that cause transitions between states. You can also define rules that automate the workflow. For example, you can automatically assign a bug to a user, or one of a list of users, depending on its type and other properties. Rules are also used to specify who should be notified when a transition occurs. There are tools to help you evaluate a workflow and you can view a workflow diagram to make sure it’s all reasonable. In many cases the default workflow will be enough, especially if you haven’t had a formalised way of dealing with bugs before adopting TestTrack.

The default workflow diagram
The default workflow diagram [Click to enlarge]

TestTrack distinguishes between users – the people who report and deal with bugs – and customers who just report bugs and want to know what has happened as a result. You can email anyone directly from TestTrack using either Exchange or an SMTP server. Email templates are provided to make responses easier and more complete. The templates can be customised and added to. You can use the database facilities to manage customers and make sure that they are kept informed. Similarly, the database facilities can be used to keep track of test configurations, and any user can capture the configuration of the machine they are currently running the TestTrack client on.

SoloBug

Now we come to the question of how bug reports actually get into the system. Bug reports can be entered manually by any user of the TestTrack client, and this is clearly a sensible way to organise all stages of testing. Customers can either email bug reports for processing, or you can issue them with copies of SoloBug. This is a stand-alone bug reporting tool that encourages the customer to provide bug details using the terminology and details you require. Details of the system that they are using can be captured with a single button click and there are fields for personal details, email address and so on. When they have finished the data is saved to a file and the customer is asked to email or ftp it to you.

SoloBug lets customers report bugs in a controlled format
SoloBug lets customers report bugs in a controlled format

SoloBug is available for Windows, Mac or the Palm OS, and you can customise which fields are visible and which fields have to be filled in before the data can be saved. Clearly the quality of bug reports that you get back depends on how well you think through the customisation. A SoloBug file can be imported directly into TestTrack Pro as a completed bug report ready for action. An even more “automatic” way of getting the data is to use SoloSubmit. This is a web-based tool that gathers the defect report data from the user and submits the record directly to the TestTrack database.

Administration

Once we move beyond the basics of using TestTrack Pro on a day-to-day basis there are lots of additional features. There are reports that you can generate to help you see how your quality control efforts are working, and to help you analyse the distribution of faults. The reports are generated using an XLS-based engine, and they are fully customisable. You can use filters and a search to find bug reports that satisfy specified conditions.

The Server administrator is easy to use
The Server administrator is easy to use

If you are using a Source Code Control program, CS-RCS, CVS, ClearCase, PVCS, Perforce, SourceOffSite, StarTeam, Surround SCM or Visual SourceSafe, then TestTrack can link defect reports directly to source code. TestTrack Pro also integrates directly into the Visual Basic, Visual C++ and Visual Studio .NET IDE. A new toolbar provided as an add-in allows the programmer to connect to the TestTrack Pro server and work with the defect database.

If you want to extend what TestTrack Pro can do then you have the option of using the XML import/export facility to enable it to work with other applications. A DTD file is included to make data exchange easy. There is also an SDK which uses SOAP-based web services to let your applications work directly with TestTrack Pro. Being SOAP based you can use almost any language and platform to develop extensions. If you really want to build your own advanced defect management system then this is clearly one way to do it.

There are many features and facilities in TestTrack Pro that haven’t been mentioned that make it powerful and flexible. The most important point however is that it is easy to get started with. You can have a defect tracking system up and running in a few hours and take the time to tune and improve it in the following weeks. This is an off-the-shelf solution, but it is as good as writing it yourself. If you want to try it out before you buy a copy, you can download a free 30-day evaluation version from Seapine.


Contemporary Software (Seapine UK distributor), 01344 297613, www.seapine.co.uk

What’s new in Version 7?

  • Configurable backend database. You can now store all of the information using a separate database server. In this release SQL and Oracle are supported.
  • Store multiple TTPro projects in a single SQLServer/Oracle database.
  • The ability to convert database between different formats.
  • The ability to link defects together with support for parent/child relationships and Peer group relationships. Link definitions can be created or customised.
  • Workflow constraints can be applied, based on linked defects (for example, you cannot close a parent defect record until a child defect is closed).
  • Diagram relationship between linked defects.
  • LDAP support in the Seapine license server.
  • Upgrades are easier to perform.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” - Donald Knuth