Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX und automatisierte Tests

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX und automatisierte Tests

    Hoi ihr.

    Gibt es für KNX eine Möglichlichkeit automatisierte Tests zu erstellen (mit z.B. JUnit, TestNG, o.ä.)? Idealerweise ohne Homeserver o.ä.
    Manuelle Tests mit Gruppenmonitor finde ich einfach zu mühsam und zeitintensiv.

    Ich habe zwei Projekte gefunden, die mehr oder weniger ergänzen: https://sourceforge.net/p/calimero/wiki/Home/ und https://github.com/jpinho/soaba . Damit könnte ich mir vorstellen automatisierte Tests zu schreiben. Als Programmierer bin ich mehr oder weniger gewohnt automatisierte Tests zu schreiben und ich würde dies gerne an meine KNX-Installation anwenden. Mein Ziel ist, dass ich nach eine/mehrere Änderung/en keine umfassende und manuelle Tests machen muss.

    Bevor ich damit anfange möchte ich gerne wissen ob jemand Erfahrungen damit gemacht hat?! Tipps&Tricks? Alternativen? Beispiele?



    Danke und LG,
    Christoph

    #2
    Hallo Christoph,

    es gibt dazu bei der KNX ein spezialisiertes Tool "EITT", das aber richtig was kostet und auch mehr für Gerätehersteller und Prüflabors gedacht ist.

    Wir benutzen bei uns gerne den Falcon der KNX (bzw. eigene Bibliotheken auf Basis des Falcon) zusammen mit NUnit.

    Ich frage mich aber, was du genau prüfen willst. "Unit-Test-artige" Tests funktionieren ganz gut mit einzelnen Geräten. Wobei auch da die Frage ist, wie man die externen Faktoren (ist das Licht jetzt tatsächlich an oder aus?) berücksichtigt. Dazu müsste man weitere vom Code ansprechbare Messgeräte in den Testaufbau integrieren. Das ist viel Aufwand und daher ist mMn bestenfalls ein halbautomatischer Test sinnvoll.

    Bei einem kompletten KNX-System sind nur einige Teilaspekte solchen Tests überhaupt zugänglich. Wie willst du z.B. prüfen, ob beim Ausbleiben des "Kein-Windalarm"-Signals der Wetterstation die Jalousien hochfahren?

    Gruß, Klaus

    Kommentar


      #3
      Hallo Klaus.

      Vielen Dank. Ehrlich gesagt, habe ich mir noch nicht viele Gedanken darüber gemacht, da ich ja zuerst wissen wollte ob das überhaupt realisierbar bzw. sinnvoll ist. Ich habe im Moment noch keine KNX-Installation (wird demnächst gemacht).

      Als Tests könnte ich mir vorstellen wie z.B.
      * sende Wert A zu Gruppenadresse "A/B/C" und prüfe ob die Aktoren korrekt ausgeführt hat (Wert ist bei A) bzw. das Zusammenspiel funktioniert. Wert anderer Kanäle/Aktoren blieben dabei unverändert.
      * Löse Windalarm aus und schaue ob Jalousien sich korrekt verhalten (wie verhält sich bei Sperre/Keine Sperre)

      Mit Messgeräte etc. tue ich mir nicht an, ich dachte eher an simple Überprüfungen ob die Aktoren richtig reagiert haben bzw. Sensoren richtig gesendet haben.

      Danke für den Tipp mit Falcon - schaue ich mir mal an!

      Meiner Erfahrung nach schreibt man die Tests besser sofort (bzw. gar vorher) bevor die reale Implementation umgesetzt wird. Gerne würde ich wissen ob dieses Prinzip bei KNX auch anwendbar ist.


      LG,
      Christoph




      Kommentar


        #4
        Hallo Christoph,

        so sehr ich mit deine Idee sympathisiere, halte ich das doch für recht praxisfern.
        Ich nehme mal dein erstes Beispiel:

        Zitat von pitschr Beitrag anzeigen
        sende Wert A zu Gruppenadresse "A/B/C"
        OK, das ist kein Problem.

        Zitat von pitschr Beitrag anzeigen
        prüfe ob die Aktoren korrekt ausgeführt hat
        Wie?
        - Messgerät dran? zu aufwändig
        - Rückmeldeobjekt auslesen? Ja, gut, das ist schon mal was. Aber ob das jetzt dann wirklich auch der richtige Stromkreis war?
        - Manuelle Kontrolle

        Zitat von pitschr Beitrag anzeigen
        bzw. das Zusammenspiel funktioniert.
        Wenn da eine Logik mit rein spielt, ist das natürlich was anderes. Da ergibt ein automatisierter Test schon Sinn.

        Zitat von pitschr Beitrag anzeigen
        Wert anderer Kanäle/Aktoren blieben dabei unverändert.
        Auch hier kann man höchstens die Rückmeldungen anschauen oder auch wieder eine manuelle Kontrolle.

        Wenn man eh nur eine Halbautomatik hinkriegt, ist man mit einer ordentlichen Funktionsliste zum Abhaken wahrscheinlich schneller...

        Gruß, Klaus

        Kommentar


          #5
          Hallo Klaus.

          Danke, du hast mich überzeugt. In dem Fall lasse ich das mit automatisierte Tests doch sein und investiere meine Zeit lieber in eine ordentliche Funktionsliste zum Abhaken.


          LG,
          Christoph

          Kommentar


            #6
            zumal über den Erfolg der Tests eh kein Tool, sondern deine Frau entscheidet ;-)

            Kommentar


              #7
              zumindest bei mir entscheidet das noch keine frau! der WAF ist nur etwas für jungs mit testosteronmangel...
              gemäss forenregeln soll man bitte und danke sagen! also: bitte und danke!

              Kommentar


                #8

                Kommentar


                  #9
                  Technisch wäre vermutlich Calimero (Java-Interface) die einfachere Wahl. Falcon ist zwar mächtig, aber Windows-only, mit einer m.E. etwas gewöhnungsbedürftigen API und einer miserablen Dokumentation. Im Grund kann man nur die Beispielprogramme nehmen und so lange umstricken, bis das Gewünschte herauskommt.

                  Max

                  Kommentar

                  Lädt...
                  X