In order to start learning an application, a learn process has to be modeled. Such a process always consists of the following components:
- An input alphabet (set of symbols)
- A symbol to reset the application (see this section)
- A learning algorithm
- A parametrized equivalence oracle
- A maximum amount of steps to learn
- A specification of a web browser
In the setup view, the list of symbols is displayed from which you have to select the symbols that should be used for the input alphabet. Furthermore, a special symbol that resets the application has to be selected. Mark the corresponding symbol by clicking on the button 1. Once selected, the reset symbol can not be included in the input alphabet.
The next step is the configuration of the learning process. A click on the button with the gear icon at 2 opens the modal window that is displayed below.
Here, in the tab "Learner" (left), select a learning algorithm first. Per default, the TTT algorithm is preselected because it usually performs better than the other available options.
Then, configure the equivalence approximation strategy:
- Random Word
- The Random Word EQ oracle approximates an equivalence query by generating random words from the input alphabet and executes them on the system. The oracles expects three parameters: minLength (> 0) defines the minimum length of a generated word, maxLength (>= minLength) the maximum length and numberOfWords (> 0) the amount of randomly generated words to test.
- The Complete EQ oracle generates all possible words from an alphabet within some limits. minDepth (> 0) describes the minimum length of word, maxDepth (>= minDepth) the maximum length.
- The W-Method EQ oracle generates words based on a transition coverage of the graph under the assumption of maxDepth additional states.
- If this oracle is chosen, counterexamples are searched and specified manually by the user.
- Uses an ideal model of an application to search for differences and uses them as counterexamples. Note that the input alphabets should be the same.
The input field for the maximum amount of steps to learn indicates how many intermediate hypotheses the learner has to generate before the learning process is stopped. The value -1 means that the learner stops if no more counterexample is found. Another value, for example 3, would stop the learner after having generated three hypotheses, although this might not be the final one. Of cause, if the final hypothesis is learned before those three steps, the learner stops beforehand. This way, it is possible to e.g. learn the first three steps with a randomized equivalence oracle and then continue learning with another one.
In the WebDriver tab (right) you can configure which web browser is used for accessing the target web application during the learning process. Each web driver has individual options which are displayed once you select a web browser from the select input.
Save the configuration with a click on the Save button. Finally, click on the Start learning button in the button group 2 to start the learning process.