Posted on

Hilfe gegen den IT-Fachkräftemangel: Testautomati­sierung

Automatisierung von Testprozessen in der Softwareentwicklung kann manuelles Testen teilweise ersetzen, sagt Andreas Grau von testup.io.

Ein Produkt vor der Markteinführung auf Herz und Nieren prüfen: Dieser Schritt gehört auch bei der Entwicklung von IT-Applikationen zum täglichen Prozess. Damit Endnutzer von Anfang an ein fehlerfreies Produkt bekommen, muss dieses fortlaufend getestet werden. Aufgrund des IT-Fachkräftemangels und dem damit verbundenen Mangel an Ressourcen, stellt das Testen aller Funktionen jedoch für viele deutsche Unternehmen eine Herausforderung dar. Dringend benötigte Digitalisierungsprojekte bleiben so vermehrt auf der Strecke und das Digitalisierungsmomentum der Corona-Pandemie stagniert weiter.

Intelligente Lösungen, die IT-Teams bei der Entwicklung von Applikationen unterstützen und mehr Freiraum für Weiterentwicklung und andere wertschöpfende Tätigkeiten schaffen, zeichnen sich also schnell als wirtschaftliche Notwendigkeit ab. Die Automatisierung von Testprozessen in der Softwareentwicklung kristallisiert sich als eine dieser möglichen Lösungen heraus. Gleichzeitig eröffnen sich für IT- und Projektverantwortliche sowie Product Owner mit der Umstellung auf automatisiertes Testen neue Chancen. 

Bitte lesen Sie den ganzen Artikel von Andreas in der Zeitschrift “Silicon – technology powering business”.

Posted on

Cheat Sheet

[Test Setting Page] [Keys] [Branch] [EVAL] [Jumps] [Loops] [max.Runtime] [Sub-Return] [Various Images]

Advanced Commands Test Setting Page

Quality2Threshold number (try between 30 and 40)
ExperimentalContinuationLimit number
isPersistent true
ScreenshottingMode device-screen”  (high resolution screenshot (‘experimental’ style))
browser-window” (old ‘non experimental’ style)

Keys

CTRL + → rotate clockwise
CTRL + ← rotate counter clockwise
CTRL + R refresh

Branch

a,b,c!d,e,f (a | b | c) & !d & !e & !f
(a | b | c) & !(d | e| f)
en,de,es en,es
Natalie: Action wird ausgeführt in Branches en und es.
Jenny: Action wird ausgeführt wenn der Branch en ist, oder es ist.
Frage: Soll diese Action im aktuellen Branch ausgeführt werden?
Antwort: Wenn branch en oder es ist
Code: ($BRANCH==”en”) || ($BRANCH == “es”)

EVAL Statements

Annotation

&
&&
and (stops after the first argument is true)
and (checks both arguments)
|| or

Sendkeys

EVALsendkeys("any text",100)

Parse German Number Format

EVALstr_replace(",", ".", str_replace(".","", $CLIPBOARD))

Checks with Custom Error Messages

FINDimage
EVAL$FLAG || error('specific failure description')

Jumps

Normal Jump

JUMP(T/F)any name

… some more actions …

TAG#any name

Jump based on clipboard value

JUMPscr($CLIPBOARD)

Loops

Simple Loop

TAG#any name

… some more actions …

JUMP (T/F)any name

Maximum Loop Passes
(Option 1 – longer but better readable)

TAG#start
EVALset("counter", get("counter")+1) < 10
JUMP (F)#out
FINDsomething
JUMP (T)#start
TAG#out

Maximum Loop Passes
(Option 2 - shorter with && operation)

TAG#start

... clicking or something ...

FINDsomething
EVALset("counter", get("counter")+1) < 3 && $FLAG
JUMP (T)#start

Limit the Time that a Loop Runs

EVALtime() - set("time", get("time") || time()) < 10 && ....

Maximum Runtime for Blocks

EVALset("time", time())
TAG#start

... some actions ...

EVALtime() - get("time") > 100 && error("More than 100 seconds passed. Stopping")
JUMP#start

Sub - Return

With JUMP sub:test you set the base of the following jump session
The command makes you jump to the TAG #sub:test
With the Jump #return:test you jump back to the place where you started (set the baseline)

JUMPsub:any name

... some more actions ...

TAG#sub:any name

... some more actions ...

JUMPreturn:any name

Combined Image Search

You have different images that show up randomly. That's how you can check if one of them is appearing.

FINDimage1
EVALset("result", $FLAG)
FINDimage2
EVALset("result, $FLAG || $result)
FINDimage3
EVALset("result, $FLAG && $result)