Système d'autotest e-commerce

Je me sens comme l'inventeur d'un vélo. Et il s'est longtemps demandé s'il valait la peine d'écrire sur ce qui me semblait évident. Mais une fois de plus, je suis tombé sur le fait que, avec une persistance digne d'une meilleure application, ils ne le font pas.

La situation est donc la suivante: le commerce électronique dans l'industrie des transports / tourisme / hôtellerie. Conçu, développé et maintenant - des processus commerciaux de bout en bout, de nombreux systèmes, tous comme prévu dans un grand commerce électronique.

image

Mais voici le problème:

  • Tous les grands systèmes se composent de plusieurs systèmes;
  • Chacun est développé / mis à jour / pris en charge par un développeur distinct;
  • Chaque développeur met à jour le logiciel en moyenne une fois par mois et contrôle indépendamment la qualité de sa solution.

Et qui assure la qualité du processus métier? L'opérateur, une fois, puis une autre, a crié lors du paiement des factures, avec l'argument: "pour que votre système fonctionne, vous ne pouvez pas l'utiliser."

Je n'ai pas envie de tester des alliés, mais je veux abandonner et être payé. Nous avons donc commencé à rédiger un système d'autotest de bout en bout - testant non pas le système, mais l'ensemble des processus commerciaux du commerce électronique (avec la participation de plusieurs systèmes, de plusieurs fournisseurs). Un si grand système qui passe par un processus de bout en bout examine tous les systèmes: de la console Web à la lecture des enregistrements de la base de données:

image

Et voici ce que nous avons obtenu:

Ce que le système peut faire:


1. Tests complexes - vérification de la fonctionnalité de tout le commerce électronique de BP afin de:

  • Identification des erreurs;
  • Contrôle d'intégration;
  • Analyser les écarts;

image

image

  • Vérification logique;
  • Vérification des montants;

image

  • Analyse PNR dans GDS;
  • Analyse des enregistrements d'addition. services dans la base de données;
  • Vérification de l'affichage des éléments sous forme d'écran.

image

2.

Captures d'écran du traitement des rapports :

  • Identifiants des commandes / statut / étape dans les noms de fichiers;
  • Regroupement des captures d'écran dans le stockage de fichiers par sections de test.

image

Ensemble de rapports:

  • Rapport de synthèse sur les écarts - avec des liens vers des procédures pas à pas, des transcriptions (format Excel)
  • Rapport récapitulatif des écarts non critiques - décodage et liens vers une description pas à pas (format - Excel)
  • Rapport «magnifique» pour la génération de rapports, avec des procédures et des écarts corrects (format - Excel)

3. Essais de charge - répétition en masse du même type de cas d'essai, dans le but de:

  • identification des erreurs périodiques;
  • simulation de charge.

image

4. Multithreading - les cas de test sont effectués en 3 threads, ce qui est particulièrement important en raison du fait qu'il est préférable d'utiliser la plate-forme Windows comme serveur pour les tests.

Effet économique


Volumes d'essai:

  • 2 paires de devises / langues. 4 autorisations. 4 navigateurs. 8 situations d'affaires;
  • 12 * 4 * 4 * 8 = 1 536 cas de test;
  • Le passage moyen d'un cas de test par un robot est de 5 minutes, la reproduction par une personne (avec beaucoup d'expérience) - 7-10 minutes;
  • Coûts de main-d'œuvre pour les tests 1152 * 7 * 1,2 (taux d'interruption sur l'environnement de test) = 12 902,4 minutes / 215,04 heures pour la libération;
  • En un mois, il y a 3 versions de mises à jour de 3 fournisseurs = 645,12 heures-homme. Compte tenu des coûts de déclaration et de l'inégalité des tests, 4, et très probablement, 5 employés à temps plein;
  • Le salaire d'un spécialiste est de 80 000 + retenues au PFR - 30%, à la FSS - 2,9%, à la FFOMS - 5,1%.

Économies avec autotests - 5-6 millions ₽ par an (uniquement sur les salaires)

Les technologies


En principe, rien de spécial, mais c'est une ressource technique ...

  • Java, framework TestNG.
  • Selenium - un ensemble de bibliothèques pour gérer les navigateurs Web;
  • Selenide - méthodes de travail avec les objets Web;
  • SoapUI - un moyen d'interagir avec divers protocoles;
  • Selenium Grid - un outil qui vous permet de créer des clusters et de répartir les tâches sur différents serveurs;
  • Jenkins est un outil pour gérer l'exécution des cas de test et travailler avec les résultats des tests.

All Articles