Die Geschichte, wie Ihnen QA Engineer mithilfe von Test IT mithilfe des Bot Frameworks das Leben erleichtert hat

Es ist kein Geheimnis, dass sich gute Software nicht in der Funktionalität, sondern in der Qualität der deklarierten Funktionen vom Rest unterscheidet. Schließlich braucht niemand eine funktionsreiche Software, wenn sie einfach nicht funktioniert. Aber wie schaffen Sie es, den Entwicklern rechtzeitig mitzuteilen, dass etwas mit dem Projekt nicht stimmt?

Heute werden wir ein wenig über die Probleme der Kommunikation zwischen Abteilungen innerhalb des Unternehmens sprechen und gleichzeitig am Beispiel der Test-IT untersuchen, was uns geholfen hat, Zen zu verstehen: unparteiisch, mit einem Herz aus Stein und einer Seele aus einem Algorithmus - einem Bot auf dem Bot-Framework. Willkommen bei Katze!





Man hat lange geglaubt, dass im Krieg das Hauptwerkzeug die Kommunikation ist. Ohne Kommunikation ist es unmöglich, Ihre Truppen zu koordinieren, Nachrichten von den Feldern zu erfahren, Unterstützung zu leisten und die Aktionen des Feindes zu verfolgen. Und was ist Entwicklung, wenn nicht ein lokaler Krieg mehrerer Abteilungen um ein Produkt?

Und wenn sie in der Antike einen Boten, einen Boten und später ein Telefon benutzten, um Nachrichten zu verbreiten, dann wäre es ab der Schwelle von 2020 seltsam, solche Technologien zu verwenden, insbesondere wenn Ihre Armee, die an einem Produkt arbeitet, weit über die Grenzen eines Büros hinaus verteilt werden kann. Hier ist unser QS-Ingenieur und hat eine ähnliche Frage gestellt.

Natürlich können Sie Details zu dem fehlgeschlagenen Test in einem Live-Chat schreiben. Dies erfordert jedoch Zeit, die Sie nicht für dieselbe Art von Benachrichtigungen verwenden möchten. Sie können dem Test-IT- Portal einen Befehl hinzufügen und sie zwingen, den Status von Autotests zu überprüfen. Und dies wird das Problem auch teilweise lösen, aber die Notwendigkeit, ständig auf dem Portal zu sein, wird das Entwicklungsteam stark ablenken. Wir brauchen etwas Einfacheres, ohne Zeit damit zu verschwenden, noch einmal Benachrichtigungen zu verschicken.

Nach dieser Logik kamen wir zu Webhooks. Sie automatisieren das Senden von Benachrichtigungen und wichtigen Protokollen vom System an jedes mit dem Internet verbundene Bügeleisen.
Also haben wir den Kommunikationskanal aussortiert. Es ist Zeit zu überlegen, wohin Webhooks ihre Benachrichtigungen senden sollen. Idealerweise sollte dies eine Plattform sein, die mehrere Sofortnachrichten und E-Mails für Liebhaber der Klassiker kombiniert. Und, wie Sie aus dem Titel des Artikels ersehen können, fiel die Plattform auf das Bot-Framework.

Diese Kombination erfüllt die Anforderungen für dringende Benachrichtigungen vollständig und erweitert die Funktionen des Bots, ohne die Testfälle und die Plattform zu beeinträchtigen. Und der Bot selbst wird unser Entwicklungsassistent, der unermüdlich einen funktionierenden Chat liest und uns über alle Ereignisse informiert, die für TMS Test IT von Interesse sind.

In dem heutigen Artikel werden wir ein Beispiel für die Verwendung des Bot in Telegram betrachten, um Benachrichtigungen von der Test-IT-Plattform an Entwicklungs- und Testteams zu senden.

Erstellen Sie ein Projekt und einen Bot


Gehen Sie zum Portal und erstellen Sie ein neues Projekt:

Bild

Das Projekt umfasst Testfälle, Autotests, Checklisten, Webhooks und vieles mehr.

Erstellen Sie als Nächstes einen Testplan. Lassen Sie es denselben unkomplizierten Namen wie den Namen des Projekts haben:

Bild

Außerdem können Sie neue Testfälle hinzufügen, aber wir werden direkt mit der Erstellung unseres intelligenten Assistenten fortfahren. Schließen Sie das Portal nicht, wir kehren zum Einrichten von Webhooks zurück.
Die Entwicklung wird auf dem .Net Framework (wo auch ohne) unter Verwendung von Azure durchgeführt. Eigentlich werden wir mit Azure beginnen.

Gehen Sie zum Portal und suchen Sie nach dem Web App Bot:

Bild

Klicken Sie auf "Erstellen", füllen Sie die erforderlichen Felder aus und erweitern Sie sie. Als Teil des Artikels werden wir zunächst die Echo Bot-Vorlage bereitstellen und in Zukunft darauf aufbauen
Wenn der Bot erfolgreich eingesetzt wurde, ist es Zeit, eine Verbindung zu seinen Kommunikationskanälen mit dem Bot herzustellen. Eine sehr große Liste von Messenger- und Kommunikationsoptionen wird dem Entwickler zur Verfügung gestellt, aber Telegramm ist für unsere Zwecke ausreichend.

Dazu schreiben Sie ein paar gute Befehle an den @ BotFather- Bot und erstellen einen neuen Bot. Glücklicherweise kommuniziert er sehr freundlich mit uns und hilft dabei, seine eigene Art zu erschaffen. Bot Father wurde bei Telegram erstellt, um andere Bots zu kontrollieren. Ja, kein Wunder, dass er der Vater von Bots ist!

Am Ende der Registrierung muss der Bot-Vater uns den eindeutigen Schlüssel unseres Kindes geben. Wir kopieren es gerne, danken dem Vater dieser seltsamen Familie und kehren zum Azure-Portal zurück.

Jetzt müssen wir den Quellcode des Bots herunterladen, damit wir direkt in unserer IDE damit arbeiten können:

Bild

Ab sofort können wir einen Emulator für das lokale Debuggen bekommen. Wenn Ihr Bot etwas mehr Logik als die Ausgabe von "Hallo Welt" hat, ist es besser, die Tools zum Debuggen und Testen Ihres neuen Teammitglieds zu verwenden.

Direkt auf dem Portal mussten wir nur unseren neuen Bot öffnen, zum Tab "Channels" gehen, einen Telegramm-Channel hinzufügen und ihm den Schlüssel geben, der freundlicherweise vom Vater der Bots hinterlassen wurde. Um zu verhindern, dass der Bot für längere Zeit nicht abstürzt, empfiehlt es sich, auf den Anwendungsdienst umzuschalten (der Name ähnelt dem Namen unseres Bots auf dem Portal) -> Konfiguration -> Allgemeine Parameter und in der Spalte "Always On" die Option "Enabled" zu wählen. Andernfalls kann Ihr Bot einschlafen und der Endbenutzer benötigt wertvolle Zeit, um ihn zu starten.

Bild

Da wir uns noch im Azure-Portal befinden, stellen wir für diesen Bot eine kleine Datenbank bereit. Nützlich zum Speichern einer Liste von Gruppenindizes und deren geheimen Schlüsseln. Weitere Informationen zur Datenbankbereitstellung finden Sie hier .

Wenn er beim Zugriff auf unseren Bot in Telegram unsere Nachricht zurückgibt, bedeutet dies, dass wir alles richtig gemacht haben und der Tab mit Azure auf bessere Zeiten verschoben werden kann. Jetzt können Sie an der Logik unseres Assistenten arbeiten.

Wir leiten die Gehirne von Bot



Bild

Für diejenigen, die Erfahrung mit ASP.NET Core haben, wird nichts Neues kommen. Der Rest hinterlässt eine kurze Anleitung, was als nächstes zu tun ist:

  • Lehren der Anwendung, mit dem Entity Framework zu arbeiten und die Datenbank zu binden. Der Bot muss in der Lage sein, ChatID-Kommunikationen, den Status des Ignorierens des Chats und den "secretKeyBot" eingehender Entitäten in der Datenbank zu speichern. Dies ermöglicht es, den Bot nicht nur im Rahmen dieses Projekts und des gesamten Unternehmens zu verwenden, sondern ihn auch frei zu Gruppen für alle hinzuzufügen.
  • Datenmodell und API-Controller hinzufügen. In unserer Anwendung muss es einen externen Einstiegspunkt geben, über den Sie auf den Bot zugreifen und den Anfragetext übertragen können. Das Datenmodell ist die Darstellung des Anforderungshauptteils, und der Controller muss mit einem externen Aufruf arbeiten.
  • Schreibe Rätsel und Serviceteams. Wenn bei kruds alles klar ist, ist der Befehlsservice unsere Geschäftslogik für die Verarbeitung von Chat-Nachrichten. Anfänglich wollten wir in der Lage sein, Benachrichtigungen vom Bot in einem bestimmten Chat zu übertönen. Eine der Möglichkeiten, dies zu tun, ist direkt mit dem Chat-Befehl, den der Bot nur für diesen Chat verarbeiten und speichern soll.
  • Testen Sie den Bot in einer lokalen Umgebung mit einem Emulator. Besonders erfahrene Jungs können den Bot direkt in Azure hochladen und sein Verhalten durch einen Chat in Telegram verfolgen. In diesem Fall gibt der Bot jedoch keine detaillierte Beschreibung der Fehler zurück. Ja, und Haltepunkte (ein beliebtes Debugging-Tool) können nicht platziert werden. Ein kleines Feature des Bot Frameworks ist übrigens, dass es wirklich keine detaillierte Beschreibung des Fehlers zurückgeben möchte. Also entwickeln wir uns sorgfältig und engagieren uns öfter!
  • In Azure veröffentlichen. Unter den Ordnern des Projekts finden Sie einen Ordner mit dem unkomplizierten Namen "PostDeployScripts". Es enthält eine wichtige Datei für uns mit der Erweiterung .PublishSettings. Die Daten zum Herstellen einer Verbindung zum Bot-Speicher in Azure sind vorhanden. Und für diejenigen, die Visual Studio verwenden, ist diese Datei der heilige Schlüssel zum Veröffentlichen des Projekts: Importieren Sie ihn beim Veröffentlichen, und die IDE ruft alle erforderlichen Daten ab.


Webhook hinzufügen


Eigentlich ist der Bot erstellt. Es ist Zeit, den Webhook vom TestIT-Portal zu entfernen. Wir freuen uns, dass wir den Tab im Browser nicht geschlossen haben und dorthin gehen:

Bild

Wir gehen in die Projekteinstellungen, den Reiter "Webhooks" und fügen einen neuen hinzu:

Bild

Versuchen wir nun, den Status des Testplans zu ändern und zu sehen, wie der Bot reagiert.

Bild

Tatsächlich haben wir hier ein kleines Beispiel für die Erstellung eines Assistenten-Bots gefunden. Unser Bot ist auf GitHub zu sehen .

Von nun an können Entwicklerteams und Testpersonen sicher an der Produktentwicklung teilnehmen, und unser neuer intelligenter Freund wird unermüdlich auf Neuigkeiten aus den Testfeldern warten und diese schnell austauschen.

Es ist wichtig zu verstehen, dass die Möglichkeiten des Bots nahezu unbegrenzt sind: Er kann alle Anfragen von außen verarbeiten. Auf diese Weise können Sie viele Dinge lernen: Filtern von Chat-Nachrichten, Teambuilding-Benachrichtigungen, Minispiele in Ihrer Freizeit. Wenn Sie versuchen, ein wenig Fantasie zu zeigen, können Sie ihm beibringen, Pizza zu bestellen, einen Arbeitskalender zu erstellen, Dokumente zu erkennen oder sogar Ihre eingehenden E-Mail-Nachrichten an Instant Messenger weiterzuleiten.

Source: https://habr.com/ru/post/de481654/


All Articles