How Time Machine® Enables Agile Projects with Continuous Integration and Test Automation

SANTA CLARA, CA. - Wednesday, July 15, 2020

WHY AGILE

Agile, one of the most popular testing methodologies in the industry has recently been adopted by heavyweights like Amazon and Spotify. With Agile, one of the key concepts is to have small Scrum/Squad teams do software development in short weekly sprints where members check-in code on a daily basis to integrate and detect issues early. As a result, multiple testing runs could be concurrent on different versions of the software at the same time. Here, test automation is key to make it efficient, productive and manageable

AUTOMATION FOR CONTINUOUS INTEGRATION

This process is called Continuous Integration (CI), where a release will be built automatically whenever new codes are checked in to the source code control system. Even better yet, the new release will automatically be loaded on to test systems to initiate test automation.

CHALLENGE FOR FULL AUTOMATION

One killer to stop such test automation is to time shift to test date & time sensitive business logic, such as month-end, quarter-end, year-end processing, new regulation change date, debt collection cycle, etc. If this is done by administrators to shut down and restart the application and database - in addition to changing the system clocks - it can become a time consuming and manual process that cannot be automated. Worse yet, a test run may need to visit multiple date triggers, such as a debt collection cycle. So much manual interruption and waiting can occur in a run to the point where the manual wait time is longer than the actual testing time!

TIME MACHINE AS AN ENABLER

The key for test automation of time shift testing is having the Time Machine software virtual clocks with the Sync Server URL api to broadcast the same virtual clock to the test environment. Sync Server URL api enables any test scripts or test programs to time travel the test environment (different systems for application server, database server; etc) with one URL call to the Sync Server to broadcast a virtual clock to the predefined sync group that covers the target systems. No changing system clocks or application & database shutdown & restart is required per time shift. The test script can time travel to multiple virtual clocks to cover the entire test cycle within the run without any manual steps.

ADDITIONAL TEST AUTOMATION CHALLENGES IN THE CLOUD

Performing CI and Agile in the Cloud also brings additional challenges. With the Cloud, it is common to spin down the systems when not in use and spin them up just for the test cycle to save costs (pay as you go). Depending on the frequency of source code check-in, multiple sets of the test environments can be dynamically created and terminated on-the-fly. In such usage case, the system ipaddr and mac addr can change each time and is not known before the system is up. Because of that nature, some software may require a new license key. Agile/DevOp team should be alarming, in that event, a manual process is required and that will kill the automation. Time Machine addresses this challenge with our Floating License Server. The Floating License Server can check out a license when Time Machine service starts and automatically release the license once it stops. This automates the license and asset management, so no license keys are ever needed. This also allows the pool of licenses to float to any system across OS platforms from Linux and AIX, to Windows. If a system comes up for 20 minutes, then it will use the license for 20 minutes and release the license back to the pool for other systems to utilize automatically.

In addition to floating licenses, Sync Server also provides URL API to enable test script to update sync group definition on-the-fly with the newly created systems. This means the test automation script can be done without knowing the system identity beforehand in this dynamic scenario.

As a result, we demonstrate the Agile CI cycle could be 100% automated in the Cloud.  A source code submittal trigger new release to be built, a brand-new test environment is provisioned, with the new release loaded, a regression test suite is run with multiple time travel trigger points to test various test cases, send out the test report, decommission the test environment.  Interesting readers could request a demo of CI automation in the Cloud.

IN CONCLUSION

Time Machine, Sync Server, and Floating License Server have been proven as the most effective and streamlined test automation software to date. The key to the success of any Agile project is test automation and Time Machine is the key to enabling 100% test automation to complete the CI cycle both on-premise or in the Cloud.