# User manual
Here and in the following sections, we present a detailed explanation of the concepts and ways to use ALEX. If you find bugs of any kind relating this application or inaccuracies in this manual, let us know.
# Features
ALEX offers a simplicity-oriented way to execute learning experiments for web applications and web services using active automata learning. Since version 1.5.0 ALEX has been extended to support traditional UI and interface testing using Selenium as well. Based on features of LearnLib (opens new window), ALEX lays a focus on the ease to use of the tool while offering an extensive feature set, including:
- Inferring Mealy machines of web applications and web services using active automata learning techniques
- Graphical symbol and learning process modelling
- Automatic generation and visualization of
- Models
- Algorithmic data structures (observation table and discrimination tree)
- Statistics of learning experiments
- Simultaneous learning of web applications and web services
- Various learning algorithms and equivalence approximation strategies
- LTL-based model checking
- GUI testing capabilities
- And much more...
# Required skills
As a user of ALEX and tester of web applications, you should
- be familiar with HTML and CSS
- be familiar with REST interfaces and exchange formats like JSON
- have a basic understanding of web application testing
- have a basic understanding of active automata learning
It helps if you are familiar with programming in general and have already used Selenium.
# Terminology
This document contains some terms related to automata learning which are listed in the following:
The following graphic illustrates the general learning process and thus the relation between the terms listed above.
# Workflow
ALEX covers all aspects of learning-based testing. The following diagram illustrates how the tool supports learning, testing and model checking of web applications.