User:Megaride/sandbox/Maveryx
Developer(s) | Maveryx |
---|---|
Stable release | 1.2.0
/ February 22, 2011 |
Operating system | Microsoft Windows Linux Mac |
Type | test automation tools |
License | GNU General Public License v2.0 |
Website | http://www.maveryx.com |
Maveryx is an automated functional, graphical user interface (GUI), and regression test tool for Java applications. Differently from other test tools Maveryx does not use any ‘GUI Map’ to create and run the automated tests. GUI objects to test are recognized at execution time, by an advanced GUI Objects Finder. This search engine supports exact and fuzzy matching algorithms to identify the test objects in the application user interface. Avoiding GUI Maps allows starting automation early, long before the application is available for testing, while approximate matching gives the possibility to derive tests even from partial or lacking requirements, and to automate scripts resilient to frequent application changes. Maveryx is primarily used by Software Quality Assurance teams to perform automated testing in traditional and agile environments.
Overview
Maveryx is automated testing software designed for functional testing, regression testing, GUI testing and data-driven testing of Java applications on Windows, Linux and Mac. Maveryx does not require any ‘GUI Map’ to build and execute the automated tests: GUI objects to test are recognized and located directly at runtime, during the scripts execution. By running a test, Maveryx performs the scan of the current application user interface and searches for the objects and controls to manipulate. Test objects are uniquely identified by the GUI Objects Finder, an advanced search engine powered by a wide set of algorithms, including exact and approximate matching. This technology allows finding the closest match between a GUI object encoded in the script and the objects in the application under test, even in case of partial information on the GUI object to operate. Maveryx uses Java as scripting language, and can be integrated into any Java IDE (Eclipse, NetBeans, etc.) and testing framework (JUnit, IBM Rational Functional Tester, etc.). It supports data-driven testing, verification points and keywords to increases test coverage, promotes script reuse, and leverage the number of automated tests.
Key Technologies
No GUI Maps
Maveryx analyzes and identifies the GUI objects to test and their properties dynamically at runtime during the scripts execution, without using any GUI Map. Running a test, Maveryx performs the scan and gets ‘snapshots’ of the current application’s user interface. Each snapshot is processed by an advanced GUI Objects Finder that recognizes and locates the test objects. By this approach there is no need to wait for the application to start writing tests. Testers can develop the automated scripts early in the software lifecycle, in parallel to the application development. Test scripts can be executed as soon as the application is available for testing.
GUI Objects Finder
Test objects encoded in the scripts are identified and located directly at runtime by an advanced GUI Objects Finder with several pattern–matching capabilities. Maveryx uses several searching algorithms to recognize and locate objects during the test execution, even if the objects have changed since test creation or ‘partial’ descriptions are encoded in the scripts. Maveryx searches for run–time objects that exactly or partially (approximate similarity) match the test objects in the scripts. The following matching algorithms are supported:
- Exact: allows searching for a test object exactly as it is defined in the script
- Case Insensitive: same as Exact, but case-insensitive
- Partial: allows finding a match on ‘partial’ data
- Wildcard: allows finding a match by using regular expressions
- Levenshtein Distance: allows approximate matching with fuzzy logic, using the ‘edit distance’
- Thesaurus Searching: search for broader or narrower or related terms or concepts in a WordNet vocabulary
- Google Translation: allows finding translations (also suitable for multilingual/internationalization testing)
This technology reduces time and effort that testers spend on script maintenance and allows writing automated tests from unstable, lacking or partial specifications. It also enables testers to automate tests resilient to frequent application user interface changes, avoiding continuous reworking of the scripts.
Data-driven testing
Maveryx supports data-driven testing. Data-driven testing is primarily implemented as Microsoft Excel spreadsheets and XML files that can be accessed from dedicated scripting API. Maveryx also supports any database (JDBC sources). The test steps can read data from these data sources in order to drive variable data into the application under test, and verify the expected result.
Extensibility
Maveryx has an extensible plug-in system. Users can add specific capabilities or customize the existing functionalities with separate plug-ins. Maveryx supports plug-ins for many reasons. Some of the main reasons include:
- to add dedicated support for custom or complex GUI controls
- to add proprietary test actions (API)
- to add new matching algorithms
- to integrate Maveryx with other tools for SCM, bug tracking, etc
Eclipse Plug-in
Maveryx-for-Eclipse is a set of software tools for the Java Eclipse IDE that enables testers and developers to design, build, and run automated test scripts based on Maveryx. The plug-in assists testers in creating new test projects and test classes, generating Java stub code using the Maveryx Framework API.
Other Features
Maveryx also supports:
- Automated Verification points
- Test logging capabilities
- Distributed and multi-application testing
- Multilingual testing
- Customizable error handling
- Keywords