Products:
Compendium-TA
A modelling tool
Email Control Center
Free - Control Outlook
URL Control Center
Free url manager
Perl Path Analysis
Free Testing Tool
Test Utilities in Excel
Free Testing Utilities
Test Data Utilities
Free Test Data Utilities
ForceWindowVisible
Free System Util
Compendium Developments Software Testing Reviews, Essays and Tools
 
Web site

 

Tools from the 'Practical Experiences in Graph Based Testing' paper

This is an extract from the paper (so some of the formatting is a little stranger than normal!) for all the tools that are reviewed in the paper. Some of these have already been reviewed on our Alternative Testing Tools page

Diagrammers

Should you wish to experiment with graph based testing then the tools in this section are those that I recommend you experiment with.

GraphViz

The AT&T Open Source Graph Visualisation toolkit

FREE

http://www.research.att.com/sw/tools/graphviz/

http://www.graphviz.org

related links: doxygen (http://www.doxygen.org)

FREE

The main component for testing purposes is Dot which is the command line driven visualisation engine for directed graphs.

ScreenShot

Features

Review

image

[+] Dot Markup Language

[+] Many scripting language APIs

[+] Mature

[+] Free & Open source

[+] outputs to GIF, PNG, FIG, JPG, PostScript, SVG, and more...

[+] web server version

[+] command line

This is a great free toolset for auto layout of graphs. It is command line driven and comes in two flavours dot (for directed graphs) and neato (for undirected graphs).

The supplied editing tool is crude, but output to dot format is available from other tools (grappa, dge, tintifu). Used as part of doxygen to document source code.

 

VGJ

A very simple GML diagrammer

[homepage]

There is an instantiation of it here

FREE

ScreenShot

Features

Review

image

[+] GML Language

[+] Browser Based Java Applet

[+] simple function state GUI

[-] No Longer being maintained

[-] simple layout algorithms

Sadly this tool is no longer being maintained.

 

This is a very simple tool to use, and the graph can be edited using the diagrammer or via the text representation in GML.

 

Be careful using this when testing web apps because it is browser based.

 

 

JGraph

http://sourceforge.net/projects/jgraph/

FREE

ScreenShot

Features

Review

image

[+] Export to GraphViz, GXL and JPG

[+] Different Layout algorithms

[+] Simple Diagrammer

[-] Uses its own .pad file format

[-] export to GraphViz has bugs

[-] No annotation supported

[-] Front end bugs

Export to GraphViz format has some issues (circles become squares), but it can act as a simple enough front end to dot for drawing basic graphs.

It uses its own file format as input but will export to other formats.

The spring embedded layout algorithm, occasionally walks the graph off the screen and the  scrollbars sometimes don't allow you to scroll across the window properly.

 

Tintfu

http://sourceforge.net/projects/tintfu/

FREE

ScreenShot

Features

Review

image

[+] uses GraphViz

[+] simple GUI

[-] only exports to .dot format

[-] visualisation pane didn't work well on my machine

A front end to GraphViz, the node and edges are entered through dialogs rather than dragging and dropping on the gui pane like most editors. This makes it a little harder to get started with than the other editors but is pretty fast.

The full range of GraphViz attributes are easy to get at and the graph is redrawn each time new items are added.

 

TouchGraph

http://www.touchgraph.com

There is an example graph here

FREE

ScreenShot

Features

Review

image

[+] XML data format

[+] easy visualisation

[+] Great for url based graphs

As an editor it is crude, but it can visualise large graphs, great for URL based graphs.

 

Process Revolution 2002

 

http://www.siliconmindset.com

Commercial

ScreenShot

Features

Review

image

[+] Graph Based Diagrammer

[+] XML output

[+] Automated Layout Algorithms

[+] Shape Templates

[-] complicated XML output

A Generic diagrammer which uses a graph metaphor as the main diagram console, rather than a diagrammer like Visio which uses a drawing metaphor. The tool uses XML as its representation, but it is a rather rich representation.

Future versions will have a VBA interface which will make it much more attractive to testers.

 

Compendium-TA

A modelling tool using graphs, entities and hierarchies.

http://www.compendium-ta.com

http://www.compendiumdev.co.uk/compendium-ta

Commercial

ScreenShot

Features

Review

image

[+] Dot integration

[+] Hierarchy modelling support

[+] user defined entities

[+] cross referencing

[+] Macro language integration

[+] Path coverage metrics

[-] Simple Diagrammer

I wrote Compendium-TA to help me do graph based testing, so it is a relatively crude diagrammer, but allows me to do the other things that I have to do with graphs, such as create new properties on the nodes and links and cross reference the nodes and links with other entities. Compendium-TA has its own diagrammer which is manual, and uses dot to create quick and automatically laid out representations of the graph.

Others

Some of these have reviews at http://www.compendiumdev.co.uk/alttools/index.php [*], Others are harder to get working and require Java and a variety of plug-ins, or only run under Linux.

VCG

http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html

reviewed @ [*]

Graphlet

http://www.brainsys.de/

reviewed @ [*]

DaVinci

http://www.b-novative.com/

reviewed @ [*]

Aisee

http://www.aisee.com/

reviewed @ [*]

Goblin

http://www.math.uni-augsburg.de/opt/goblin.html

GraphMapper

http://www.sumdog.com/?page=Projects&sub=GraphMapper

A simple graph diagrammer with its own file format

GraphOpt

http://schmuhl.org/graphopt/

A layout algorithm that uses a subset of the GraphViz dot language

Figaro

http://sourceforge.net/projects/thefigaro/

Linux, Xwindows, unevaluated, no information available

GraphThing

http://graph.seul.org/

Linux, unevaluated, create, manipulate and study graphs

Code Libraries

If you want to write your own tools or interfaces in other languages, then first of all look for code libraries, here is a small subset of those that are out there.

OpenJGraph

http://openjgraph.sourceforge.net/

Java Graph Library

GTL

http://infosun.fmi.uni-passau.de/GTL/

C++ Graph Library

GEF

http://gef.tigris.org/

Java Graph Library

GVF

http://gvf.sourceforge.net/

GraphXML Java Library

Boost

http://www.boost.org/libs/graph/doc/

C++ Graph Library

Perl CPan Modules

GraphReadWrite

http://search.cpan.org/author/NEILB/Graph-ReadWrite-1.07/

GraphViz

http://search.cpan.org/author/LBROCARD/GraphViz-1.7/

Graph

http://search.cpan.org/author/JHI/Graph-0.20101/

yGRAPH

http://www.ygraph.com

 

A commercial Java graph library that can process yGraph, GML, and graphML formats

P.I.G.A.L.E

http://pigale.sourceforge.net/

 

A C++ graph library with editing package

General Testing Graphing Utilities

Perl Path Generation Script

A simple Perl script for generating paths for a graph

http://www.compendiumdev.co.uk/perltools/

ScreenShot

Features

Review

[text based, no screenshot available]

[+] uses a simple node pair text file

[-] generates a path as a lists of nodes

[-] only allows 1 edge between each pair of nodes

This is a very simple Perl script, which when given the opportunity will generate far too many paths through a graph.

Also the paths are presented as node pairs rather than edges so extra processing would be required in order to achieve full branch coverage.

Could be a useful basis if you want to write your own scripts.