Schrödinger Automators

Descripción del articulo


¿Es necesario que una empresa destaque las competencias de un ingeniero de automatización y son tan únicas?


El artículo describe cómo, dentro de la empresa, con los equipos de automatización existentes, se realizó una revisión de las competencias, como resultado de lo cual apareció la paradoja "Hay un equipo, pero no hay competencias". El resultado de la revisión fue que no había más equipos de automatización.


Propósito del artículo.


Cuente la experiencia y las razones para tomar ciertas decisiones.


ADVERTENCIA: Todas las soluciones se elaboraron dentro de una determinada empresa, teniendo en cuenta los detalles de los proyectos.

Estructura del artículo


  • Descripción del objeto probado, proyecto, equipos;
  • Formulación de objetivos para un sistema con autotest y su solución;
  • Formulación de competencias necesarias para alcanzar los objetivos;
  • Resumiendo

Descripción del objeto probado, proyecto, equipos.


Pila: C #, SpecFlow (BddFy), Selenium


Objeto de prueba: Sistemas para compañías de seguros de automóviles en Estados Unidos. Todos los sistemas tienen áreas de administración para configurar aplicaciones, API de descanso para que los clientes puedan escribir portales ellos mismos, una aplicación para crear una política y realizar pagos, y una aplicación para generar informes. Todas las partes deben estar cubiertas con pruebas.


, . , QA. , . . 4000 , environment. . 15% broken( ).



- main branch. :


  • . , , , /, ;
  • . 4 . , 4 (48 — ).
  • .


, , . , HttpContext, claims, . , , , . .



:


  • ;
  • , ;

:


  1. CI . Cake(C# Make), . , ;
  2. , extension-;
  3. Selenoid GoGrid Router – CI/CD .

:


  1. solution ;
  2. solution analyzer ;
  3. MSBuild ;
  4. .

, , Controller/ View DI . , , /. Rest . : « , ». , UI — . 5 .


C


:


  1. DI . DI Must-Have feature , , , . ;
  2. ScenarioContext. , . , , , . ;
  3. . , , — SQL Server ;
  4. SOLID . , .

, – (), . , . 99.9 % , , , . , 3 4000 . , staging, .



: , . , , . – .
:


  • , BDD Framework. SpecFlow , .net core. , SpecFlow , ;
  • CQRS . UserActivity(UserActivity, UserActivityHandler, UserActivityResult) CheckAssertions (CheckAssertions, CheckAssertionsHandler);
  • Command Dispatcher(Mediator) . , .

:
:


imagen


UserActivityHander Handle:


imagen


, Command Dispatcher , :


  1. Handle , ,
    ;
  2. UserActivity , .

, (, ) , .



, , , , (CLR, , , , DI), , (Selenium, Selenoid, Specflow), , , .



, . . :


  1. feature , ;
  2. No puede fusionar una rama en la rama principal si las pruebas caen en ella;
  3. "Ramas principales siempre verdes".

Si no se cumplen estas reglas, el equipo de automatización estará constantemente en condiciones de carrera y los equipos de desarrollo no tendrán confianza en las pruebas automáticas.


Los enfoques descritos se han implementado en varios proyectos de la compañía y han estado funcionando con éxito durante seis meses. Quizás el tiempo pasado no sea suficiente para sacar conclusiones, pero en la actualidad no hay requisitos previos para cambiar el enfoque.


All Articles