Testing Tools
Written by vin   
Monday, 09 April 2007

Here you can find the list of testing tools that have been included in the current release and some information on how to use them.
The testing tools provided are all opensource software, that may be used for functional testing of GUI based software applications (Java, motif, python, tcl etc.) and web-based applications. Tools packaged are available to test performance and load of web-based applications.

Firefox extensions have been packaged with the distro in order to aid software testing. The list of extensions packaged is enlisted here. Login as guest/guest to use firefox packeged with these essential extensions for testing.

Packaged Tools


Java GUI applications
Jacareto - Jacareto is a capture & replay tool for programs written in Java. You can capture actions on applications and replay them later on (like macros). Jacareto can be used for:
  • GUI tests
  • Creation of animated demonstrations
  • Creation of macros
  • Qualitative and quantitative analyses of user behavior

There are two front ends included in Jacareto:
  • CleverPHL is a GUI front end for Jacareto
  • Picorder is a command line front end for Jacareto

Documentation and CleverPHL can be accessed from kmenu start on the desktop.
Marathon - A GUI testing framework supporting applications developed using Java/Swing. It can be used to capture user interactions on the applications and also insert assertions to verify that correct processing is taking place. The generated raw script which is in jython, can be refactored to modules for efficient reuse and maintainability. Replay the scripts either manually or integrate Marathon into your build process for automatic execution of the test suites.
Documentation and Marathon can be accessed from kmenu start on the desktop.

Other GUI applications
X11::GUITest , a Perl package intended to facilitate the testing of applications by means of user emulation. It can be used to test and interact (SendKeys, WaitWindow, etc.) with GUI applications; which are built (GTK+, Qt, Motif, etc.) upon the X library
Documentation can be accessed from kmenu start on the desktop - Tool itself can be used only via commandline.

Web-based applications
FunkLoad - A functional and load Web tester whose main use cases are functional testing of Web projects (and thus regression testing as well), performance testing, load testing (such as volume testing or longevity testing), and stress testing. It can also be used to write Web agents to script any Web repetitive task, like checking whether a site is alive.
Documentation can be accessed from kmenu start on the desktop - Tool itself can be used only via commandline.
Selenium is a test tool for web applications. Selenium tests run directly in a browser, just as real users do, and they run in Mozilla and Firefox. It can be used to do application functional testing and Create regression tests to verify application functionality and user acceptance. Selenium uses JavaScript and Iframes to embed a test automation engine in your browser. This technique should work with any JavaScript-enabled browser.
Tools is part of Firefox as an extension.

Performance/Stress
curl-loader - The loader is a C-written open-source community tool, simulating application load and application behavior of thousands and tens of thousands HTTP/HTTPS and FTP/FTPS clients, each with its own source IP-address. In contrast to other tools, curl-loader is using real client protocol stacks, namely, HTTP 1.1 and FTP of libcurl, TLS/SSL of openssl, and supports login and authentication flavors.
The tool is useful for performance loading of various application services, using HTTP, HTTPS, FTP, FTPS, web-sites testing, and traffic generation. Activities of each virtual client are logged and statistics provided: resolving, connection establishment, sending of requests, receiving responses, headers and data received/sent, errors from network, TLS/SSL and application (HTTP, FTP) levels.
Virtual clients are grouped to the so-called batches of clients, performing the same sort of activities. Configurable activities for the simulated clients are:
- authentication login;
- user activity simulation (UAS) by fetching several urls and timeouts in between;
- logoff.
The tool can be easily extended to generate telnet, tftp, ldap, etc other application load, supported by the great libcurl library.
Documentation can be accessed from kmenu start on the desktop - Tool itself can be used only via commandline.

Firefox Extensions

General

Quick Locale Switcher allows you to quickly change and apply a different locale (language) in your Mozilla application.
Features:

  • Handy tool for all people involved with multilingual usage of Mozilla applications.
  • Switches the Mozilla User Interface language (general.useragent.locale preference)
  • Switches the accept_language preference, so complete websites will be translated. (if the http accept language header is supported, e.g. like Google does)
  • Switches the Spell Checker Dictionary preference. (if supported by your Mozilla application)
  • Remembers the dictionary and content locale for each site and automatically switches when you load that site. It also tries to detect the language of sites itself, and if found automatically switches to that language.
  • Auto restarts the application in versions 1.4+ (only if needed)
  • Includes country flag icons for 'all' countries by famfamfam.com.
  • Displays the flag of the currently selected locale on your statusbar.
  • Add 3 of your own custom defined locales.
  • Select from a list of ~200 locales which locales should be visible in the menu.
  • Select which settings you want to switch.
  • Available for Firefox 1.0 - 2.0, Thunderbird 1.0 - 2.0, NVU 1.0, Mozilla Suite 1.7, Seamonkey, Sunbird, Flock and Netscape
  • Available in: en-US, nl-NL, fr-FR, it-IT, ja-JP, de-DE, es-ES, tr-TR, ko-KR, pl-PL, cs-CZ, bg-BG, pt-PT, sl-SI, zh-CN, sk-SK, ru-RU, fy-NL, zh-TW, pt-BR, da-DK, lt-LT, ja-JP-mac, gl-ES, sq-AL, he-IL, en-GB, fa-IR, km-KH, uk-UA, hr-HR, be-BY, ro-RO, es-AR, hu-HU, nb-NO, fi-FI, ca-AD
  • Note! After adding the toolbar button (menu View/toolbars/Customize) you need to restart your Mozilla application before it actually works

All-in-One Sidebar (AiOS) is a sidebar control, inspired by Opera's. Click on the left edge of your browser window to open the sidebar and get easy access to all your panels. It lets you quickly switch between sidebar panels, view dialog windows such as downloads, extensions, and more in the sidebar, or view source or websites in the sidebar. It includes a slide-out button and a toolbar, all of which can be extensively customized.

AiOS screenshotYou can set the orientation to left or right, set the minimum, default and maximum width and the behavior on browser startup.

All-in-One Sidebar provides enhancements for many built-in features, which are related to the sidebar, and adds some extra features.



Testing
Console² , is used not only for JavaScript errors, but for CSS errors as well. This extension takes this into account by providing a simple possibility to display errors by type. It let's you display errors filtered by type (Errors, Warnings, Messages), language (JavaScript, CSS, XML) and context (Chrome, Content). Furthermore it provides a simple search box (as seen in the History and Bookmarks sidebars) and some accessibility improvements.
Tool itself can be used from Firefox in Tools Console only via commandline.

An essential extension/sidebar for web developers using Firefox, UrlParams conveniently summarizes all of your URL parameters into a readable and usable sidebar. It show the querystring from the last request to the server. Sure, you can see the same info with LiveHTTPHeaders, but the layout of this extension is a show-stopper!

Selenium is a test tool for web applications. Selenium tests run directly in a browser, just as real users do, and they run in Mozilla and Firefox. It can be used to do application functional testing and Create regression tests to verify application functionality and user acceptance. Selenium uses JavaScript and Iframes to embed a test automation engine in your browser. This technique should work with any JavaScript-enabled browser.
Tools is part of Firefox as an extension.

Molybdenum is an inbrowser test tool for websites. Molybdenum is realised as a Firefox extension. As Molybdenum is running as an extension in the browser, it can access the content of a loaded webpage directly and doing checks and triggering actions. It is based on Selenium and enhances it with direct browser integration and a visual editor. At the same time it removes the need to deploy testscripts on the server to be tested. The goal of Selenium to support multiple browsers is secondary for Molybdenum. Molybdenum tries to utilise the special features of Firefox Extensions.
Tools is part of Firefox as an extension.

Server Switcher allows you to easily switch between sites on your development and live servers, so that you can immediately see the differences.
Use case: When you are on http://localhost/page.html (your development server) and click the Server Switcher icon you will instantly be redirected to http://www.yoursite.com/page.html (your live server). ("localhost" and "www.yoursite.com" are of course configurable - you can also create multiple development/live-server-pairs.)

CookieSwap is a Firefox/Mozilla extension that enables you to maintain numerous sets or "profiles" of cookies that you can quickly swap between while browsing.

Common uses
CookieSwap allows you to swap all your cookies out of the browser's memory and swap in a new set of cookies. This is useful for tasks like:

  • Changing your cookies/identity to web e-mail sites (like Yahoo, Gmail, Hotmail, etc) so that you can quickly look like different users. Nice if you maintain multiple accounts and are tired of logging out and then back in to switch accounts. Also nice if two people are using the same computer and want to switch between accounts quickly.
  • Changing your cookies/identity to see how sites like Amazon and Google treat you differently depending on who you are. For example, if Amazon recognizes you as a returning shopper they give you a different looking page (and there were claims that they give you different prices also). Google has begun to use a feature called "Personalized Search", where they modify their search results based on your user identity. There is a question about this when you create your Google account. The results of Google searches are different depending on if Google knows you or not. Use CookieSwap to quickly swap between Google recognizing you and being anonymous. Run the same search and see the differences.
  • If you test web sites, you can setup numerous cookie profiles to look like different types of users and swap between those users quickly and easily to test your site in numerous modes

DOM Inspector is a tool that can be used to inspect and edit the live DOM of any web document or XUL application. The DOM hierarchy can be navigated using a two-paned window that allows for a variety of different views on the document and all nodes within.

The idea was taken from unsupported Header Monitor

Features:
    - Up to 5 statusbar panels;
    - Request and response headers;
    - Custom headers;
    - Tooltip headers;
    - Menu with headers for statusbar panels;
Requires:
    - Live HTTP Headers;
Help:
    - Quick reference to HTTP headers;

 

 LiveHTTPHeaders adds information about the HTTP headers in two ways:

  • First by adding a 'Headers' tab in 'View Page Info' of a web page.
  • Second by adding a tool in the 'Tools->Web Development' menu to be able to display http headers in real time (while pages are being downloaded from the Internet.
  • Third by letting you edit request headers and replay an URL (beta). Look for the Replay button in the live window!

This project may be of some help for the following:

  • Help debugging web application.
  • See which kind of web server the remote site is using.
  • See the cookies sent by remote site.

Last Updated ( Monday, 21 May 2007 )