Tidsresor inom mjukvarutest

time 2Som testare behöver man kunna genomföra tidsresor

Redan som barn var jag fascinerad av filmen Time Machine (1960) efter en bok med samma namn av H.G. Wells. Tänk om man kunde göra en tidsresa. Nu har jag valt att bli mjukvarutestare och behöver helst ha möjligheten att göra tidsresor och genomföra tidsresetester. Utan sådana tester kommer vi eventuellt att få oönskade överraskningar i produktion någon gång i framtiden. Vi vet helt enkelt inte vad som kommer att hända eftersom om vi inte har testat det. Möjligheten till tidsresor finns i datorvärlden sedan länge genom att man enkelt ändrar systemklockan, och det tackar vi testare för, måste vi dock kunna testa hur vår mjukvara under test förhåller sig i framtiden, t.ex. vid nästa månads- eller årsskifte.

Den hemgjorda lösningen

Ändrar man systemklockan på en dator eller server så blir dock samtliga program som finns på enheten drabbade, dvs. licensen kan t.ex. gå ut på dem och AD:t (Active Directory) fungerar inte som det ska, eftersom det inte tycker om ändringar av systemklockan. Det går att komma runt det problemet genom att man installerar ett eget AD för särskilda tidsresedatorer och servrar, och bara installerar de programmen som behövs för respektive test på datorer och servrar endast avsedda för tidsresor. Denna lösning att göra det själv är dock ganska så kostsam.

Verktyget Time Machine

Det finns ett verktyg, för års-, kvartals- och månadstester i framtiden, som jag har analyserat och det heter Time Machine och är från företaget Solution-Soft. Time Machine används av tusentals företag i hela världen, däribland 47 av Fortune 100 företagen, bl.a. av Nordea, Aflac, NationWide, Commerzbank och Wells Fargo.

Verktyget har följande fördelar:

  • Virtuell klocka, som inte påverkar eller ändrar systemklockan, används och är användarstyrd, dvs. vid inloggning anger man en virtuell tid och ett virtuellt datum om man vill, på användar- och användargruppnivå. Alla andra användare påverkas inte av den virtuella klockan.
  • Den virtuella klockan kan sättas tillbaka eller framåt i tiden, den kan frysas, eller den kan ställas in så att den går lika snabbt, snabbare eller långsammare än systemklockan.
  • Man får inget krångel med AD:t, eftersom systemklockan som inte gör en tidsresa används mot AD:t., och man kan därmed underhålla sina nätverkssäkerhetstickets för AD:t när man reser i tiden
    • Utan verktyget behöver man installera ett eget AD för de datorerna där man ändrar systemklockan.
  • Program kan exkluderas från att läsa den virtuella klockan så att inte licenser av program som inte ska göra en tidsresa löper ut, dvs. dessa fortsätter läsa systemklockan, och så gör även systemkomponenter.
    • Utan verktyget behöver man installera särskilda datorer och servrar där man kan ändra systemklockan.
  • Time Machine använder befintliga datums- och tidsvärden från systemklockan för timestamps i filer, system loggning, etc. by default.
  • Virtuella Klockor ses omedelbart av program. Man behöver inte stänga, starta, eller ladda applikationer, databaser, servrar etc.

Man kommer inte ifrån att skapa en till egen testmiljö med egna testdata för tidsresor så klart, däremot behöver man inte installera särskilda datorer och servrar för tidsresan och inget eget AD, så som man behövde för den hemmagjorda lösningen, utan man kan testa tidsresor från vilken befintlig dator som helst.

Man kan beställa och installera en demoversion för ett Proof of Concept (POC) hos Solution-Soft. Jag hade bra kontakt med två personer i USA och pratade flitigt med dem. De är mycket behjälpliga om ni har frågor.

Läs mer om verktyget på http://www.solution-soft.com/timemachine.shtml

About Günter

Günter Lenhardt Wasa Kredit AB Testspecialist med huvudintressen testautomatisering, acceptanstest, utveckling av testprocesser och teststrategier, samt testprocessförbättring. Jobbar med test sedan år 2000 och har en bakgrund som utvecklare. Började redan 1980 att arbeta med IT och softwareutveckling. Bransch huvudsakligen Financial Services.