Testautomatisierung
  • testing
  • testing
  • testing
  • testing


Test-Framework



Um die Qualität von Software zu verbessern und Fehler nicht erst beim Kunden zu finden hilft es den Code automatisiert zu testen.

Da die Erstellung und Auswertung solcher Tests wiederum fehleranfällig ist, hilft es einen gewissen Rahmen zu haben in dem man die entsprechenden Tests schreiben und später, möglichst automatisiert, ausführen kann.

Das Testframework bietet dir die Möglichkeit deine Programme und Funktionen einfach zu testen und das Ergebnis auszuwerten.
Für die laufende Qualitätssicherung von Quellcode ist es notwendig die einzelnen Programmteile regelmäßig zu testen und das Ergebnis zu kontrollieren.

Automatisierte Testsysteme nehmen den Entwicklern hier viel Arbeit ab, da diese parallel die geänderten Codeteile sofort prüfen können.

Es stellen sich aber immer wieder folgende Fragen

Wie gut ist mein Test?
Erreiche ich alle Codeteile?
Erreiche ich den geänderten Teil?

Die Bibliothek und die Erweiterung zur Erfassung der Testabdeckung liefern die Antworten auf diese Fragen.
SCCX

"Traue nur Tests, von denen du weisst, dass sie auch sicher das Testareal abdecken."


Clean Code Developer

  • Die einfach schnelle Lösung zur Ermittlung und grafischen Auswertung der Testabdeckung
    in IEC61131-3 Structured Text / ST / SCL



    Um in Erfahrung zu bringen welche Codebereiche nicht durch Tests abgedeckt sind kommt die Codecoverage Analyse zum Einsatz.


sccx

Nach Abschluss des Testlaufs kann das Ergebnis im Buildserver automatisch grafisch ausgewertet werden.



Überblick über die ausgeführten Testfälle

testlauf

JUnit tabellarische Auswertung

Tabellarische Übersicht aller Testfälle

erfolgreich ausgeführt
übersprungen
fehlerhaft
nicht vorhanden
Dauer

testlauf

JUnit zeitliche Auswertung

Zeitlicher Verlauf der ausgeführten Testfälle

erfolgreich ausgeführt
übersprungen
fehlerhaft
Dauer


Auswertung des Codeabdeckung

cobertura

Cobertura Auswertung markiert im Code

Ermittlung und Anzeige der Testabeckung
Dabei werden folgende Informationen ersichtlich:

Anweisung ausgeführt (grün)
Anweisung ausgelassen (rot)
Wie oft wurde die Anweisung ausgeführt
Berechnung der Abdeckung in %
      Bausteine
      Methoden
      Anweisungen


Vorteile



  • für die eigene Entwicklungsabteilung


    es ergibt sich sehr schnell ein Bild über die Testqualität.

    es ist sofort ersichtlich an welchen Stellen noch Lücken sind.


  • für Kunden bei der Validierung von Updates


    wurde der geänderte Teil durchlaufen?

    wurde der "alte" Code beeinflusst? (Regressionstest)



    Durch die Kombination aus Versionsverwaltung, Testfalldokumentation und dem Ergebnis aus dem Testlauf lassen sich vielfältige Informationen gewinnen und somit die Stabilität des Programms deutlich erhöhen.



testabdeckung



Features


  • open source -> DOWNLOADS

  • Einfache Konfiguration über XML Format

  • Applikationsgenerator

  • Starten eines automatischen Builds

  • Upload auf Zielsystem und Start

  • Dynamische und statische Testautomatisierung

    • Ausführen eines statischen Testprojekts
    • Ausführen eines generierten Testprojekts
  • Auswertung JUnit.xml

  • Analyse SccX-Structured Code Coverage eXtension

  • Auswertung Codecoverage Cobertura XML Format

  • Zeilen und Zweigabdeckung

  • Verfügbar für Beckhoff und Sigmatek






Roadmap


  • Umsetzung B&R Automation Studio

  • Umsetzung Bachmann PLC-Developer

  • Umsetzung Codesys V3



Durch die Kombination aus Versionsverwaltung, Testfalldokumentation und dem Ergebnis aus dem Testlauf lassen sich vielfältige Informationen gewinnen und somit die Stabilität des Programms deutlich erhöhen.

Testlabor

In unserem Testlabor können wir Kundenapplikationen im Auftrag testen.



lab
  • Für Unit- ,Komponenten, Performance oder Systemtests stehen diverse Steuerungssysteme (Bachmann, Beckhoff, Sigmatek) zur Verfügung.
    Tests können also innerhalb der jeweiligen Echtzeitumgebung ausgeführt werden.