Using Model-Based Testing to Generate BlazeMeter GUI Functional Tests
Model-based testing is an innovative approach to generating test assets for application testing. The benefits of model-based testing are huge, and include:
- Easy generation and maintenance of test assets
- Optimization of test plans
- Seamless collaboration among stakeholders
- Easy change and impact analysis
Agile Requirements Designer (ARD) is a model-based testing solution from Broadcom. ARD is highly adept at creating test automation independent of the test framework. Thus, ARD is capable of generating test automation regardless of whether your framework is Selenium, Java or Cucumber/Gherkin to name a few.
Powerful Test Execution For Your Model-Based Tests
ARD 3.2 introduces a very exciting integration with the BlazeMeter Continuous Testing Platform. Now you can take advantage of BlazeMeter to execute GUI functional automated tests generated by ARD. BlazeMeter’s scriptless capabilities along with its mock services, API and Performance testing provide a comprehensive test execution platform at scale.
BlazeMeter’s test action library is a repository of objects and their locators for web applications under test and Blazemeter GUI functional tests are created using scriptless actions that map to Selenium, for example, clicking buttons, double clicking, typing in edit fields and many more. These actions can be added together to create groups which are also saved in the Test action library. Groups can contain logic and common steps performed together to exercise functionality in an application and are reusable. For example, there could be a group created for filling out a reservation form or logging in to an application. Changes made to groups are automatically picked up by all tests using those groups, providing an easy way to provide automated, reusable, robust functionality to testers.
With this integration, all application objects, actions and groups in BlazeMeter are available to ARD for use in models. ARD’s test case generation, optimization and automation creates test assets and exports them directly to BlazeMeter where they can be executed on demand, as part of a pipeline, or on a set schedule.
Below is a scriptless test case generated by ARD and exported to BlazeMeter. The test case is generated from a path in an ARD model.
The BlazeMeter platform executes the tests either in the cloud or on-premises on pristine test environments. These tests can be configured to run against multiple versions or multiple browsers in various locations and have comprehensive reporting including video playback
An Example in Action
The model pictured below features a digital banking application with several blocks and decisions. Each of these blocks and decision outputs (e.g. “Sign In” or “Sign Up”) can have automation associated with them, ensuring that the logic for the test automation is naturally built into the model.
After linking the model with a BlazeMeter workspace, the “BlazeMeter Automation” tab is visible in the properties for each block. This tab displays the actions/groups that can be used to create the automation. Clicking on the action/group adds a test step to the test. Multiple actions or groups can be added to each block. If an action, such as a “Click action” requires an object, the Object dropdown shows all of the objects available. Actions such as “Type” have a field for inputting text. This can be hard coded or passed as a test data variable
In the screenshot below, there are 3 scriptless actions associated with the block. These actions would be executed from top to bottom in a BlazeMeter test. The available ‘Objects’ that appear are from the BlazeMeter Test Action Library which contains discovered objects from the application under test
When paths and test cases are generated for the model in ARD, the BlazeMeter tests are automatically created and the test cases can then be exported directly to BlazeMeter.
Links to the exported BlazeMeter tests are available in ARD and associated with the model. Click through functionality opens up the test directly in BlazeMeter. ARD has the ability to update these tests as well when the requirements change
The BlazeMeter tests can be executed as individual tests or as part of a test suite as shown below. Both the location for the test to run and the combinations of browsers and versions are configurable.
As each test is executed, the results are updated in the report. Summary and Detail reports are created as is a Test Suite view when running as a suite.
ARD and BlazeMeter Are Better Together
This new integration combines the power of ARD’s model based testing with the powerful BlazeMeter test execution platform. Stay tuned for this integration coming in June to create and optimize data-rich test cases.
To learn more about this robust integration, watch the overview replay: Bringing Powerful Test Execution To Your Model-Based Tests with BlazeMeter and ARD.