Freigeben über


So testen und debuggen Sie einen Adapter

Das Debuggen von Laufzeitproblemen erfordert häufig einen multifaceten Ansatz. Daten müssen aus mehreren Quellen wie Softwareablaufverfolgung, Leistungsindikatoren, Ereignisprotokolleinträgen, WMI-Ereignissen (Windows Management Instrumentation) und Debuggen von Quellcode gesammelt werden, um die Ursache von Problemen oder Softwarefehlern zu ermitteln.

Da Empfangs- und Sendeadapter im Adressraum des BizTalk-Diensts ausgeführt werden, muss der Debugger an den BtsNtSvc.exe Prozess angefügt werden, um einen Adapter zu debuggen. Für isolierte Empfangsadapter muss der Debugger jedoch an den Prozess angefügt werden, der den Adapter hostet.

Der Laufzeitcode des Adapters sollte mit Tracing-Code versehen werden, um Diagnosedaten zur Fehlerbehebung zu erfassen. Dazu können Sie das Microsoft Enterprise Instrumentation Framework (EIF) verwenden. In der Regel ist es nützlich, Ablaufverfolgungsanweisungen für verschiedene Schweregrade hinzuzufügen, z. B. die Ablaufverfolgung nur für Fehlerbedingungen, die Ablaufverfolgung für Fehler und Warnungen und schließlich die Ablaufverfolgung für Fehler, Warnungen und Informationsanweisungen. Darüber hinaus können komplexere Adapter separate Subsysteme aufweisen, die isoliert voneinander nachverfolgt werden müssen. Beispielsweise kann ein Adapter über ein Netzwerkuntersystem und ein Kernsubsystem verfügen. Die Aktivierung der Ablaufverfolgung für alle Subsysteme kann in einigen Szenarien zu einem übermäßigen "Rauschen" führen.

Leistungsindikatoren sollten zur Laufzeit hinzugefügt werden, um Erfassungsraten und Werte zu erfassen und weitere Informationen über das Laufzeitverhalten des Adapters bereitzustellen. Beispielsweise kann ein Adapter Leistungsindikatoren für die unformatierten Anzahl von Nachrichten veröffentlichen, die pro Endpunkt gesendet werden, sowie die Rate der pro Sekunde gesendeten Nachrichten.

WMI-Ereignisse können auch für einige kritische Fehlerszenarien nützlich sein. Wenn beispielsweise ein Adapter auf einen kritischen Fehler trifft, der dazu führt, dass ein Empfangsbereich heruntergefahren wird, ermöglicht das Auslösen eines WMI-Ereignisses einem Administrator, dieses Ereignis zu überwachen und geeignete Maßnahmen zu ergreifen.

Adapter-Testen

Wenn Sie einen benutzerdefinierten Adapter für BizTalk Server entwickeln, denken Sie daran, dass er für die Qualität der Unternehmenssoftware entwickelt werden sollte. Dies bedeutet, dass Sie den Adapter vor dem Versand gründlich testen müssen. Obwohl es nicht vollständig detailliert erläutert, wie Adapter getestet werden sollen, gibt dieser Abschnitt eine Vorstellung davon, was getan werden muss. Im Allgemeinen sollten die Tests von Laufzeitcode wie Adaptern drei allgemeine Kategorien umfassen: Funktionstests, Stresstests und Leistungstests.

Funktionstests

Der Adapter sollte auf alle Permutationen seiner Funktionalität getestet werden, einschließlich positiver Tests und negativer Tests. Positive Tests sollten jedoch nicht auf die folgenden Szenarien beschränkt sein:

  • Empfangen einer Nachricht(n)

  • Übertragen einer Nachricht(n)

  • Übertragen einer Nachricht mithilfe eines dynamischen Ports

  • Deaktivieren von Empfangspunkten

  • Aktualisieren der Konfiguration

  • Stellen Sie sicher, dass Dienstfenster sowohl für Empfangs- als auch für Sendeadapter funktionieren

  • Sicherstellen der Transaktionsintegrität für transaktionsierte Adapter

    Negative Tests sollten enthalten, aber nicht auf Folgendes beschränkt sein:

  • Empfangen einer ungültigen Nachricht(n)

  • Empfangen Sie eine gemischte Nachrichtensammlung, einige gute und einige schlechte Nachrichten.

  • Übertragungsfehler

  • Erneuter Versuch erfolgreich

  • Erneuter Versuch fehlgeschlagen, Wechsel zum nächsten Transport erfolgreich

  • Wechsel zum nächsten Transportvorgang schlägt fehl, Nachricht aussetzen

  • Ein gemischtes Paket von Nachrichten übertragen

  • Datenbankfailover

Belastungstests

Adapter sind Laufzeitkomponenten und sollten daher die strengen Anforderungen für Laufzeitsoftware erfüllen. In der Regel werden Stresstests durchgeführt, indem Szenarien für einen bestimmten Zeitraum unter Auslastung ausgeführt werden. Weitere High-Stress- und Low-Stress-Tests zur Bestimmung der mittleren Zeit zwischen Ausfällen sollten durchgeführt werden, wobei der Adapter für einen gemessenen Zeitraum unter Last betrieben wird.

Einige grobe Richtlinien für diese Tests könnten darin bestehen, den Adapter unter hoher Belastung für etwa 72 Stunden zu betreiben, wobei die Anzahl der übertragenen Nachrichten über den Adapter eine CPU-Auslastung von etwa 80 bis 90 Prozent verursacht. Bei geringem Stress würde die CPU-Auslastung etwa 30 bis 40 Prozent für rund 120 Stunden betragen.

Leistungstests

Adapter sollten unter Berücksichtigung der Leistung entwickelt werden. Bevor Sie einen Adapter freigeben, sollten Sie die Leistung überprüfen. Es ist wichtig sicherzustellen, dass ihre Leistung skaliert und erweitert wird; das heißt, das Hinzufügen weiterer CPUs führt zu einer Leistungssteigerung, ebenso wie das Hinzufügen weiterer Computer. Das Profilieren des Codes kann dazu beitragen, Leistungsengpässe zu vermeiden.