Dynamo
Primer for v2.0
Deutsch
Deutsch
  • Info
  • Einführung
    • Was ist Dynamo und wie funktioniert die Anwendung?
    • Primer-Leitfaden, Dynamo-Community und -Plattform
  • Setup für Dynamo
  • Benutzeroberfläche
    • Arbeitsbereich
    • Bibliothek
  • Blöcke und Drähte
  • Wichtige Blöcke und Konzepte
    • Index der Blöcke
    • Geometrie für computergestützte Konstruktion
      • Geometrie - Überblick
      • Vektor, Ebene und Koordinatensystem
      • Punkte
      • Kurven
      • Oberflächen
      • Volumenkörper
      • Netze
    • Bausteine von Programmen
      • Daten
      • Math
      • Logik
      • Zeichenfolgen
      • Farbe
    • Entwerfen mit Listen
      • Was ist eine Liste?
      • Arbeiten mit Listen
      • Listen von Listen
      • n-dimensionale Listen
    • Wörterbücher in Dynamo
      • Was ist ein Wörterbuch?
      • Wörterbuch-Blöcke
      • Wörterbücher in Codeblöcken
      • Revit-Anwendungsfälle
  • Benutzerdefinierte Blöcke und Pakete
    • Benutzerdefinierte Blöcke
      • Benutzerdefinierte Blöcke - Einführung
      • Erstellen eines benutzerdefinierten Blocks
      • Publizieren in der Bibliothek
    • Pakete
      • Pakete - Einführung
      • Fallstudie zu Paketen: Mesh Toolkit
      • Entwickeln von Paketen
      • Publizieren von Paketen
      • Zerotouch-Import
  • Dynamo für Revit
    • Verbindung zu Revit
    • Auswählen
    • Bearbeiten
    • Erstellen
    • Anpassen
    • Dokumentation
  • Dynamo for Civil 3D
    • Die Civil 3D-Verbindung
    • Erste Schritte
    • Blockbibliothek
    • Beispielarbeitsabläufe
      • Straßen
        • Lichtmastenplatzierung
      • Land
        • Platzieren von Hausanschlüssen
      • Versorgung
        • Umbenennen von Schächten/Bauwerken
      • Schiene
        • Lichtraumprofil
      • Vermessung
        • Punktgruppenverwaltung
    • Fortgeschrittene Themen
      • Objektbindung
      • Python und Civil 3D
    • Dynamo Player
    • Nützliche Pakete
    • Ressourcen
  • Codierung in Dynamo
    • Codeblöcke und DesignScript
      • Was ist ein Codeblock?
      • DesignScript-Syntax
      • Kurzschreibweisen
      • Funktionen
    • Geometrie mit DesignScript
      • DesignScript-Geometriegrundlagen
      • Geometrische Grundkörper
      • Vektormathematik
      • Kurven: Interpolierte Punkte und Steuerpunkte
      • Verschiebung, Drehung und andere Transformationen
      • Oberflächen: Interpolation, Steuerpunkte, Erhebung, Drehung
      • Geometrische Parametrisierung
      • Schnittpunkt und Stutzen
      • Geometrische boolesche Operationen
      • Python-Punkt-Generatoren
    • Python
      • Python-Blöcke
      • Python und Revit
      • Einrichten einer eigenen Python-Vorlage
    • Änderungen der Sprache
  • Optimale Verfahren
    • Vorgehensweisen für Diagramme
    • Vorgehensweisen zur Skripterstellung
    • Referenz für die Skripterstellung
    • Verwalten Ihres Programms
    • Effizientes Arbeiten mit großen Datensätzen in Dynamo
  • Beispielarbeitsabläufe
    • Erste Schritte - Arbeitsabläufe
      • Parametrische Vase
      • Attraktorpunkte
    • Konzeptindex
  • Developer Primer
    • Erstellen von Dynamo aus Quelldateien
      • Erstellen von DynamoRevit aus Quelldateien
      • Verwalten und Aktualisieren von Abhängigkeiten in Dynamo
    • Entwickeln für Dynamo
      • Erste Schritte
      • Zero-Touch-Fallstudie - Rasterblock
      • Ausführen von Python-Skripts in Zero-Touch-Blöcken (C#)
      • Weitere Schritte mit Zero-Touch
      • Erweiterte Anpassung von Dynamo-Blöcken
      • Verwenden von COM-Typen (Interop-Typen) in Dynamo-Paketen
      • NodeModel-Fallstudie – Angepasste Benutzeroberfläche
      • Aktualisieren der Pakete und Dynamo-Bibliotheken für Dynamo 2.x
      • Aktualisieren der Pakete und Dynamo-Bibliotheken für Dynamo 3.x
      • Erweiterungen
      • Definieren einer benutzerdefinierten Paketorganisation für Dynamo 2.0+
      • Dynamo-Befehlszeilenschnittstelle
      • Dynamo-Integration
      • Entwickeln für Dynamo für Revit
      • Publizieren eines Pakets
      • Erstellen eines Pakets in Visual Studio
      • Erweiterungen als Pakete
    • Pull-Anforderungen
    • Erwartungen beim Testen
    • Beispiele
  • Anhang
    • Häufig gestellte Fragen
    • Visuelle Programmierung und Dynamo
    • Ressourcen
    • Versionshinweise
    • Nützliche Pakete
    • Beispieldateien
    • Host-Integrationskarte
    • Herunterladen der PDF-Datei
    • Dynamo-Tastaturkürzel
Powered by GitBook
On this page
  • Komponententests
  • Systemtests
Edit on GitHub
Export as PDF
  1. Developer Primer

Erwartungen beim Testen

Auf dieser Seite wird beschrieben, was wir beim Testen von neuem Code, der zu Dynamo hinzugefügt wird, erreichen möchten.

Also, ... Sie möchten einen neuen Block hinzufügen. Sehr gut. Es ist an der Zeit, einige Tests durchzuführen. Dafür gibt es zwei Gründe.

  1. Tests helfen herauszufinden, an welchen Stellen der Block nicht funktioniert.

  2. Wenn ein anderer Benutzer Änderungen vornimmt, wodurch Ihr Block beschädigt wird, sollte dies in Tests erkannt werden. Auf diese Weise muss die Person, die das Fehlschlagen des Tests verursacht hat, das Problem beheben. Wenn die Tests dabei nicht fehlschlagen, müssen Sie sich mit dem Problem und dem Benutzer auseinandersetzen, der für das Fehlschlagen eines Modells verantwortlich ist.

Es gibt zwei allgemeine Arten von Tests in Dynamo: Komponententests und Systemtests.

Komponententests

Mit Komponententests sollte so wenig wie möglich getestet werden. Wenn Sie einen Block erstellt haben, der Quadratwurzeln über einen C#-Zero-Touch-Block berechnet, sollte der Test nur diese DLL-Datei umfassen, und es sollten C#-Aufrufe direkt für diesen Code ausgeführt werden. Die Komponententests sollten nicht einmal Dynamo einschließen.

Sie sollten Folgendes enthalten:

  • Positive Tests (korrekte Ausführung)

  • Negative Tests (fehlerhafte Eingaben haben keine negativen Auswirkungen)

  • Regressionstests (wenn jemand einen Fehler in Ihrem Code findet, schreiben Sie einen Test, um sicherzustellen, dass dieser nicht erneut auftritt)

Sie sollten klein, schnell und zuverlässig sein. Der Großteil der Tests sollte Komponententests umfassen.

Systemtests

Systemtests werden für mehrere Komponenten durchgeführt, und es wird getestet, wie diese zusammenpassen. Sie sollten mit Bedacht verwendet und erstellt werden.

Was ist der Grund? Ihre Ausführung ist teuer. Wir müssen die Test-Suite mit so geringer Latenz wie möglich ausführen.

Im Idealfall gibt es eine progressive Reihe von Tests, die immer mehr Sätze der interagierenden Blöcke abdecken, sodass beim Fehlschlagen der Tests sehr schnell herausgefunden werden kann, wo das Problem liegt.

Beispiele für Elemente, für die Systemtests erforderlich sind:

  • Neuer Revit-Blocktyp, der mehrere Elemente in Trace speichert, anstatt ein einzelnes Element

  • Neuer Beobachtungsblock, der Daten unterschiedlich anzeigt

Beispiele für Elemente, für die keine Systemtests erforderlich sind:

  • Neuer mathematischer Block

  • Bibliothek für die Zeichenfolgenverarbeitung

Mit Systemtests sollte Folgendes sichergestellt werden:

  • Korrektes Verhalten

  • Nichtvorhandensein von pathologischen Verhaltensweisen, z. B. keine Ausnahmen

PreviousPull-AnforderungenNextBeispiele

Last updated 1 month ago

Wenn Sie einen Systemtest schreiben, sollten Sie sich zunächst Diagramm ansehen und herausfinden, welche Teilsysteme Sie abdecken.

dieses