Maveryx
Encyclopedia
Maveryx is an automated functional, graphical user interface (GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

), 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
Fuzzy matching
Fuzzy matching is a technique used in computer-assisted translation and some other information technology applications such as record linkage. It works with matches that may be less than 100% perfect when finding correspondences between segments of a text and entries in a database of previous...

 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
Approximate string matching
In computing, approximate string matching is the technique of finding strings that match a pattern approximately...

 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
Software quality assurance
Software quality assurance consists of a means of monitoring the software engineering processes and methods used to ensure quality. The methods by which this is accomplished are many and varied, and may include ensuring conformance to one or more standards, such as ISO 9000 or a model such as...

 teams to perform automated testing in traditional and agile
Agile testing
Agile testing is a software testing practice that follows the principles of agile software development. Agile testing does not emphasize testing procedures and focuses on ongoing testing against newly developed code until quality software from an end customer's perspective results...

 environments.

Overview

Maveryx is automated testing software designed for functional testing
Functional testing
Functional testing is a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered .Functional testing differs from system...

, regression testing
Regression testing
Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....

, GUI testing and data-driven testing
Data-driven testing
Data-driven testing is a term used in the testing of computer software to describe testing done using a table of conditions directly as test inputs and verifiable outputs as well as the process where test environment settings and control are not hard-coded...

 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
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 as scripting language, and can be integrated into any Java IDE (Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

, NetBeans
NetBeans
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...

, etc.) and testing framework (JUnit
JUnit
JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks collectively known as xUnit that originated with SUnit....

, IBM Rational Functional Tester
IBM Rational Functional Tester
IBM Rational Functional Tester is a tool for automated testing of software applications from the Rational Software division of IBM. It allows users to create tests that mimic the actions and assessments of a human tester...

, etc.). It supports data-driven testing, verification points and keywords
Keyword-driven testing
Keyword-driven testing, also known as table-driven testing or action-word testing, is a software testing methodology for automated testing that separates the test creation process into two distinct stages: a Planning Stage, and an Implementation Stage.-Overview:Although keyword testing can be used...

 to increases test coverage, promotes script reuse, and leverage the number of automated tests.

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
Pattern matching
In computer science, pattern matching is the act of checking some sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually has to be exact. The patterns generally have the form of either sequences or tree structures...

 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
    Levenshtein distance
    In information theory and computer science, the Levenshtein distance is a string metric for measuring the amount of difference between two sequences...

    : 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
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...

 spreadsheets and XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 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.

Test reporting

Maveryx automatically generates metrics and produces detailed reports with the execution results of all tests. Maveryx Eclipse plug-in uses several reporting features to create live charts and reports during test execution, and to produce the final test reports explaining test results with tables charts, and statistics.

Other Features

Maveryx also supports:
  • Automated Verification points
  • Test logging capabilities
  • Distributed and multi-application testing
  • Multilingual testing
  • Customizable error handling
  • Keywords
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK