Freigeben über


Testen und Debuggen eines Adapters

Das Debuggen von Laufzeitfehlern erfordert vielschichtige Lösungsmethoden. Daten aus mehreren Quellen müssen erfasst werden, um die Ursache von Problemen und Softwarefehlern zu ermitteln. Diese Quellen sind u. a. die Folgenden: Softwareablaufverfolgung, Leistungsindikatoren, Ereignisprotokolleinträge, WMI-Ereignisse sowie Quellcode.

Da Empfangs- und Sendeadapter im Adressraum des BizTalk-Diensts ausgeführt werden, muss der Debugger zum Debuggen eines Adapaters mit dem BtsNtSvc.exe-Prozess verbunden werden. Für das Debuggen von isolierten Empfangsadaptern, muss der Debugger allerdings mit dem Prozess verbunden werden, der den Adapter hostet.

Der Laufzeitcode des Adapters sollte mit Ablaufverfolgungscode instrumentiert werden, um Laufzeitdiagnosen für die Fehlerbehebung zu erfassen. Hierfür kann Microsoft Enterprise Instrumentation Framework (EIF) verwendet werden. Es ist hilfreich Ablaufverfolgungsanweisungen für verschiedene Schweregrade hinzuzufügen, z. B. separate Ablaufverfolgung für Fehlerbedingungen, separate Ablaufverfolgung für Fehler und Warnungen sowie separate Ablaufverfolgung für Fehler, Warnungen und Informationsanweisungen. Darüber hinaus verfügen komplexe Adapter möglicherweise über separate Subsysteme, die eine getrennte Ablaufverfolgung erforderlich machen. Wenn ein Adapter beispielsweise über die Subsysteme Netzwerk und Kern verfügt, kann das Aktivieren der Ablaufverfolgung für alle Subsysteme in bestimmten Szenarien zu einem extrem hohen Datenfluss führen.

Für das Erfassen von Laufzeitwerten und Laufzeitraten sollten Leistungsindikatoren hinzugefügt werden. Dies gibt Aufschluss über das Laufzeitverhalten des Adapters. Beispiel: Ein Adapter veröffentlicht möglicherweise Leistungsindikatoren in Bezug auf die reine Anzahl an Nachrichten pro Endpunkt sowie auf die Nachrichtenrate pro Sekunde.

WMI-Ereignisse sind ebenfalls bei Szenerien mit schwerwiegenden Fehlern hilfreich. Beispiel: Bei einem Adapter tritt ein schwerwiegender Fehler auf, der das Herunterfahren eines Empfangsspeicherorts zur Folge hat. Der Adapter löst ein WMI-Ereignis aus. Das WMI-Ereignis wird von einem Administrator überwacht und entsprechend behandelt.

Testen eines Adapters

Achten Sie beim Bereitstellen eines benutzerdefinierten Adapters für BizTalk Server darauf, dass dieser entsprechend den Ansprüchen an Unternehmenssoftware entwickelt wurde. Dies bedeutet, dass der Adapter gründlich getestet werden muss, bevor er zur Verfügung gestellt werden kann. Die Anforderungen an das Testen eines Adapters sind nicht vollständig festgelegt. Im folgenden Abschnitt wird ein Überblick über das Testen eines Adapters gegeben. Im Allgemeinen sollte das Testen von Laufzeitcode wie Adaptern drei allgemeine Kategorien abdecken: Funktionstests, Belastungstests und Leistungstests.

Funktionstests

Der Adapter sollte auf alle Funktionsmöglichkeiten gestestet werden. Dies umfasst positive und negative Tests. Positive Tests sollten u. a. die folgenden Szenarien beinhalten:

  • Empfangen einer(n) Nachricht(en)

  • Übertragen von Nachrichten

  • Übertragen einer Nachricht mit einem dynamischen Port

  • Deaktivieren von Empfangsspeicherorten

  • Aktualisieren der Konfiguration

  • Überprüfen der Funktionsfähigkeit von Dienstfenstern für Empfangs- und Sendeadapter

  • Sicherstellen der Transaktionsintegrität für transaktive Adapter

    Negative Tests sollten u. a. die folgenden Szenarien beinhalten:

  • Empfangen von ungültigen Nachrichten

  • Empfangen eines Nachrichtenbatches mit gültigen und ungültigen Nachrichten

  • Übertragungsfehler

  • Erfolgreiches Wiederholen

  • Fehler beim Wiederholen, Weiterleitung an nächsten Transport erfolgreich

  • Fehler bei der Weiterleitung an nächsten Transport, Nachricht angehalten

  • Übertragen eines gemischten Nachrichtenbatches

  • Datenbank-Failover

Belastungstests

Adapter sind Laufzeitkomponenten und unterliegen den strengen Anforderungen an Laufzeitsoftware. Bei Belastungstests werden in der Regel Szenarien unter Belastung für einen bestimmten Zeitraum durchgeführt. Außerdem sollten weitere Tests durchgeführt werden, um die durchschnittliche Zeitdauer zwischen dem Auftreten von Fehlern unter hoher und geringer Belastung zu ermitteln. Dazu sollte der Adapter für einen bestimmten Zeitraum unter Belastung ausgeführt werden.

Das Ausführen des Adapters über 72 Stunden unter hoher Belastung und mit einer Nachrichtenanzahl, bei der die CPU-Auslastung ungefähr 80 bis 90 Prozent beträgt, ist eine ungefähre Richtlinie für diese Tests. Bei geringer Belastung sollte die CPU-Auslastung 30 bis 40 Prozent in einem Zeitraum von 120 Stunden betragen.

Leistungstests

Beim Entwickeln eines Adapters sollte die Leistungsfähigkeit berücksichtigt werden. Vor der Freigabe eines Adapters sollte die Leistung überprüft werden. Dabei ist es wichtig, dass die Adapterleistung angepasst werden kann, d. h. eine Leistungssteigerung durch Hinzufügen von CPUs und Computern möglich ist. Das Profiling von Code kann bei der Beseitigung von Leistungsengpässen hilfreich sein.