Sistema de autotest de comercio electrónico

Me siento como el inventor de una bicicleta. Y pensó durante mucho tiempo si valía la pena escribir sobre lo que me parecía evidente. Pero una vez más me encontré con el hecho de que, con persistencia digna de una mejor aplicación, no lo hacen.

Y entonces la situación es: comercio electrónico en la industria del transporte / turismo / hotelería. Diseñado, desarrollado y ahora: procesos de negocio de extremo a extremo, muchos sistemas, todo como se espera en un gran comercio electrónico.

imagen

Pero aquí está el problema:

  • Todos los sistemas grandes consisten en varios sistemas;
  • Cada uno es desarrollado / actualizado / soportado por un desarrollador separado;
  • Cada desarrollador actualiza el software en promedio una vez al mes y controla de forma independiente la calidad de su solución.

¿Y quién proporciona la calidad del proceso de negocio? El operador, una vez, y luego otra, hizo un grito al pagar las facturas, con el argumento: "para que su sistema funcione, no puede usarlo".

No tengo ganas de hacer una prueba para los aliados, pero quiero rendirme y que me paguen. Así que comenzamos a escribir un sistema de auto-evaluación de extremo a extremo, probando no el sistema, sino los procesos comerciales completos del comercio electrónico (con la participación de varios sistemas, de varios proveedores). Un sistema tan grande que pasa por BP de extremo a extremo examina todos los sistemas: desde la consola web, hasta la lectura de registros de la base de datos:

imagen

Y esto es lo que obtuvimos:

Lo que el sistema puede hacer:


1. Pruebas complejas: comprobación de la funcionalidad de todo el comercio electrónico de BP para:

  • Identificación de errores;
  • Verificación de integración;
  • Analizando desviaciones;

imagen

imagen

  • Control lógico;
  • Verificación de montos;

imagen

  • Análisis PNR en GDS;
  • Análisis de registros de add. servicios en la base de datos;
  • Comprobación de la visualización de elementos en forma de pantalla.

imagen

2.

Capturas de pantalla de procesamiento de informes :

  • Identificadores de órdenes / estado / paso en los nombres de archivo;
  • Agrupando capturas de pantalla en el almacenamiento de archivos por secciones de prueba.

imagen

Conjunto de informes:

  • Informe resumido sobre las desviaciones, con enlaces a tutoriales paso a paso, transcripciones (formato Excel)
  • Informe resumido sobre desviaciones no críticas: decodificación y enlaces a una descripción paso a paso (formato - Excel)
  • Informe "hermoso" para generar informes, con tutoriales correctos y desviaciones (formato - Excel)

3. Pruebas de carga: repetición en masa del mismo tipo de casos de prueba, con el objetivo de:

  • identificación de errores periódicos;
  • simulación de carga.

imagen

4. Subprocesamiento múltiple: los casos de prueba se realizan en 3 subprocesos, lo cual es especialmente importante debido al hecho de que es preferible utilizar la plataforma Windows como servidor para las pruebas.

Efecto económico


Volúmenes de prueba:

  • 2 pares de divisas / idiomas. 4 permisos. 4 navegadores 8 situaciones de negocios;
  • 12 * 4 * 4 * 8 = 1,536 casos de prueba;
  • El paso promedio de un caso de prueba por un robot es de 5 minutos, reproducción por una persona (con mucha experiencia) - 7-10 minutos;
  • Costos de mano de obra para probar 1152 * 7 * 1.2 (tasa de interrupción en el entorno de prueba) = 12 902.4 minutos / 215.04 horas para la liberación;
  • En un mes hay 3 lanzamientos de actualizaciones de 3 proveedores = 645.12 horas-hombre. Dados los costos de la presentación de informes y la irregularidad de las pruebas, 4, y muy probablemente, 5 empleados a tiempo completo;
  • El salario de un especialista es de más de 80,000 deducciones al PFR - 30%, al FSS - 2.9%, al FFOMS - 5.1%.

Ahorros con autotest: 5-6 millones ₽ por año (solo en salarios)

Tecnologías


En principio, nada especial, pero es un recurso técnico ...

  • Java, marco TestNG.
  • Selenium: un conjunto de bibliotecas para administrar navegadores web;
  • Selenide: métodos para trabajar con objetos web;
  • SoapUI: un medio para interactuar con varios protocolos;
  • Selenium Grid: una herramienta que le permite crear clústeres y distribuir tareas entre diferentes servidores;
  • Jenkins es una herramienta para gestionar la ejecución de casos de prueba y trabajar con los resultados de la prueba.

All Articles