Utnyttja molnet för dina tester

Cloud computing är ett hypat uttryck som nämns överallt just nu, men bakom hypen finns det en del godbitar för oss testare. Det jag främst tänker på är naturligtvis möjligheten till billig, snabbt tillgänglig infrastruktur till testmiljöer, men även testverktyg som levereras som en tjänst via molnet. Vad är då Cloud Computing? Cloud Computing delas oftast in i 4 olika kategorier eller bättre beskrivet, 4 olika nivåer på de tillgängliga tjänsterna, Software as a Service (SaaS), Platform as a Service (PaaS), Storage as a Service och Infrastructure as a Service (IaaS).

CloudComputingSoftware as a Service (SaaS) är kompletta applikationer som erbjuds i form av en webbaserad tjänst till slutanvändare. Detta innebär att slutanvändaren inte köper några permanenta licenser eller installerar någon programvara. Användaren betalar istället för den tiden man avänder/är ansluten till tjänsten. Värt att notera är också att många SaaS tjänster är gratis. Exempel på SaaS tjänster är Google Docs, Project Place och Webmail.

Inom testverktygs världen så finns det bland annat ett lysande svenskt exempel på en SaaS tjänst, ReqTest från Konsultbolag 1. ReqTest som från början har utvecklas för att levererats som en tjänst (långt innan uttrycket SaaS, blev modernt) är ett verktyg för att administrera dina krav, testfall och felrapporter. Vid användning av ReqTest betalar du för antalet användare månadsvis, vilket gör att du på ett smidigt sätt får möjligheten att införa ett testadminstativt verktyg även i mindre organisationer/projekt. Om vi går utanför Sveriges gränser så är Zephyr ett prisvärt SaaS testadminastrativt verktyg som integrerar med Jira och Bugzilla.

Ett utmärkt webbaserat verktyg för pairwise testfalls generering hittar du på Testersdesk.com. Samma sajt har dessutom ett flertal tjänster för testfalls och testdata generering, men då börjar vi närma oss PaaS tjänster. 

pushtotest

Platform as a Service (PaaS) är komponenter och delsystem som levereras som tjänster till andra system och applikationer. Exempel på PaaS är varukorgs funktionalitet till webshopar, kreditkorts betalnings lösningar, bildmanipulatorer m.m.

Det finns självfallet en lång rad olika testtjänster i Plattforms lagret, allt i från lastgeneratorer via testdata generatorer till automatiserad cross browser testning. Pusch to Test erbjuder till exempel sina kunder att använda sig av online lastgeneratorer vid tillfälliga behov av höga laster. Det fina med detta (åtminstone i teorin) är att du sömlöst med samma verktyg och skript kan testa antingen inhouse i ditt labb eller online i molnet, eller en kombination av bådadera. Att placera lastgenratorer i molnet löser ju också eventuella problem med begränsad bandbred ut från labbet om vi skall testa våra egna online tjänster hostade i molnet.

sauceEn annan nyttig tjänst som låter dig återanvända dina inhouse testskript är Sauce Labs cross browser testing. Sauce Labs använder sig av automatiseringsverktyget Selenium för att testa dina webapplikationer med olika browers på olika plattformar. Man laddar helt enkelt upp ett vanligt Selenium skript som Sauce labs sedan kör mot önskad adress i ett önskat antal browsers. Tillsvidare är tjänsten dessutom grattis.

 

Storage as a Service är samlings namnet för tjänster som erbjuder online baserad lagring i olika former. Ett exempel på en sådan tjänst är Amazons S3 som erbjuder lagring av filer, dessa filer är sedan tillgängliga online. När man nyttjar S3 betalar man för mängden lagrat data, antalet uppläsningar av datat och genererad datatrafik.

Infrastructure as a Service (IaaS) är precis som det låter infrastruktur som levereras som en tjänst. Ett exempel på sådan infrastruktur är virtuella servrar sovirutuellam en lång rad leverantörer erbjuder dig att hyra mot en varierande prislapp. Just denna möjlighet att är kanske det inom cloud computing som verkligen kan revolutionera hur och hur mycket vi testar, detta då man nu kan sätta upp nya testmiljöer på till en väldigt låg kostnad och på mycket kort tid.

En av de leverantörer som erbjuder virtuella sevrar är Amazon med sin tjänst Elastic Cloud Computing (EC2). Man kan i EC2 hyra en server med önskad kapacitet och valfritt operativ (nästan) per timme. Exempel vis kostar det 0.10$ per timme att hyra en Linux server och det tar ca 5 minuter att få tillgång till den efter du beställt den. Funder nu på vad det kan inbära för möjligheten till flera testmiljöer, sevrar att köra testverktyg på eller bara något så enkel som att få möjlighet att prova att installera och labba runt med nya testverktyg utan att behöva blanda in någon hårdvarutekniker, begära budget eller riskera att förstöra existerande infrastruktur.ami_elastifox

När du beställer en virtuell server av Amazon så får du välja en AMI (Amazon Machine Image) vilket motsvarar krundkonfigurationen av “din” server. När du sedan konfigurerat och installerat din server som du vill ha den kan du spara egna AMIer som du sedan kan använda för att starta nya servrar utan att konfigurera dem. Om du har sparat din AMI så finns det alltså ingen anledning att hyra din server när den inte kommer att användas för en period, det är ju bara att beställa en ny server och konfigurera med din sparade AMI.

Det här med möjligheten att spara AMIer öppnar ju också möjligheter för att snabbt återställa din testmiljö. Det finns inget hinder för att ha en lång rad AMIer sparade för att snabbt sätta upp olika testkonfigurationer med olika status och testdata

Jag kommer under en snar framtid här på Testzonen.se publicera en steg för steg guide hur du beställer och loggar in på din första Amazon EC2 server. Det finns även mera information om hur du testar i molnet på www.prolore.se .

About Jonas

Jonas Hermansson VD, Krav och testnörd på Inceptive Stockholm Grundare av TestZonen.se. Tidigare medlem i Styrelsen SAST. Medlem i Styrelsen DSDM konsortiet. Jonas började arbeta med kvalitetssäkring och test 1994 och är specialiserad på testorganisation, testprocess och testverktyg. Han har bland annat arbetat som testledare, testchef, testautomatiserare, lärare och mentor samt med krav och verktygsupphandling.