Ich Bot und meine Ahle

Mein Name ist Dasha und ich bin seit 4 Jahren Prüfingenieur. Das bedeutet, dass die interessanten Aufgaben, die Sie mit der Aufregung des Junis auf der Suche nach neuen Lösungen angehen, immer weniger auftauchen. Die gleichen Projekte, Produktionen und Fälle! Nein, ich spiele nicht so! Testen ist immer eine Herausforderung, und der Wunsch, die Welt zum Besseren zu verändern, sollte nicht sterben. Und als ich auf dieses Problem stieß: Sie müssen einen einfachen Chat-Bot in Telegram testen.



Hintergrund: Es war für unseren Kunden unpraktisch, die Routinemaßnahmen wie vereinbart durchzuführen, da ihm zunächst ein Link zu den erforderlichen Berechnungen gesendet wurde und er jedes Mal die erforderlichen Indikatoren über den Browser zur Überprüfung öffnete, was die Betriebszeit verlängerte. Wir haben vorgeschlagen, die Logik auf den Chat-Bot zu übertragen, um die Entscheidungszeit zu verkürzen und den Mitarbeitern des Kunden das Leben zu erleichtern.

Zum Feiern habe ich mich entschlossen, mit aller Verantwortung an diese Angelegenheit heranzugehen, größtmöglichen Einfallsreichtum zu zeigen und einfach Spaß an der Arbeit zu haben.

Die Tests wurden mit der Black- und Grey-Box-Methode durchgeführt. Daher können Sie Ihre ganze Fantasie einsetzen, um benutzerdefinierte Skripte zu erstellen.

Anweisung: Ein Drittanbieter-Dienst sendet eine SOAP-Anforderung, die verarbeitet und in der Datenbank gespeichert werden muss. Anschließend wird ein Bild mit den Parametern in Tabellenform erstellt und zur Genehmigung an den Benutzer gesendet. Als Antwort erhält das System eine Bestätigung oder Ablehnung zusammen mit einem Kommentar zur Entscheidung.

Es gibt eine Beschreibung, gespitzte Stifte, vorbereitete Checklisten, gegessene Kekse. Ich bin bereit zu beginnen! Jede zweite neue Frage wurde geboren ...

Stop Stop Stop! Ruhe bewahren und mit dem Testen beginnen. Also, um:

1. In welcher Form soll das Datum angezeigt werden? Es gibt immer ein Problem mit dem Datum: Format, Zeitzone usw.
Von einem externen System konnten wir keine genauen Anforderungen abrufen. Daher haben wir uns entschlossen, das Datum in der Form anzuzeigen, in der es ursprünglich eingegangen war. Es ist sehr schwer vorherzusagen, in welchem ​​Format das Datum empfangen wird (selbst eine magische Kugel hätte dies nicht tun können).

2. Wie stark leidet die Bildqualität, wenn die Nachricht eine große Menge an Informationen enthält?
Die Qualität des Bildes hängt von der Menge der von außen empfangenen Informationen ab. Das Telegramm selbst verringert die Bildqualität. Wenn es eine große Menge an Informationen gibt, erhalten wir beim Senden mit einem Dokument die Tabelle in lesbarer Form, der Benutzer muss jedoch eine Drittanbieteranwendung verwenden, um die generierte PDF-Datei zu öffnen. Dies wird das Leben komplizieren und niemand mag Schwierigkeiten (aber jeder liebt Kekse!). Wenn Sie ein Bild senden, ist es nur dann lesbar, wenn ein wenig Daten empfangen wurden. Der Benutzer kann dann jedoch die Funktionen von Telegram selbst verwenden, um das Bild anzuzeigen. Wir haben entschieden, dass es besser ist, das Display mit einem Bild zu belassen, da es praktischer ist, damit zu arbeiten und es unwahrscheinlich ist, dass eine große Menge an Informationen abgerufen wird.

3. Wie soll das System reagieren, wenn zu der Entscheidung kein Kommentar eingegangen ist?
Hier stellte sich alles als recht einfach heraus: Wir haben das Ergebnis der gesendeten Entscheidung gespeichert. Und auf eine zweite Anfrage hin gaben sie dem Benutzer Auskunft darüber, dass er einen Kommentar zu der Entscheidung abgeben muss.

4. Wie soll der Benutzer verstehen, für welche Lösung ein Kommentar hinterlassen werden muss, wenn mehrere Genehmigungsanfragen hintereinander eingegangen sind?
Hier wurde die Funktionalität so implementiert, dass eine Nachricht, die nach einem Kommentar fragt, in Form einer Antwort auf eine Nachricht mit grundlegenden Informationen zur Lösung eingeht.

5. Was soll das System tun, wenn der Benutzer noch keine Entscheidung über alte Nachrichten getroffen hat, aber bereits neue eingegangen sind?
In diesem Fall sendet unser System dieselbe Nachricht erneut zur Genehmigung (niemand wagt es, uns zu ignorieren!).

6. Wie viele Nachrichten können wir annehmen?
Um diese Frage zu beantworten, habe ich mich entschieden, einen einfachen Testanzug in der SOAP-Benutzeroberfläche zu erstellen. Die Wahl fiel auf diese Anwendung, da sie einen umfangreichen Umfang hat (umfasst Webservices-Verifizierung, Simulation, Funktionstests, Lasttests usw.).
Ich werde Ihnen nicht sagen, wie Sie einen einfachen Testanzug erstellen, da sie bereits genug darüber geschrieben haben, möchte ich nur das Problem und meine Lösung beschreiben.
Der wichtigste Haken war, dass für jede neue Anforderung eine neue Kennung generiert werden musste und dieser generierte Wert in derselben XML wiederverwendet wurde.

Die Lösung wurde gefunden:

In einem Testfall wird eine Eigenschaft mit dem Attribut ID_Calc erstellt.



Fügen Sie dann auf der Registerkarte Setup-Skript das Skript ein:
testCase.setPropertyValue ("ID_Calc", neu java.util.Random (). nextInt (99999) .toString ())



Danach muss in der Anfrage selbst in die Tags, in denen der Bezeichner verwendet wird, Folgendes geschrieben werden:
$ {# TestCase # ID}



Somit hatte jede Anfrage eine eindeutige Kennung, aber im Rahmen einer separaten Nachricht waren die Kennungen dieselben.

Die Entwicklungs- und Testarbeiten verliefen sehr schnell und harmonisch, so dass wir das Ergebnis schnellstmöglich erreichen konnten. Die Revision wurde sofort an den Kunden übergeben und er war zufrieden.

Selbst von der einfachsten und banalsten Aufgabe aus können Sie eine coole Quest machen, auf die Sie stolz sein können! Nun, wenn Sie gelangweilt sind, aber lebhafte Gefühle wünschen, finden Sie einfach Probleme in Ihrem Projekt und lösen Sie sie auf ungewöhnliche Weise :)

Viel glück

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


All Articles