The Pitfalls of Changing the System Clock, Software Virtual Clocks Have Come to the Rescue

SANTA CLARA, CA Tuesday, August 13, 2021 at 12:00 PM EDT


Many applications have date and time sensitive logic, such as month-end, quarter-end, year-end processing, billing cycles, change date regulations, deadlines, and expiration dates. To test them, applications and databases need to time travel to target dates to confirm if the logic of the application are performed correctly.


The traditional way is changing the system clocks on applications and database servers to the target date. This is a time consuming operation where testers may need to wait for hours or days per date change for administrators to shut down and restart databases and applications, then change the system clocks (as most testers don't have administrative privileges to do so). Since changing the system clock is a manual operation, it also breaks test automation whenever time travel needs to be performed.

The system clock affects all programs and users on the system and they time travel together to the same date. On a powerful system, like Exadata, hundreds of applications can be running at the same time. Changing the system clock means many other users/testers cannot perform their work and need to be idle if one application needs to time travel to a different date. Since there is only one system clock per system, no concurrent testing of different dates is possible. Testing different dates on different applications may mean multiple costly standalone environments need to be built.

Also, changing the system clock is not allowed in a secure environment, such as Active Directory or Kerberos. If the system clock is adjusted by even just five minutes away from the domain server's system clock, a security token cannot be generated and the authentication would fail. No testing is possible if users can't log in to the domain due to the changing of system clocks.

Lastly, SSL certificates have a valid date range built in and the authentication would fail if the systems checking the certificate are outside of the valid date range due to the changing of the system clock. The remedy is for the IT security team to re-generate those SSL certificates for the testing systems. This can be a frequent and tedious event to keep up with the testing schedule as an out-of-bound SSL certificate would invalidate the whole test run. Additionally, it is a challenge to generate the right SSL certificate if users need to time travel multiple years to the past or the future. Some enterprises also have extremely strict security policies where generating different SSL certificates other than the production systems SSL certificates are not allowed.


Software virtual clocks came to the rescue. Software virtual clock can target different groups, users, and processes with multiple virtual times. Software virtual clocks enable developers and testers to "self-serve" time travel by themselves instantaneously, without the need to wait for an infrastructure team to shut down/restart and change the system clocks. Databases and applications would see the virtual clock immediately and then shut down and restart as needed. This would make developers and testers much more productive and save them hours or days per time change. It also relieves the infrastructure team of working overtime hours and gives them more time to work on other tasks.

When incorporating software virtual clocks into a test script, 100% test automation can be accomplished. The regression test can run through thousands of test cases via multiple virtual clocks by itself without human intervention.

Software virtual clocks also enable parallel testing of different target dates on the same test environment. Different testers can test different virtual clocks against the same or different applications independently. Just like one physical server can serve multiple virtual servers, one test environment can become multiple test environments running different virtual clocks. Significant hardware and software costs can be saved and productivity can be boosted this way.

Software virtual clocks also thrive in secure environments, such as Active Directory and Kerberos. It allows Security Systems to continue to see the system time, so it can authenticate normally and successfully while allowing databases and applications to see the virtual time.

Similarly to let the Secure System see the system time, a software virtual clock can also let the SSL certificate library see the system time. As a result, databases and applications can time travel with a virtual clock; while SSL certificate checking would be successful.

Software virtual clocks also have a unique capability that is not possible with a system clock. Clock speed is one such unique capability because a virtual clock can also run faster or slower. It opens up special usage cases that were not possible before. For example, a five-physical day simulation or reliability test can be done it one virtual day with a virtual clock that is 5 times faster. On the other hand, testers can stay on the same virtual day for multiple physical days with a slower virtual clock.

We continue to enhance our Time Machine® suite of products. The SSL certificate exclusion is our latest enhancement, which our customers strongly requested.


About Time Machine

Time Machine saves ten-fold or more on resources and costs associated with temporal testing of applications. It enables you to finish your large scale software projects on time and under budget. Some other usage scenarios of Time Machine include Cloud migration, time zone adjustment, data aging, Big Data analysis and online training. Time Machine is the original date and time simulation software for Unix and Windows since 1997 and it is Cloud ready. Thousands of customers worldwide utilize Time Machine successfully across all industries on a daily basis; including 47 of the Fortune 100 companies.

About Solution-Soft

Solution-Soft is the leader in virtual clock, time shift testing software solutions for the ever changing digital world. Our flagship and market proven product, Time Machine, opened up brand new possibilities in the application testing landscape upon its release in 1997. Today, thousands of applications have been tested with Time Machine, and IT professionals recognize that using a virtual clock is the ideal and safest way to conduct date and time testing. As pioneer in our field, we've created the Time Machine Product Suite, a collection of cutting-edge testing software that augment Time Machine to further streamline enterprise cloud initiatives and IT simplification. The product suite offers a complete solution for end-to-end application testing, cloud migration, test automation, Agile/DevOPs, Continuous Operation, and Test Data Management. We proudly provide our 2000+ domestic and international customers, including 47 of Fortune 100 companies, our advanced solutions to optimize their testing and help deliver projects on-time. Solution-Soft's customers are across all market sectors including 3M, AMEX, Australia Tax Office, BBC, Boeing, British Gas, Covered California, Discover, Fed Ex, Federal Reserve Bank, French Telecom, National Australia Bank, and Zurich Insurance. We bolster our market presence through robust partnerships with companies including Accenture, Capgemini, Citrix, Delphix, DXC, FICO, HPE, IBM, Microsoft, Oracle, Red Hat and SAP.

Founded in 1993, Solution-Soft is privately held and based in Santa Clara, CA, for more information visit or call +1.408.346.1400.

© Copyright 1993-2021 Solution-Soft and Time Machine are registered trademarks of SolutionSoft Systems, Inc. All product names, logos, and brands are property of their respective owners.