IP-Symcon 4.3 Features - Teil 2: Automatisiertes Testen

Hallo Community,

es hat jetzt doch länger als versprochen seit meinem letzten Feature-Beitrag gedauert, aber besser spät als nie. Heute wollte ich ein bisschen mehr auf die technischen Aspekte von IP-Symcon eingehen, die ihr als Kunden normalerweise gar nicht zu Gesicht bekommt.

So nutzen wir mittlerweile für diverse Teile von IP-Symcon automatisierte Tests. Beispielsweise für die neuen Graphen wurde eine Menge von diversen Tests definiert:

So sieht das dann bei uns aus. Interessant sind vor allem die Tests auf der linken Seite und deren Implementation in der Mitte.

Aber was bedeutet das ganze jetzt? Während der Implementierung der Graphen wurden immer wieder neue Testfälle generiert. Ein Testfall besteht auf der einen Seite aus den gesamten Parametern, welche der Graphen-Renderer erhält und auf der anderern Seite aus dem gewünschten Ergebnis. Wird die Testreihe gestartet, so wird für die Parameter jedes Testfalls überprüft, ob das gewünschte Ergebnis produziert wird. Ist dies der Fall, dann ist der Test erfolgreich, ansonsten informieren tiefrote Symbole darüber, dass wohl etwas ausgebessert werden muss. So kann man sehr schnell überprüfen, ob eine Änderung am Code mehr als die gewünschten Änderungen am Verhalten verursacht.

Außerdem ist die Testmenge in keinster Weise beschränkt und wird ständig erweitert. Wird uns beispielsweise hier im Forum ein Fehler gemeldet, dann wird dieser vorerst als Testfall reproduziert. Anfangs schlägt der dann fehl. Nachdem der Fehler aber korrigiert wurde, bleibt der neue Testfall in der Menge. So verhindern wir, dass wir durch Weiterentwicklungen nochmal in das gleiche Fettnäpfchen treten und werden direkt gewarnt, falls eine Modifikation einen alten Fehler wieder hervorrufen würde.

Wie am Anfang schon gesagt, bekommt ihr davon normalerweise nichts mit. Wie wirkt sich das also überhaupt auf euch aus? Nachdem einmal die initiale Arbeit für eine Testumgebung investiert wurde, können wir die entsprechenden Teile von IP-Symcon schneller und ausgiebiger testen. Das erhöht vor allem die Codequalität und hält die Anzahl von Fehlern gering. Selbst wenn nach einer Änderung an den Graphen diese umfangreich manuell getestet werden, so erreicht man nie den Umfang, den eine Prüfung durch die gesamte Menge an automatisierten Tests abdeckt.

Habt ihr Fragen zum Testen unserer Software oder Wünsche zu weiteren Beiträgen? Meldet euch einfach hier und ich gehe gerne im nächsten Beitrag auf eure Wünsche ein!

Bis zum nächsten Update
Niels

Hallo Niels,

keine Fragen, aber es ist mal interessant zu sehen, wie es bei euch so aussieht. :slight_smile:
Danke für den Einblick. :loveips:

Grüße,
Kai