Cette page recence différents outils de tests utilisés pour différents types de tests.
1. Typologie des tests :
Les tests en boîte blanche :
Tests unitaires : ils testent une partie du système indépendamment du reste du système. Tests d'intégration : ils valident le fait que toutes les parties d'un sous-système développées indépendamment fonctionnent correctement ensemble.
Les tests en boîte noire :
Tests d'acceptation : ce sont des tests fonctionnelles validant un ensemble de règles métier. Tests d'IHM : ils permettent de faire des tests de haut niveau en testant par l'interface graphique.
Tests de charge / capacité / stress :
Tests de charge : permettent de vérifier qu'une charge donnée sera supportée par l’application. Les tests de capacité : déterminent la charge maximale que peut supporter un application en poussant l'application en erreur. Les tests de stress : vérifient la stabilité et la fiabilité d'une application lorsqu'elle est soumise à une charge important sur une certaine durée.
Outils de test :
2. Tests Unitaires :
Les deux frameworks de tests les plus connus sont :
JUnit : c'est le framework le plus utilisé. Kent Beck en est l'un des co-fondateurs.
JMeter : Apache JMeter is open source software, a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions. (Web - HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail - POP3(S) and IMAP(S))
The grinder : The Grinder is a JavaTM load testing framework that makes it easy to run a distributed test using many load injector machines. (HTTP web servers, SOAP and REST web services, FTP, POP3, SMTP, LDAP, and application servers (CORBA, RMI, JMS, EJBs))
Fit Framework for Integrated Test :
Great software requires collaboration and communication. Fit is a tool for enhancing collaboration in software development. It's an invaluable way to collaborate on complicated problems - and get them right - early in development.
Fit allows customers, testers, and programmers to learn what their software should do and what it does do. It automatically compares customers' expectations to actual results.
FitNesse :
FitNesse is a lightweight, open-source framework that makes it easy for software teams to:
Collaboratively define Acceptance Tests – web pages containing simple tables of inputs and expected outputs.
Concordion :
Concordion is an open source tool for writing automated acceptance tests in Java.
GreenPepper (Payant ! Boooouuhhh !) :
GreenPepper is a tool integrating executable specifications and automated functional testing into software development processes, thus reducing any ambiguity related to the expression of needs between all actors.
JBehave :
JBehave is a framework for Behaviour-Driven Development
Behaviour-driven development (BDD) is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike.
It shifts the vocabulary from being test-based to behaviour-based, and positions itself as a design philosophy.
Selenium Grid : Selenium Grid transparently distribute your tests on multiple machines so that you can run your tests in parallel, cutting down the time required for running in-browser test suites. This will dramatically speeds up in-browser web testing, giving you quick and accurate feedback you can rely on to improve your web application.
Tellurium : The Tellurium Automated Testing Framework (Tellurium) is a UI module-based automated testing framework for web applications.
Polonium :
Selenium RC with Rails integration and enhanced assertions.
Watir :
Watir, pronounced water, is an open-source (BSD) family of Ruby libraries for automating web browsers. It allows you to write tests that are easy to read and maintain. It is simple and flexible.
Watir drives browsers the same way people do. It clicks links, fills in forms, presses buttons. Watir also checks results, such as whether expected text appears on the page.
Watij – Web Application Testing in Java :
Watij (pronounced wattage) stands for Web Application Testing in Java. Watij is a Java API created to allow for the automation of web applications. Inspired by the simplicity of Watir and enhanced by the power of Java, Watij automates functional testing of web applications through real web browsers.
Watij’s new WebSpec API supports the following respective browsers on Windows, Mac, and Linux: Internet Explorer, Mozilla, Safari
You can also use JRuby! Watij’s WebSpec API provides a JRuby extension so you get the power of Ruby and Java combined.
Marathon :
Record. Refactor. Replay
With Marathon you capture user interactions on the applications and also insert assertions to verify that correct processing is taking place. The generated raw script can be re-factored 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.
Twist (Payant ! Boooouuhhh !) :
Twist™ is a next-generation collaborative testing platform for software teams. It allows the functional behavior of a product to be expressed in plain text, using English-like constructs. It provides a rich Integrated Development Environment (IDE) for defining, executing and maintaining the business intent of applications.
Twist leverages the testing expertise of ThoughtWorks, the creators of the popular web testing engine, Selenium.
Twist helps you test rich, dynamic web based applications. Twist also supports testing thick client applications created with Java Swing.
Windmill :
Windmill is a web testing tool designed to let you painlessly automate and debug your web application.
Originating at the Open Source Applications Foundation Windmill was built to help QA keep up with the rapid release cycles of the Chandler Server Web UI (Cosmo) project. As the Cosmo client is heavy in JavaScript and AJAX functionality, Windmill makes the communication between the service and the client code a priority.
FlexMonkey :
FlexMonkey is a free Adobe AIR application used for testing Flex and AIR based applications. Providing the functionality to record, playback and verify Flex UI interactions, our test automation tool also generates ActionScript-based testing scripts that you can easily include within a continuous integration environment.
*Flash-Selenium : The flash-selenium project aims to extend the Selenium RC clients for adding Flash communication capabilities.
*Flex-UI-Selenium : FlexUISelenium is an extension to the Selenium RC client driver that enables the Selenium RC client drivers to interact (and test) the Flex UI components and methods of the Flex application.
SWTBot :
SWTBot is an open-source Java based UI/functional testing tool for testing SWT and Eclipse based applications.
SWTBot provides APIs that are simple to read and write. The APIs also hide the complexities involved with SWT and Eclipse. This makes it suitable for UI/functional testing by everyone, not just developers. SWTBot also provides its own set of assertions that are useful for SWT. You can also use your own assertion framework with SWTBot.
SWTBot can record and playback tests and integrates with Eclipse, and also provides for ant tasks so that you can run your builds from within CruiseControl or any other CI tool that you use.