Functional Testing Tools

Here is the list of free Open Source Functional testing tools available.  If you know of any other , please send them over, so we can include them.

Abbot Java GUI Test Framework
http://abbot.sourceforge.net/

Description: The Abbot framework provides automated event generation and validation of Java GUI components, improving upon the very rudimentary functions provided by the java.awt.Robot class (A Better ‘Bot). The framework may be invoked directly from Java code or accessed without programming through the use of scripts. It is suitable for use both by developers for unit tests and QA for functional testing.

Anteater
http://aft.sourceforge.net/

Description: Anteater is a testing framework designed around Ant, from the Apache Jakarta Project. It provides an easy way to write tests for checking the functionality of a Web application or of an XML Web service.
Requirement:  OS Independent

Arbiter  
http://arbiter.sourceforge.net/

Description: Document based acceptance tester. Similar to FIT in goal. Manages requirements documents in Word or RTF format that are created jointly by customer and developer. Requirements are parsed to extract a glossary and test suite.

Canoo WebTest 
http://webtest.canoo.com/webtest/

Description: Used for functional testing of web pages, WebTest is an open source testing framework built on top of HttpUnit. It allows tests to be defined in XML as Ant targets.
Requirement:  JDK 1.2 and ANT v1.3

DejaGnu 
http://www.gnu.org/software/dejagnu/ 

Description: DejaGnu is a framework for testing applications such as Tcl, C, C++, Java and network applications and cross testing of embedded systems. Its purpose is to provide a single front end for all tests. Think of it as a custom library of Tcl procedures crafted to support writing a test harness. 
Requirement:  MacOS, Windows, POSIX

Doit: Simple Web Application Testing 
http://doit.sourceforge.net/ 

Description: Doit is a scripting tool and language for testing web applications that use forms. Doit can generate random or sequenced form fill-in information, report results (into a database, file, or stdout), filter HTML results, and compare results to previous results, without having to manually use a web browser. It uses a console-based web client tool (like Curl or Wget) to send and receive HTTP requests and responses respectively. 
Requirement:  You must have Perl 5 or greater and the appropriate Perl modules (detailed in Doit manual) installed on your system before you can use SPL.

Enterprise Web Test  
http://sourceforge.net/projects/webunitproj/ 

Description: Enterprise Web Test allows Java programmers to write re-usable tests for web applications that, unlike HttpUnit, "drive" the actual web browser on the actual platform they intend to support. Tests can be leveraged for functional, stress, reliability.
Requirement: Microsoft, OS Independent, Linux

Harness 
http://sourceforge.net/projects/harness/ 

Description: An open source Java API for creating Java test software

ITP 
http://www.incanica.com/itp.html 

Description: Lightweight, yet powerful web application test harness. Test scripts written in XML. No programming required and no changes required to your web application. Supports sessions/cookies, POST form data. Command line based for integration into other tools. Also useful for regression and smoke testing

ivalidator 
http://www.ivalidator.org/ 

Description: Regression testing framework written in java but by no means restricted to java testing. Test suites are declared in XML. Especially designed for complex testing scenarios and integration testing.
Requirement:  JDK 1.3

Jameleon 
http://jameleon.sourceforge.net/ 

Description: Jameleon is a plug-in driven automated testing tool that separates applications into features and allows those features to be tied together independently, creating test cases. Test cases can be data-driven and executed against different environments and test case docs are generated from the test cases. The goal is to create an automated testing tool that can be used for the enterprise. A UI that ties a series of features to a test case, generating both the test script and the test case documentation is in the works.
Requirement:  OS Independent, JDK 1.4 or higher 

Jemmy 
http://jemmy.netbeans.org/ 

Description: Jemmy is a tool allowing you to create automated tests for Java GUI applications. Tests are written on Java, using Jemmy as a regular Java library. No recording (yet), no GUI, no XML, no bells and whistles – all the work being done in Jemmy is dedicated to test stability, so it could be used for big, complicated and "dynamic" Java GUI applications.
Requirement: Java 1.2 or above 

JFunc: JUnit Functional Testing Extension 
http://jfunc.sourceforge.net/ 

Description: JFunc is an extension to the JUnit testing framework to make it easier for use with functional tests. Functional testing (also called integration testing) significantly differs from unit testing in a number of respects. Part of this project is dedicated towards putting together code to address these differences; the other part of this project is putting together methodologies for functional testing.
Requirement:  JUnit

jWebUnit 
http://jwebunit.sourceforge.net/ 

Description: jWebUnit is a Java framework that facilitates creation of acceptance tests for web applications. jWebUnit provides a high-level API for navigating a web application combined with a set of assertions to verify the application’s correctness. This includes navigation via links, form entry and submission, validation of table contents, and other typical business web application features. This code utilizes HttpUnit behind the scenes. The simple navigation methods and ready-to-use assertions allow for more rapid test creation than using only JUnit and HttpUnit.

{mospagebreak}

Latka 
http://jakarta.apache.org/commons/latka/index.html 

Description: Latka is a functional (end-to-end) testing tool. It is implemented in Java, and uses an XML syntax to define a series of HTTP (or HTTPS) requests and a set of validations used to verify that the request was processed correctly.
Requirement: JDK 1.3 or better



Linux Test Project 
http://ltp.sourceforge.net/ 

Description: The Linux Test Project is a collection of tools for testing the Linux kernel and related features. Our goal is to improve the Linux kernel by bringing test automation to the kernel testing effort.
Requirement: Linux  

LogiTest  
http://logitest.sourceforge.net/logitest/index.html

Description: LogiTest is the core application in the LogiTest suite. The LogiTest application provides a simple graphical user interface for creating and playing back tests for testing Internet-based applications.
Requirement: JDK 1.2 or higher 

Marathon  
http://marathonman.sourceforge.net/ 

Description: Marathon is a general purpose tool for both running and authoring acceptance tests geared at the Java Platform Version 1.3 or later. Included with marathon is a rich suite of components to help you interact with your application at the User Interface Level (GUI). To aid with the regression testing of existing applications, Marathon comes bundled with a recorder to capture events as you use and interact with your applicationand. These events are then converted into a valid Marathon test which can subsequently be played back.
Requirement: Java 1.3 or later

MaxQ 
http://maxq.tigris.org/ 

Description: MaxQ is a free web functional testing tool. It includes an HTTP proxy that records your test script, and a command line utility that can be used to playback tests. The paradigm of MaxQ is similar to commercial web testing tools like Astra QuickTest or Empirix e-Test. These products are quite expensive. MaxQ hopes to provide the essential features: HTTP test recording, scripting, and playback without the huge cost.
Requirement: Java 1.2 or later  

Pounder 
http://pounder.sourceforge.net/ 

Description: Pounder is a utility for testing Java GUIs. It allows developers to dynamically load components, record scripts, and then use those scripts in JUnit. It supports custom components, drag and drop, and the examination of test runs in source.

QAT (Quality Assurance Tests)  
http://qat.sourceforge.net/ 

Description: QAT was developed to ease the issues encountered by having to perform Quality Assurance tests across a variety of hardware and software combinations. The QAT tool can be divided into two main sections, the Agent, responsible for actually running each test or group of tests, and the Harness, which is responsible for test selection, management, result and agent co-ordination.
Requirement: Java 2

QMTest 
http://www.codesourcery.com/qmtest 

Description: CodeSourcery’s QMTest provides a cost-effective general purpose testing solution that allows an organization to implement a robust, easy-to-use testing program tailored to its needs. QMTest’s extensible architecture allows it to handle a wide range of application domains: everything from compilers to graphical user interfaces to web-based applications.
Requirement: QMTest works with most varieties of UNIX, including GNU/Linux, and with Microsoft Windows. 

Scalable Test Platform  
http://www.osdl.org/lab_activities/kernel_testing/stp/ 

Description: STP is a system for automating the QA testing process for the Linux Kernel, as well as automating benchmarking and regression testing on diverse hardware systems.
Requirement: Linux

Selenium  
http://selenium.thoughtworks.com/index.html 

Description: Testing tool for browser-based testing of web applications. It can be used both for functional, compatability (it has extensive cross-browser support) and regression testing.
Requirement: Windows, Linux or Mac

Solex 
http://solex.sourceforge.net/ 

Description: This project is a set of Eclipse plugins providing non regression and stress tests of Web application servers. Test scripts are recorded from internet browser thanks to a built in web proxy.
Requirement: Eclipse 2.1 or above 

tclwebtest 
http://tclwebtest.sourceforge.net/

Description: Tclwebtest is a tool for writing automated tests on web applications in tcl. It implements some basic html parsing functionality to provide comfortable commands for operations on the html elements (most importantly forms) of the result pages.

{mospagebreak}

TestCaseMaker / Runner 
http://www5f.biglobe.ne.jp/~webtest/testcasetool/index.html

Description: Test Case Document driven functional test tool for web applications. Maker creates a test case documents, and Runner executes the test case document itself.
Requirement: J2SDK 1.4.x

Toster – The Object-oriented Sofware Testing Environment 
http://toster.sourceforge.net/

Description: Toster is a system for sharing a set of tools that allow you to implement methods for object-oriented testing. Any method based on UML diagrams and on the software source code can easily be implemented as a TOSTER module. The environment itself makes a number of mechanisms available, such as information transfer from UML diagrams, mapping this information to source code, introducing modifications to the source code, launching the tested application, or presenting the results.

Watir
http://wtr.rubyforge.org/ 

Description: Watir (Web Application Testing in Ruby) is a functional testing tool for web applications. It supports tests executed at the web browser layer by driving a web browser and interacting with objects on a web page. It uses the Ruby scripting language.

Web Form Flooder 
http://formflood.sourceforge.net/

Description: Web Form Flooder is a Java console utility that will analyze a Web page, complete any forms present on the page with reasonable data, and submit the data. The utility will also crawl links within the site in order to identify and flood additional forms that may be present.

WebInject 
http://www.webinject.org/

Description: WebInject is a free tool for automated testing of web applications and services. It can be used to test any individual system component with an HTTP interface, and as a test harness to create a suite of automated functional and regression tests.
Requirement: Windows, OS Independent, Linux

WebTst
http://webtst.assisrosa.com/

Description: WebTst is a Web development test infrastructure. It aims to simplify testing by implementing a capture engine: a Web proxy which records a tester’s actions using a real browser, and then replays them during testing. It comes with support for digital certificates, and a number of simple tests, such as cookie setting, pattern matching, response status, and many others. It features an extensible plug-in system.
Requirement: POSIX, Linux

X11::GUITest
http://sourceforge.net/projects/x11guitest/

Description: X11::GUITest is a Perl package intended to facilitate the testing of GUI applications by means of user emulation. It can be used to test and interact with GUI applications which have been built (Xlib, GTK, etc.) upon the X toolkit.
Requirement: Linux, FreeBSD

XML Test Suite
http://xmltestsuite.sourceforge.net/

Description: XmlTestSuite provides a powerful way to test web applications. Writing tests requires only a knowledge of HTML and XML. We want XmlTestSuite to be adopted by testers, business analysts, and web developers who don’t have a java background.
Requirement: Windows 95/98/2000, Windows NT/2000, Linux, SunOS/Solaris

QAliber
http://qaliber.net 

Description: Test automation framework, for building fast, re-usable and reliable system tests under windows OS. It includes a tool for developing automation in .NET, and a GUI tool to compose automation with no coding skills.

[catlist id=176].

Related posts