Data management has been one of big trials we faced while deploying our test automation framework Awetest. The challenge was creating modular automated tests that can be reused across multiple script versions, multiple environments, and with different databases.

Our answer was to integrate the concept of “Assets” into our test automation framework to address the growing number of support files to manage different file versions, utility libraries, external scripts, and variable tables. The implementation we devised is a straightforward interface for uploading, deleting, and managing these files in our Assets Manager. This can be found under the Regression->Assets tab in Awetest.

(click on image to view actual size)

The Assets tab make maintaining repeatable interactions in individual scripts much simpler by allowing the tester to upload support files and utility libraries packed full of all the methods to be used across multiple tests without having to attach any extra files or data to each individual test case. Creating reusable methods that can be leveraged across scripts (e.g. a calendar widget that needs to be manipulated on 7 different pages in an application) makes building test cases that much safer and faster.

The Library can also contain multiple versions of this utility file which with override the methods of the previous version. This means you can edit/add/remove/ methods in your test without having to edit tons of lines in your script.

Without such a feature the tester would have to add ton of extra lines of code to handle all of the different pages that need to be tested. By adding the concept of Assets and a subsequent Assets manager into Awetest and a tester simply needs to load up the version of the utility library Awetest needs to run the test case and the methods are then pulled into the script via the library, saving the tester much grief if they need to tweak or add some method that multiple scripts might rely on. How great is that!!

Enhanced by Zemanta