Seu projeto realmente precisa de testes?

Seu projeto realmente precisa de testes?


Olá pessoal! Meu nome é IT Hematoma!


Imagem de um personagem acolhedor com pele azul

Recentemente, no meu ambiente, muitas vezes surge a questão da importância / necessidade dos testes . E decidi tentar publicar minha visão atual da situação (espero que seja uma série de artigos / vídeos) para poder responder aos meus colegas com um link para o Habr favorito de todos.


Vou começar, talvez, com lembranças.


Certa vez, estou na frente de Lead, ainda completamente verde, e pergunto a ele:


Imagem de uma contusão jovem conversando com Lida

- E por que precisamos de testes?


E ele, em resposta, inicia um órgão de barril sobre sua importância. Como nos bancos, toda hora que um site quebra, custa cem mil dólares e eles têm a oportunidade de encontrar um bug que vale seu peso em ouro; portanto, tudo é coberto e testado!


mas não estou satisfeito com perguntas:


- E nós temos um site para alugar apartamentos, existem muito poucos usuários, por que precisamos?


Lead percebeu que não podia ficar por aqui e decidiu explicar como as coisas estavam indo:


- Lembre - se de quando um novo proprietário é registrado no site e indica que ele é de Ecaterimburgo, damos a ele para preencher um questionário.
- Sim, o formulário que sempre esquecemos quando editamos a entrada no site e, em seguida, os testadores abrem repetidamente a tarefa para nós
- É isso mesmo, é por isso que escrevo testes para este formulário. Quando você executa o commit, os testes serão realizados no CI e você receberá uma carta dizendo que quebrou o questionário. E você, enquanto ainda estiver no contexto, corrigirá tudo. Como resultado, é mais fácil para você e a equipe de teste economizar tempo ao reabrir o ticket.


Ilustração do processo de IC

" Uau, você está certo, mas eu nunca pensei nisso " , pensou o jovem machucado.
" Também temos uma pesquisa coberta por testes " , continuou Lead. - Reunimos estatísticas, quais palavras e suas abreviações são usadas com mais frequência na pesquisa. Por exemplo, em vez de um apartamento de dois quartos, eles escrevem dvushka no centro. Nosso teste verifica as respostas corretas para as consultas mais populares e isso é muito importante para os negócios, pois de acordo com as mesmas estatísticas, a pesquisa é a maneira mais popular de procurar um apartamento, e isso é equivalente ao lucro. Como resultado, a equipe de teste não precisa verificar novamente todas as opções de pesquisa a cada versão e os negócios estão satisfeitos conosco, porque a pesquisa nunca falhou.


Exemplo de comparação de pesquisa

Exatamente! - exclamou o jovem hematoma. - Lembro como os caras da equipe de teste ficaram felizes com isso, não entendi a importância do momento ... E-e-e ... A última coisa que não consigo entender é: por que eu precisava de um StoryBook para testar, como isso geralmente está conectado?
- Tudo é simples aqui, temos um calendário para escolher datas, pode ser diferente, para escolher apenas uma data ou data e hora ou escolher um período. Exatamente o mesmo conjunto de calendários com um design diferente é usado no painel do administrador. Se adicionarmos um tema sombrio aqui, já temos quase 10 tipos de um calendário.


Diferentes tipos de opções de calendário para temas claros e escuros

" Portanto, foi decidido cobrir todas as condições com testes " , continuou Lead. - para que ninguém refaça acidentalmente o calendário do painel de administração quebre na página principal do site. Para isso, é utilizado o StoryBook, no qual coletamos em um só local todos os tipos de calendários em todos os estados (uma lista aberta de datas ou datas já selecionadas) e usamos ferramentas especiais para capturar capturas de tela dessas páginas e salvá-las no projeto.

E após quaisquer alterações neste calendário, nossos testes compararão a captura de tela antes e depois das alterações e mostrarão a diferença entre elas. Dessa forma, sempre sabemos que nada quebrou e é muito mais fácil para a equipe de testes olhar para o StoryBook do que percorrer o site para ver se tudo se parece com um design.


StoryBook com selecionadores de data inseridos

- Parece nanotecnologia, compare duas fotos, vou ver rapidamente como funciona! O jovem Bruise gritou com entusiasmo.




Foi assim que eu conheci os testes. Naquele dia, cheguei à conclusão de que literalmente qualquer projeto pode ser coberto com testes. Porque em qualquer projeto, Deus esqueceu as páginas, reutilizadas pelo UiKit e, é claro, a principal funcionalidade que gera dinheiro.


Pense bem, se o YouTube parar de lhe dar vídeos interessantes ou o Yandex Radio começar a dar rock ao invés de hip-hop, e pessoas completamente desconhecidas aparecerão no feed do Instagram. Tudo isso pode ser coberto com testes e ter calma a cada lançamento.

Source: https://habr.com/ru/post/pt484056/


All Articles