Testadores manuais não são necessários ou é hora de automação



Não, é claro que o freio de mão será necessário. Mas todos os anos haverá cada vez menos necessidade deles. O nível salarial atingirá rapidamente o teto e, a partir de tarefas monótonas, ele vomitará. Se você deseja permanecer no controle de qualidade e se tornar um engenheiro de automação (desenvolvedor?), O texto abaixo é para você.

Quem sou eu?


Vamos conhecê-lo primeiro. Meu nome é Alexander e trabalho em testes há 15 anos. Ele começou com o desenvolvimento, entrou em testes, era um freio de mão, agora uma ferramenta de automação. Testei desktop, interface do usuário, aplicativos móveis, APIs, realizei testes de carga e várias coisas interessantes relacionadas ao controle de qualidade. Vou explicar brevemente como construir minha carreira em autoteste, o que eu estudaria e por onde começar. Sim, estou perdendo alguma coisa, mas meu conselho é um reflexo da minha experiência, e não a verdade suprema.

O que eram testadores manuais antes


Costumava ser melhor (es). Cerca de 15 anos atrás, a profissão estava apenas se tornando. As empresas entenderam a importância dos testes e começaram a contratar testadores. Os principais (nem sempre!). Em resumo, os requisitos para um testador são um programador leve ou um especialista que não entrou em programadores, além de conhecimento dos conceitos básicos de teste. Talvez a frase anterior o confunda, mas eu explicarei depois.

Os testadores foram divididos em freio de mão e automação. Os produtos da HP estavam disponíveis para automação, o Selenium, as linguagens de script foram introduzidas. Os freios de mão foram testados com as mãos, eles escreveram a documentação do teste.

O tempo passou e o freio de mão se fundiu em um único ramo com a automação. Além disso, na minha opinião, a automação se tornou dominante. E agora vou lhe dizer como você pode se tornar AQE (engenheiro de qualidade em automação).

O que você precisa saber para começar?


Teoria de teste. Isso é necessário. Tipos de teste, documentação de teste, conhecem e podem aplicar técnicas de design de teste. E também explore a pirâmide de testes. Talvez nem tudo esteja claro, mas com o tempo se revelará em toda a sua glória.

Em princípio, o livro de Savin "Testing Dot Kom" e vinte horas no YouTube são adequados para começar.



Os livros são lidos, o YouTube é revisado, há experiência em testes manuais. Agora vamos tentar avançar em direção à automação, é mais interessante lá.

Mitos


“O trabalho de controle de qualidade, como um dos pontos de entrada relativamente fáceis para a TI”,
“os autotestes desaparecerão em breve. Como regra geral, esses sub-programadores são "
" Nós somos testadores, não desenvolvedores, não precisamos saber / não é suposto / não é necessário ""

Encontrei as duas primeiras declarações na Internet. Eu ouvi o terceiro ao vivo. Se você deseja alcançar um alto nível de automação, não concorde com esses mitos. Vai ser difícil, longo, mas interessante. Seu conhecimento deve estar no nível dos programadores. E, na maioria dos casos, e mais - você ainda precisa conhecer e aplicar a teoria dos testes.
De onde vêm esses mitos? Eu penso do ponto acima - que testadores manuais costumavam ser. Os testadores são programadores leves (NO).

Eu acho que posso provar isso. Você conhece testadores / gerentes / desenvolvedores? Pergunte a eles quantos autotestes (fortes) eles encontraram em um ano? Eu acho que poucas unidades. Nossa empresa digitalizou 20 candidatos em um ano e contratou um. Meio.

Você pode tentar obter uma entrevista na Signora AQE. Já existe "Nós somos testadores, não desenvolvedores, não precisamos saber disso" não funcionará. E os desenvolvedores irão entrevistá-lo após a teoria dos testes. Porque um sistema de automação moderno e poderoso é um desenvolvedor de pleno direito.

Escolhendo uma linguagem de programação


Não é realmente importante. Globalmente, as linguagens de programação são semelhantes entre si e durante a sua carreira, você conhecerá algumas. Se você entender o básico, a transição para um novo idioma será rápida.
Comece explorando conceitos básicos: tipos de dados, classes, matrizes, loops, manipulação de strings, funções, OOP. Depois de ir para um idioma específico.

Em 2020, para o desenvolvimento de autotestes, eu examinaria essas linguagens (lembro que isso é baseado na minha experiência e não em uma instrução para ação):

JavaScript é ótimo para testar a interface do usuário. Desenvolve-se rapidamente nos testes. As estruturas JS estão substituindo ativamente o Selenium

Java, a linguagem mais popular para automação na Rússia. Tão historicamente, muitas vagas.

Pitãoidioma com a entrada mais rápida. A linguagem é "simples", fácil de ler e aprender.

E é preciso entender que isso é muito tempo, é preciso ser paciente. Dependendo da intensidade do treinamento de 4 meses a um ano.

Padrões de design


Os padrões de design descrevem maneiras típicas de resolver problemas comuns ao projetar programas.

Aqui está o que eu ouvi recentemente:

“Precisamos de meios médios fortes que ajuntem e compreendam nossos testes. Nós já os entendemos um pouco.

Quando você tem um site com 3-2 páginas, tudo é simples, rápido e bonito. Mas, se você tem um projeto em que os testes ui / api / mobile / e2e são ao mesmo tempo e tudo isso é escrito sem padrões, em 90% dos casos isso se transforma em lixo (desculpe).

Conhecer o Objeto da Página é bom, mas existem muitos modelos mais úteis no mundo que podem facilitar o desenvolvimento. Quanto mais cedo você resolver esse problema, menos problemas haverá no futuro (é assim que encontrar um bug em um estágio inicial, será mais barato corrigi-lo).

Aqui está um link para ler .

Se você ainda não consegue lidar com esse tópico, peça a ajuda de seus desenvolvedores. Assim, aprimoramos o projeto em várias iterações, resolvendo o problema com o desenvolvedor.

Também recomendo a leitura do livro Head First. Padrões de design. Eric Freeman, Robson Elizabeth.

Qual SO escolher?


Não é importante. Agora isso é uma questão de hábito, use o que for conveniente para você. Se eu tivesse essa escolha agora, escolheria um sistema semelhante ao UNIX. A experiência com ela é apreciada no mercado de trabalho e há menos problemas.

Estruturas de teste


Estrutura (eng, estrutura - estrutura, estrutura) - um conjunto de decisões sobre a arquitetura, estrutura e métodos de combinação de componentes do sistema que podem ser aplicados a algumas tarefas semelhantes.

Agora estamos chegando perto dos testes. Existem excelentes estruturas para cada idioma. Para JS, é Cypress, Nightwatch, Puppeteer e outros. Java possui Selenide, Python possui o padrão pytest. Estude-os quando chegar a hora. A documentação neles é marítima.

Chegará a hora e você mesmo desenvolverá sua estrutura, é claro, antes disso, tendo um bom entendimento do tema dos padrões.

Git e revisão


Git (pronuncia-se "git") é um sistema de controle de versão distribuído.
Seu código precisa ser armazenado em algum lugar. Existe um argumento para isso. Git é o padrão de fato.
Aqui, o processo de aprendizado pode ser construído assim:
Instale o git
Register no github.com
Leia a documentação
Abra o YouTube, encontre lições e trabalhe nelas.

Para efetuar login, você precisará aprender um pequeno número de comandos git:
clonar, adicionar, enviar por push, puxar, ocultar, confirmar, status, rebase, checkout. Em uma semana você aprenderá e dominará. A principal prática.

O código de revisão é uma ferramenta poderosa para compartilhar conhecimento, encontrar bugs e erros "estúpidos" e verificar seu código. No início, eles checam com mais frequência do que você, mas com o tempo, você começará a revisar outras pessoas. Tente perceber a revisão como ajudando e se desenvolvendo. Todo mundo tem erros e erros de digitação.

Ler

O que mais aprender?


Integração Contínua / Implantação Contínua em CI / CD .

Os principais objetivos do CI / CD são minimizar erros, acelerar a montagem e melhorar a qualidade do produto final: O



Read

Docker é uma plataforma projetada para desenvolver, implantar e executar aplicativos em contêineres.O

Read

HTTP é um protocolo para troca de dados em uma rede. Talvez você possa escrever testes de interface do usuário sem conhecer o HTTP, mas não há API para testar. E a localização do problema será mais rápida com esse conhecimento.

Read

xpath é uma linguagem para consultar elementos de um documento XML.

Link para a planilha de dicas

SQL é uma linguagem de computador padrão para gerenciar bancos de dados relacionais e processar dados. SQL é usado para consultar, inserir, atualizar e modificar dados.

Leia

Esta lista continua, mas vou parar por aqui.

Onde obter conhecimento?


Youtube
Fóruns temáticos
Livros
Cursos de programação
Cursos de automação de testes

Dividi especialmente cursos de programação e cursos de automação de testes. Melhor começar com o primeiro. Nos segundos cursos, você aprenderá automação e fará vista grossa à "correção" do desenvolvimento. É melhor estabelecer as bases e depois passar para a automação.

Vale a pena economizar nas mensalidades? Posso pegar um livro / ler um artigo / assistir ao YouTube e não escolher cursos pagos? Não. Se possível, é claro. Existem mentores nos cursos, isso acelerará bastante o aprendizado. Existem muitas tarefas inventadas para você que devem bombear habilidades. A única coisa é abordar sabiamente a escolha dos professores. Leia comentários.

PS Eu passei por tudo: livros, YouTube, artigos, cursos. E os cursos foram os melhores para mim, foi um salto no desenvolvimento. Talvez você tenha uma maneira diferente.

Referências


forum de autotestes (quase tudo está disponível) automatic-testing.info
js para testar o controle de
qualidade do t.me/js_for_testing - ferramenta de automação t.me/qa_automation Ferramenta de automação
séria do t.me/serious_tester
Se você ainda não o fez, adicione aos favoritos, este é um item obrigatório . stackoverflow.com

Por que eu escrevi isso


Recentemente, eu estava em uma reunião em que um dos palestrantes falou sobre sua experiência no uso da automação de testes. E sua empresa chegou à conclusão de que é mais fácil encontrar desenvolvedores e criar AQE com eles do que é difícil procurar testadores automáticos que não tragam os benefícios esperados deles a uma longa distância. E as razões foram que os autotestes não tinham conhecimento suficiente em desenvolvimento (padrões, conhecimento de bibliotecas). De certa forma, eu concordo com eles. Tenho certeza de que alguém pensará que descrevi os requisitos para um super testador ou um desenvolvedor em teste (Software Developer In Test). Com o desenvolvimento do scrum, quando um desenvolvedor / analista / testador desaparece, nos tornamos engenheiros e membros iguais de uma equipe cujo objetivo é lançar um produto / criar um recurso para um sprint.Nessas condições, os requisitos para autotestes crescerão e os especialistas em forma de T serão apreciados no mercado (artigo sobre vc.ru ). Essas pessoas podem não apenas localizar claramente o problema, mas também corrigi-lo (por exemplo, na frente). E esse é o futuro.

o fim


Como escrevi anteriormente, o processo de aprendizado não será fácil. Para ingressar na profissão, o AQE precisará gastar + - um ano. Muitos artigos foram escritos sobre como criar treinamento, mas observarei dois pontos:

  1. Saiba como relaxar e fazer pausas.
  2. Prática. Escolha sites, projetos. Escreva testes neles, teste a API. Mantenha seu código no github, ligue para amigos e colegas para revisão.

Boa sorte

All Articles