ModelWeb

We developed a DSML (domain-specific modeling language) called ModelWeb, which offers a flowchart based notation set for the modeling of user behaviours for web applications. ModelWeb's notation set consists of a pre-defined list of user actions including click, type, login, register, select, search, share, comment, and drag&drop, and system actions including display and return, which could be used to specify flowchart models of web applications functionalities (e.g., adding products to cart or viewing orders in an online store). Using a toolset developed for ModelWeb, the flowchart models are transformed into test scenarios in the behaviour-driven development (BDD) format. The BDD scenarios can be automatically prioritised based on the actual user-clicks that are determined via the web analytics tools. ModelWeb's toolset further tests web applications against the prioritised BDD scenarios using the Selenium web test automation tool and reports the test results.


Regarding Fig. 1 we have 2 main components which are the GUI tool and Modeling tool. In the GUI tool, the user first extracts website HTML elements using the model extractor. The output of the model extractor is shown in Fig. 3. So after extract website elements using our GUI tool, the user can create models for the website. The user can model any function of the website using Metaedit+ based Modeling tool with provided metamodel file from our research team. Detailed explanation is shown in Fig.2 about how to create models and run generator. After created the flow-chart models, the user can generate BDD Test Scenarios using a MetaEdit+ generator. The generator outputs BDD scenarios in XML format. Then user passes these generated bdd outputs to GUI tool , into Scenario Prioritiser. Also, the user has to pass Web Analytics Tool's (in our case we used OWA as an analytic tool) database information or exported CSV, EXCEL or JSON files from the Web Analytics database. Finally, our prioritizer is ready to generate Prioritised BDD Test outputs.




Figure 1

Figure 1: The Tool Architecture

Figure 2: The Modeling Editor

Figure 3: The Model Extractor