Jump to content

User:Megaride/sandbox/Maveryx

From Wikipedia, the free encyclopedia
Maveryx
Developer(s)Maveryx Srl
Stable release
2.4.1 / December 12, 2019 (2019-12-12)
Operating systemMicrosoft Windows, Linux, Mac OS
TypeTest Automation Tools
LicenseProprietary
Websitemaveryx.com

Maveryx is a GUI Test Automation Framework developed by Maveryx S.r.l.[1] This Framework provides functional UI, regression, data-driven, and codeless testing capabilities to test Desktop and Web applications. Maveryx Test Automation Framework allows testing different GUI technologies (e.g. Java, .NET, HTML5, JavaScript-based Frameworks, etc.).

Overview

[edit]

Maveryx is an automated testing framework designed for functional testing, regression testing, GUI testing, data-driven testing and codeless testing (keyword-driven testing or low code testing) of Desktop and Web applications on Windows, Linux and MacOS. It does not require any artifact (like 'GUI Map', 'Objects Repository', 'recorded actions', etc.) to build and execute automated tests: the GUI objects to test are uniquely identified and located directly at runtime, during tests' execution[2]. While running a test, Maveryx automatically performs the scan of the application's user interface and searches for the widgets and controls to operate. UI objects are unambiguously identified by an Intelligent Object Recognition system. It is an advanced search engine, powered by a broad set of algorithms. This technology allows finding the closest match between the GUI object encoded in the test script and the real object in the application under test, even if they don't exactly match or have changed since test creation. [3] Maveryx uses Java and C# as scripting languages and integrates with any IDE (Eclipse, IntelliJ IDEA, Microsoft Visual Studio, etc.) and test manager framework (JUnit, NUnit, TestNG, etc.). [4] Moreover, Maveryx provides a codeless Framework for non-programmers and non-technical testers, based on Keywords or Blocks programming. It supports data-driven testing to increase test coverage.

Main features

[edit]

System environment

[edit]

Maveryx Test Automation Framework runs on Microsoft Windows, Linux, and Mac OS.

Supported technologies

[edit]

Test Scripting

[edit]

Maveryx provides Java and C# APIs to create test scripts[5]. Testers and developers using Java can work, among the others, in the Eclipse editor, and those using C# in Visual Studio.

Integration with other software

[edit]

Maveryx tests can be run from the command line, or with ANT, or Maven, etc. This allows integrating Maveryx tests within almost every continuous integration (CI) system such as Jenkins, Azure DevOps Server, Bamboo, TeamCity, and others. Any CI automation server that uses tools like Gradle, Maven, or ANT can run Maveryx tests as part of the build process. As Maveryx tests are executable jar files or exe files, they can be incorporated within any ALM, Continuous Integration, Build Integration, Test Management and Software Project Management tools supporting the execution of these types of files.

Eclipse plug-in

[edit]

Maveryx-for-Eclipse is a set of software tools for the Java Eclipse IDE that enables testers and developers to design, build, and run Maveryx tests directly in Eclipse.

The plug-in helps users to:

  • Create new Maveryx test projects and classes
  • Generate test stubs
  • Run tests
  • View test results and metrics

Test reporting

[edit]

Maveryx automatically generates a report at the end of every test execution. The Framework creates an XML-based test report that provides a view of the entire test run, including test cases passed and failed in a tabular format. The report also contains chart metrics. For each test case it produces a log with detailed information about the test objects, executed actions, and screenshots. The Maveryx Eclipse plug-in creates live charts and reports during test execution.

Extensibility

[edit]

Maveryx provides an extensible plug-in system. Users can add specific capabilities or customize the existing functionalities with separate plug-ins.

Maveryx supports plug-ins for different reasons, including:

  • to add new APIs and Keywords
  • to add support for customized, unsupported GUI controls

Key technologies

[edit]

GUI objects

[edit]

Maveryx identifies GUI objects to test dynamically at runtime during the test execution, without requiring pre-recordings or using any Spy tool, GUI Map or Object Repository[6]. Running a test, Maveryx automatically performs the scan of the current application's user interface. The result of this scanning is processed by an Intelligent Object Recognition engine that uniquely identifies and locates the test objects. Avoiding recordings, GUI Maps and Object Repositories, there is no need to wait for the application under test to be released to start writing the automated tests. Testers can create the automated scripts earlier in the software lifecycle, in parallel to the application development. Those tests can be executed as soon as the desktop or web application is available for testing.

Maveryx's Intelligent Object Recognition engine has several patterns–matching capabilities. It uses different searching algorithms to identify the test objects, even if they have changed since test creation or if a partial description is given in the test scripts.

This technology allows writing automated tests from unstable, lacking or partial specifications. It allows to write automated tests resilient to frequent application user interface's changes, avoiding continuous reworking of the test scripts.

Image-based test automation

[edit]

It also allows to identify the GUI objects to test through screenshot images. By providing a snapshot of the test object, the Maveryx's Image Matching engine allows searching and finding its location in the larger image of the application under test.

Supported testing types

[edit]

Data-driven testing

[edit]

Maveryx supports data-driven testing. This allows users to separate test data from test commands and run automated tests with different sets of data. With Maveryx, test data can be retrieved from external sources such as Excel worksheets, CSV or XML files, and from a DB.

Keyword-driven testing

[edit]

Maveryx supports code-free, Keyword-driven testing. Non-programmers and non-technical testers can develop automated test cases as data tables in Microsoft Excel spreadsheets, CSV or XML files. Each row in the table contains the test action (keyword) to be performed as well as input, expected output and information on the object to test. The Keyword-driven Framework supports data-driven testing and has a plugin architecture which allows users to add new keywords.

Low-code testing

[edit]

Maveryx offers a low-code development platform. Non-programmers and non-technical testers can develop automated test cases by using a very easy graphical development interface based on blocks programming and saving the tests scripts as Java classes. This approach let also testers learn the OOP (Object Oriented Programming) paradigm with no efforts.

See also

[edit]

References

[edit]
  1. ^ Pattnaik, Subhendu (November 4, 2016). "List of 105 Software Testing Tools to Meet Your Testing Objectives". DZone.com. Retrieved January 12, 2021. ..It utilizes 'GUI Objects Finder' that recognizes GUI test objects with text while execution of tests. The object search engine supports exactly matching algorithms to identify test objects in the UI, even when there are partial or approximate matching, misspellings, and synonyms or in case of change of objects from the time of test creation.
  2. ^ Russo, Sorrentino (2011). Progettazione di un tool per il test automatico di applicazioni Java dotate di interfacce grafiche (PDF). unina.it (Thesis). University of Napoli Federico II. Retrieved January 19, 2021. ..Maveryx è uno strumento per l'automazione di test funzionali e di regressione di applicazioni dotate di interfaccia grafica scritte in Java. Esso elimina la dipendenza dalla GUI Maps, anche detta mappa grafica. Gli elementi grafici vengono identificati direttamente a runtime durante l'esecuzione dei test script. Maveryx permette di identificare gli oggetti grafici anche in caso di informazioni approssimative degli elementi su cui effettuare le azioni.
  3. ^ Nocella, A. (2014-03-17). "The faces of testing: men vs. robots - in Belgium Testing Days Conference Proceedings". Archived from the original on 2014-03-12. Retrieved 2020-01-12.
  4. ^ Garofalo, M. (2011-11-23). "Mixing Open And Commercial Tools - in Eurostar Software Testing Conference Proceedings". Archived from the original on 2014-03-12. Retrieved 2014-03-12.
  5. ^ Morisio, Qi Shuang (2020). Evaluation of the maintenance required by web application test suites (PDF). polito.it.com (Thesis). Politecnico di Torino. Retrieved January 19, 2021. ..When talking about Scripted based Testing, it means the testing technique that uses testing scripts to test the system. What is testing scripts? It generally refers to a series of instructions for a particular test, which can be executed by automated test tools... Existing tools using this technique...Maveryx
  6. ^ Pradhan, Ligaj (November 5, 2011). User Interface Test Automation and its Challenges in an Industrial Scenario (PDF). diva-portal.org (Thesis). School of Innovation, Design and Engineering. Retrieved January 19, 2021. ..Maveryx is an automated functional GUI and regression test tool for Java applications. It is very different from other similar automated test software because it does not use an Object Map to recognize GUI object from the SUT. Maveryx's search engine supports advanced fuzzy mapping algorithms to recognize the GUI objects in execution time. The approximate matching approach of Maveryx has two main advantages. The first one is that tests can be prepared even when the application is not fully prepared. The second advantage is that it is resilient to frequent application changes.
[edit]

[[Category:Graphical user interface testing]] [[Category:Software testing]] [[Category:Software testing tools]] [[Category:Computer programming tools]] [[Category:Automation software]]