Blogginlägg -

Ständigt lärande inom AddQ

paper & computer studyingSom en del i vår strategi att leverera affärsnytta till våra kunder driver AddQ ett antal utvecklingsforum inom bolaget. Utöver att effekten av dem innebär en vinst för våra kunder bedrivs de också utifrån ett av våra ledord inom vår värdegrund – Ständigt lärande. Andra aspekter för dessa aktiviteter handlar om engagemang hos medarbetarna, spridning av kompetens inom företaget samt inte minst ett trevligt tillfälle att träffas! Merparten av oss sitter ju trots allt ute hos kunderna och man behöver ibland träffas för att umgås under mer avslappnade former.

Förra veckan träffades vi inom Automationsforumet för att lära oss mer om ett verktyg som ingår i en kategori av testverktyg som baseras på bildigenkänning. Det finns ett antal leverantörer inom denna kategori: Sikuli, EggPlant, T-Plan Robot, Ranorex, etc.

JAutomate-pictureVi tittade närmare på ett verktyg från en svensk aktör – Jautomate; med representant från verktygsutvecklaren, Swiftling/JAutomate, samt deras supportrepresentant i Stockholm, Nohau. De gav oss en presentation av verktyget och beskrev dess styrkor och i viss mån svagheter samt gav exempel på framtagna skript. Verktyget är skrivet i Java och kan köras på alla miljöer som stödjer Java från Oracle.

Typtillämpningen för verktyget är automation av verksamhetsnära GUI-funktionalitet. Vad innebär detta? Jo, att allt som är synligt för användaren på skärmen kan automatiseras via JAutomate. Allt som är synligt tänker du kanske… Jag har ju ett kommandofönster, en web-applikation och en Telnet-klient öppen; kan jag manipulera och verifiera alla dem samtidigt via ett verktyg?! Yepp - det är precis vad du kan göra! OK, men då måste jag vara Javaprogrammerare? Nix! Du kan ta fram enklare skript genom att förstå begrepp som: Click, Verify, Drag/Drop, Type, Wait, While, …
När du tex. vill använda dig av kommandot Click efterfrågar verktyget vad som skall klickas. Du anger då med musen detta, precis som användaren skulle göra. Resultatet blir att skripten inkluderar bilder, så de blir extremt lättförståliga.

Vad tror du tex. följande skript gör?

Skrip_3

Just det!

  • Startar upp browsern och går till ”www.addq.se”
  • Väntar på att AddQ-loggan skall bli synlig (dvs. väntar på att sidan laddat klart)
  • Hovrar över ”Om AddQ”-menyvalet (för att drop-downmenyn skall bli synlig)
  • Klickar på ”Värdegrund” i drop-downmenyn
  • Väntar på att Värdegrund -sidan skall ladda klart
  • Verifierar att ett av våra ledord står för ”Ständigt lärande"

Testrapporten från körningen ser ut så här:

rapport

Man ges också möjligheten att via URL titta på skärmdumpen från verifieringssteget.

Hur ser det då ut om skriptet fallerar?
Manipuleras verifieringssteget till att bli: vardegrund-002

och testet körs om så fås följande resultat (nedkortat till verifieringssteget):

Failed step in report

Tittar jag på länken till skärmdumpen för det fallerade steget ser jag att bilden ser ut så här:

Saved screen dump

Ganska intuitivt enl. min mening!

Skripten kan förstås göras betydligt mer komplicerade med tex. If/Then-, While-satser, anrop av andra JAutomate-skript, anrop av externa Java-funktioner, datadrivna anrop etc. Man kan tex. göra generiska skript som via indata anropar olika bildbibliotek för att tex. testa olika språkvarianter av samma applikation – kanske verifiera att avtalsvillkor presenteras korrekt beroende på marknad.

Som nämndes ovan så lämpar sig inte verktyget till all sorts verifiering; bla. så är det inte så lämpligt att verifiera loggar som skulle behöva skrollas igenom (även om verktyget stödjer denna funktion), då det kan göras betydligt mer effektivt på andra sätt. Det har leverantören hanterat genom att erbjuda möjligheten att anropa externa Java-funktioner; och via detta gränssnitt öppnar sig oändliga möjligheter för vidare datamanipulation.

jenkinsLogo1

En användningsbar funktion är också att man kan trigga skripten från Continuous Integration (CI) servers (tex. Jenkins) och presentera testresultaten i dess miljö. Du har därmed möjlighet att genomföra händelsestyrda (tex. vid incheckning i kodversionssytem) eller schemalagda körningar i regressionssyfte.

Automationsforumet avslutades med att vi labbade med verktyget med stöd från verktygsrepresentanterna. Det hördes ett och annat ”Coolt!”, ”Det här skulle kunna underlätta på mitt uppdrag!”, ”Man kan använda detta ur ett användarvänlighetsperspektiv”, etc. från de närvarande kollegorna. Det kändes efter sammankomsten att vi förutom haft kul också hade lärt oss en hel del!

Arrangör för forumet/vid tangentbordet:
Fredrik Lind
QA Specialist
AddQ Consulting

Relaterade länkar

Ämnen

  • Data, Telekom, IT

Kategorier

  • addq
  • jautomate
  • ai
  • olle alvemark
  • fredrik lind
  • test
  • testautomatisering
  • johan sandström
  • gui
  • gränssnitt
  • ständigt lärande
  • engagemang
  • långsiktighet
  • kvalitet

Regioner

  • Stockholm

Kontakter

Kennet Osbjer

Presskontakt VD +46 8 501 108 90