Calculates a executionPath of actions to navigate the abstract model to reach and execute an unvisited action (A1 -> A2 -> A3 -> AU).
TESTAR removes the first entry in every navigation step when moving to the desired unvisited action (executionPath.removeFirst()).
However, this path of actions could not be effective anymore if TESTAR completes the total number of actions executed and starts a new sequence, changing the current state and starting in the initial state.
Example with Notepad:
The desired unvisited action is 3 clicks away
executionPath(Format -> Font -> Accept)
If TESTAR clicks Format, remove it from the list (Font -> Accept) and stop and start a new sequence.
In the next initial state, the unvisited actions expect:
executionPath(Font -> Accept)
Click the Font button is the next action in the Notepad Initial State, but it is impossible.
Possible solution:
A possible solution is to reset the executionPath when TESTAR starts a new sequence, then a new path of actions will be calculated from the initial state.
@Override
public void notifyNewSequence() {
executionPath = new LinkedList<>();
System.out.println("Reset State Model execution path due to new sequence starting");
}
ImprovedUnvisitedActionSelector
Calculates a
executionPath
of actions to navigate the abstract model to reach and execute an unvisited action (A1 -> A2 -> A3 -> AU). TESTAR removes the first entry in every navigation step when moving to the desired unvisited action (executionPath.removeFirst()
).However, this path of actions could not be effective anymore if TESTAR completes the total number of actions executed and starts a new sequence, changing the current state and starting in the initial state.
Example with Notepad:
The desired unvisited action is 3 clicks away
executionPath(Format -> Font -> Accept)
If TESTAR clicks Format, remove it from the list (Font -> Accept) and stop and start a new sequence.
In the next initial state, the unvisited actions expect:
executionPath(Font -> Accept)
Click the Font button is the next action in the Notepad Initial State, but it is impossible.Possible solution: A possible solution is to reset the
executionPath
when TESTAR starts a new sequence, then a new path of actions will be calculated from the initial state.ModelManager
ImprovedUnvisitedActionSelector