E-Commerce-Autotest-System

Ich fühle mich wie der Erfinder eines Fahrrads. Und er dachte lange darüber nach, ob es sich lohnte, über das zu schreiben, was mir selbstverständlich erschien. Aber ich bin wieder einmal auf die Tatsache gestoßen, dass sie mit einer Beharrlichkeit, die einer besseren Anwendung würdig ist, dies nicht tun.

Die Situation ist also: E-Commerce in der Transport-, Tourismus- und Gastgewerbebranche. Entworfen, entwickelt und jetzt - End-to-End-Geschäftsprozesse, viele Systeme, alles wie in einem großen E-Commerce erwartet.

Bild

Aber hier ist das Problem:

  • Alle großen Systeme bestehen aus mehreren Systemen;
  • Jedes wird von einem separaten Entwickler entwickelt / aktualisiert / unterstützt.
  • Jeder Entwickler aktualisiert die Software durchschnittlich einmal im Monat und kontrolliert unabhängig die Qualität seiner Lösung.

Und wer liefert die Qualität des Geschäftsprozesses? Der Bediener stieß beim Bezahlen von Rechnungen einmal und dann mit dem Argument aus: "Damit Ihr System funktioniert, können Sie es nicht verwenden."

Ich habe keine Lust, nach Verbündeten zu testen, aber ich möchte aufgeben und dafür bezahlt werden. Deshalb haben wir begonnen, ein End-to-End-Autotest-System zu schreiben, bei dem nicht das System, sondern die gesamten Geschäftsprozesse des elektronischen Handels (mit mehreren Systemen von mehreren Lieferanten) getestet wurden. Ein so großes System, das End-to-End-BP durchläuft, untersucht alle Systeme: von der Webkonsole bis zum Lesen von Datensätzen aus der Datenbank:

Bild

Und hier ist, was wir haben:

Was das System kann:


1. Komplexe Tests - Überprüfung der Funktionalität des gesamten BP-E-Commerce, um:

  • Identifizierung von Fehlern;
  • Integrationsprüfung;
  • Analysieren von Abweichungen;

Bild

Bild

  • Logikprüfung;
  • Überprüfung der Beträge;

Bild

  • PNR-Analyse in GDS;
  • Analyse der Aufzeichnungen von add. Dienste in der Datenbank;
  • Überprüfen der Anzeige von Elementen in Bildschirmformularen.

Bild

2.

Screenshots der Berichtsverarbeitung :

  • Kennungen von Aufträgen / Status / Schritt in Dateinamen;
  • Gruppieren von Screenshots im Dateispeicher nach Testabschnitten.

Bild

Berichtssatz:

  • Zusammenfassender Bericht über Abweichungen - mit Links zu schrittweisen exemplarischen Vorgehensweisen, Transkripten (Excel-Format)
  • Zusammenfassender Bericht über unkritische Abweichungen - Dekodierung und Links zu einer schrittweisen Beschreibung (Format - Excel)
  • "Schöner" Bericht für die Berichterstellung mit korrekten exemplarischen Vorgehensweisen und Abweichungen (Format - Excel)

3. Belastungstests - Massenwiederholung derselben Art von Testfällen mit dem Ziel:

  • Identifizierung von periodischen Fehlern;
  • Lastsimulation.

Bild

4. Multithreading - Testfälle werden in 3 Threads ausgeführt. Dies ist besonders wichtig, da die Windows-Plattform vorzugsweise als Server zum Testen verwendet wird.

Wirtschaftlicher Effekt


Testvolumen:

  • 2 Währungspaare / Sprachen. 4 Berechtigungen. 4 Browser. 8 Geschäftssituationen;
  • 12 * 4 * 4 * 8 = 1.536 Testfälle;
  • Die durchschnittliche Durchlaufzeit eines Testfalls durch einen Roboter beträgt 5 Minuten, die Reproduktion durch eine Person (mit viel Erfahrung) - 7-10 Minuten;
  • Arbeitskosten für das Testen 1152 * 7 * 1,2 (Unterbrechungsrate in der Testumgebung) = 12 902,4 Minuten / 215,04 Stunden für die Freigabe;
  • In einem Monat gibt es 3 Releases von Updates von 3 Lieferanten = 645,12 Mannstunden. Angesichts der Kosten für die Berichterstattung und der Ungleichmäßigkeit der Tests 4 und höchstwahrscheinlich 5 Vollzeitbeschäftigte;
  • Fachgehalt 80.000 + Abzüge auf den PFR - 30%, auf den FSS - 2,9%, auf den FFOMS - 5,1%.

Einsparungen bei Autotests - 5-6 Millionen ₽ pro Jahr (nur bei Gehältern)

Technologien


Im Prinzip nichts Besonderes, aber es ist eine technische Ressource ...

  • Java, TestNG-Framework.
  • Selen - eine Reihe von Bibliotheken zur Verwaltung von Webbrowsern;
  • Selenid - Methoden zum Arbeiten mit Webobjekten;
  • SoapUI - ein Mittel zur Interaktion mit verschiedenen Protokollen;
  • Selenium Grid - ein Tool, mit dem Sie Cluster erstellen und Aufgaben auf verschiedene Server verteilen können.
  • Jenkins ist ein Tool zum Verwalten der Ausführung von Testfällen und zum Arbeiten mit Testergebnissen.

All Articles