Migrating Platforms – A Katalon Success Story

Several months ago, we began mapping out a migration strategy to move from one service platform to another. It would include new databases, new security authentication, a complete data load and new import and export functionality. Basically, new everything.

Since it’s a new platform, it needed a full regression test. It could be done by hand, but that would be slow and issues could easily fall through the cracks. The goal was to introduce automation, so back in December we started with Katalon as our tool of choice to handle the work.

And so we set off to automate as much as possible. It started as a brute force endeavor. Just to get started, tests were created to read data so we could compare Before and After results to confirm we didn’t lose anything. With those complete, it became possible to fill in forms. After a bit more experience and knowledge, we could count items on the page and validate their content. It was then possible to sum columns and confirm internal calculations to site values. Each test built on the last.

The tests continued to expand in depth and complexity until there was a solid set of tests that validated hundreds of data points. A full run could be completed in less than 10 minutes. Doing that same list of tests manually takes an hour to complete. Plus, the tests could be run in the background giving time back for other tasks.

As we practiced the migration, the scripts were quick to uncover issues. They even revealed a few of bugs due to how frequently they were running. After a week of repeated test runs, the environment was stable and we were quite confident to move the process to Staging.

To confirm it’s readiness, the same set of tests were run repeatedly and the small hiccups were ironed out before turning it over to the customer. What they saw was a nearly flawless upgrade experience.

Over the weekend, we did the real upgrade, with the final validation performed by Katalon and the automation scripts. In a fraction of the time, we were able to check dozens of links, read hundreds of sales figures, fill in multiple user forms, confirm each page loaded as expected and compared dozens of known data elements. We also had written confirmation of what we tested so everyone could agree on the sign-off.

I would say that our implementation of Katalon has been a big success. There is still a lot more to learn and more robust tests to write. But, as of now, we have a solid test suite that definitely validates whether the site is working or not.

Other articles of interest:

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Comments
  • Simple wildcard searches for pattern matching (2)
    • Don Pedro: For that scenario it seems .contains would be your choice. For example, variable.contains(‘amazo n.com’) to see if the url had amazon.com. In that case, www.amazon.com, forum.amazon.com, retail.amazon.com would all...
    • Jony: Hi, How can I use a wild card to assert a URL is the one I want. I just want to verify the domain ==expected but not anything after it. Tried * but not working and only works when I have full URL.
  • Create a Dynamic Object at Runtime (2)
    • Saish: How to add shadow root parent to this runtime object..
    • Jeremy Brien: I appreciate this! I saw this post on LinkedIn this morning and was able to find a use case for it! I found that defining my xpath with an iterable variable allows me to loop through and capture text from tables created...
  • Output status messages and test information by writing to the Log File Viewer in Katalon Studio (2)
    • Don Pedro: That would be things like: log.logWarning(‘The import date listed on the site is: ‘ + importDate) log.logWarning(‘The value from the site is: ‘ + salesFigure) log.logWarning(‘Filter Results for ‘ +...
    • Prashant Pednekar: Thanks for the informative article but can we also put some variable values to make it more exciting.
  • Setting up a repeatable Search Method in Katalon Studio (1)
    • RJ: Thanks a lot! This is very helpful 🙂
  • Filling forms with random numbers in Katalon Studio (3)
    • Patrick Clough: We created a handy random string generator custom keyword. The method takes in a string for the type of string you want, and an integer for the length. Looks like this: static String RANDOM_ALPHANUM =...
    • Don Pedro: randomNumber is the variable that holds the result of generating a new random number. Depending on how things work on your site, you might need to convert the number to a String before it’s recognized correctly....
    • Seth: When you are setting up randomNumber is this a new keyword or a new variable? I am trying to randomly generate unique socials and can’t seem to connect my generator to my Set Text.
  • Working with Dates and Date Formatting in Katalon Studio (5)
    • Ann: THANK YOU ! That worked perfectly !
    • Don Pedro: import groovy.time.TimeCategory currentDate = new Date() println currentDate use( TimeCategory ) { after30Mins = currentDate + 30.minutes } println after30Mins https://stackoverflow.com/ques tions/21166927/incrementing...
    • ricky julianto nugroho: hay can u gave me an example for plus a hour in the time ? example : now is 15 pm i want to print 16 in the text thank you
  • Boostnote for Code Snippets (1)
    • Manual: Hi Don, Regarding the code snippets and examples that you have created. Is there any GitHub repo or something that can be shared? Thanks
  • Using TypeIt4Me with Katalon Studio (3)
    • Manual: That’s great thanks for sharing.