Best Practices - Organizing Daily Work in Leapwork

Best Practices - Organizing Daily Work in Leapwork

Introduction
Leapwork's user interface has always been all about speed, ease of use, and productivity. Users can create and organize folders, flows, sub-flows, and the underlying elements in multiple ways, as these are logically separated and can be structured as per user needs. Users can create a hierarchical folder structure and perform drag and drop on the flows/sub-flows to organize them into the folders. This unique attribute of Leapwork's design and user experience makes it easier for all kinds of stakeholders in any size of the team to manage testing efforts efficiently, for great success.

There are some generally recommended models that help in organizing projects to increase productivity and lower maintenance while ensuring consistent scalability. These models are:

We will discuss each one of these in detail and give examples to help us out with best practices for each model.

Project/ Feature-based Model

In this design, the user should structure their test flows according to the project/program and features. This means that the top-level folder will always be a folder that has the project name, and that project will be segregated into multiple folders with feature names where each feature folder contains one or more test flow(s). Each flow will have the corresponding assets, e.g. elements, images, data files, etc.

Best Practices

Folder Structure, Flows, Sub-Flows, and Assets
Most of the structural aspects can be achieved with the right folder structure.

A feature might have multiple flows and hence all the corresponding test flow(s) should be kept inside these feature folders. Some of the flows might have common functionality which should be converted into a reusable sub-flow so that all flows use that common sub-flow, thereby making it reusable, easy to maintain, and straightforward to scale.

Each flow contains all the captured elements, images, data files, etc. These assets are recommended to be kept inside the flow itself.

Example: Project and Feature-Based

Example: Project/Feature with AGILE Sprints

Page Object Model

Page Object Model is a popular design in test automation where we can create an object repository for UI elements separately. The advantage of the model is that it reduces element duplication and improves test maintenance. This model is most applicable for the applications that contain multiple pages, and where each of these pages has fields that can be uniquely referenced with respect to the page.

Best Practices

Folder Structure, Flows, Sub-Flows, and Assets
The structural aspects can be achieved by choosing the right folder hierarchy.

Example: Page Object Model with Feature Flows

Hybrid Model

The hybrid model is the combination of two or more primary (traditional) models, which can be modified as per the business requirements. This is a flexible yet controlled model that can be manipulated based on our automation requirements and methodologies. We recommend using the hybrid model whenever the user wants to obtain the features of two models in a single model. This model is good to use when your teams are following mixed developmental (scrum, kanban, waterfall) or release strategies (daily, weekly, quarterly releases) with multiple environments.

In this structure, we can create test flows focused on the current release without following any specific structure. The focus is on the organization of the test flows, rather than features or assets/objects.

Best Practices

Folder Structure and Flows
Most of the structural aspects can be achieved with the right folder structure.

Sub-Flows and Assets
Since the model is hybrid, the focus is not on organizing sub-flows of the assets. So each flow may contain all the assets, for example, the reusable sub-flows, the captured elements, images, data files, etc. However, based upon specific requirements, the recommendations from the above two models can also be incorporated and sub-flows and assets can be organized.

Example: Feature with AGILE Sprints

Example: Environment based Features

Example: Features with User Stories

Example: User-specific Segregation

General Recommendations

Apart from choosing the right model, there are few more aspects that should be taken care of in each of the recommended models. These include giving proper names to the objects and removing the unused objects, etc.

Naming Convention
Always give a logical name to each asset within a test flow (Example: the flow, sub-flow, element, image, data file, etc.).

Clean Up
When we start creating a test flow, we capture different elements and later discard a few. If we forget to remove unused resources from our project, it can make the flow heavy and more unmanageable.

Leapwork provides an easy way to do this cleanup process, where QA teams do not need to check the usage of each and every element in order to delete the unused elements. In Leapwork, right-click on the project folder and click 'Remove Unused Elements'.

If you have any questions, contact our Priority Support.