Schrödinger Automators

Descrição do artigo


É necessário que uma empresa destaque as competências de um engenheiro de automação e elas são tão únicas?


O artigo descreve como, dentro da empresa, com as equipes de automação existentes, as competências foram revisadas, resultando no paradoxo “Existe uma equipe, mas não há competências”. O resultado da revisão foi que não havia mais equipes de automação.


Objetivo do artigo


Conte a experiência e os motivos para tomar certas decisões.


AVISO: Todas as soluções foram elaboradas dentro de uma determinada empresa, levando em consideração as especificidades dos projetos

Estrutura do artigo


  • Descrição do objeto testado, projeto, equipes;
  • Formulação de metas para um sistema com autoteste e sua solução;
  • Formulação de competências necessárias para atingir os objetivos;
  • Resumindo.

Descrição do objeto testado, projeto, equipes


Pilha: C #, SpecFlow (BddFy), Selênio


Objeto de teste: Sistemas para empresas de seguros de automóveis na América. Todos os sistemas têm áreas administrativas para configurar aplicativos, API de descanso para que os clientes possam escrever portais, um aplicativo para criar uma política e efetuar pagamentos e um aplicativo para gerar relatórios. Todas as peças devem ser cobertas com testes.


, . , 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) . , .

:
:


imagem


UserActivityHander Handle:


imagem


, Command Dispatcher , :


  1. Handle , ,
    ;
  2. UserActivity , .

, (, ) , .



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



, . . :


  1. feature , ;
  2. Você não pode mesclar uma ramificação na ramificação principal se houver testes nela;
  3. "Ramos principais sempre verdes".

Se essas regras não forem cumpridas, a equipe de automação estará constantemente nas condições da corrida e as equipes de desenvolvimento não confiarão nos testes automáticos.


As abordagens descritas foram implementadas em vários projetos da empresa e estão em operação há seis meses. Talvez o tempo passado não seja suficiente para tirar conclusões, mas atualmente não há pré-requisitos para mudar a abordagem.


All Articles