Automação de teste: Java ou Python?

Olá a todos! Em março, a OTUS lança dois cursos de automação de teste ao mesmo tempo: “Python QA Engineer” e “Java QA Engineer” . Muitas vezes nos perguntam qual desses cursos escolher; decidimos responder a essa pergunta traduzindo um artigo do SafeBear.




Uma das perguntas mais populares é:
Qual curso devo fazer: sobre automação de testes em Python ou automação de testes em Java? E por que temos cursos nos dois idiomas?

A primeira e mais importante coisa a dizer: não importa qual idioma você está automatizando.

O aplicativo que você deseja testar pode ser escrito em Java, Python, C #, Assembly, Scala ou qualquer outra linguagem de programação disponível. Estruturas de teste automatizadas em Python automatizarão testes manuais não piores que as estruturas Java. Quando se trata de automação da GUI, não faz diferença em qual estrutura você está testando.

O curso certo para você depende da sua situação. Obviamente, se você deseja se tornar um especialista em automação, provavelmente desejará fazer os dois cursos, pois as estruturas ainda variam muito. Cada um deles lida com suas tarefas, como você verá abaixo e, às vezes, a escolha de uma estrutura se resume a preferências pessoais.

Tentei distinguir os prós e os contras de ambas as estruturas, na esperança de que isso facilite seu processo de tomada de decisão. Se depois disso a decisão for tomada apenas mais difícil, então me perdoe.

Python é perfeito


profissionais


Automatiza seu mundo, não apenas seus testes. É difícil embarcar no caminho de um testador sem conhecer o Python. Se existe uma linguagem que você precisa conhecer para poder automatizar TUDO, então esse é definitivamente o Python. Você pode automatizar a implantação do ambiente, usá-lo para verificar portas ou realizar testes de segurança, pois o IC é indispensável. O Python se tornará seu amigo, a quem você buscará ajuda várias vezes.

Curto e simples . Comparado à sintaxe Java carregada, é ridiculamente fácil de usar e ler. Também é um fato bem conhecido que existem 10 linhas em Java por linha no Python.

Para você já fez tudo. Muitas outras pessoas usam o Python pelo mesmo motivo que você, daí podemos concluir que alguém já escreveu o código que você precisa e você pode apenas importá-lo.

Treinamento e suporte. Na Internet, você encontra vários treinamentos e materiais úteis. Em geral, as pessoas chegaram à conclusão de que os materiais Python são mais compreensíveis do que qualquer outra linguagem.

Minuses


Dor com o IDE . O Python foi criado para ser simples, universal e fornecer a capacidade de escrever scripts diretamente do intérprete, para que não se dê bem com o IDE e com o Java. É tão simples e versátil que o IDE não consegue entender o que você está fazendo quando começa a criar objetos e transmiti-los entre métodos. Esse é um recurso desagradável que pode desempenhar um papel se você realmente deseja usar o IDE para criar sua estrutura.

Suporte do Office . Às vezes, é melhor ter suporte local. Se ninguém em sua equipe conhece Python, não haverá ninguém para obter ajuda urgente na resolução de problemas emergentes.

Java é o que você precisa!


profissionais


Grandes IDEs . É um prazer escrever em Java em um ambiente como o IntelliJ IDE . O IDE faz a maior parte do trabalho para você, mesmo tendo a dor de sintaxe complexa. As funções de conclusão de código farão muito trabalho para você, até parecer que você digitou apenas alguns caracteres no teclado.

PageFactory . O PageFactory em Java simplifica o código para automação do Selenium e permite que você escreva testes fáceis de entender.

Suporte doméstico. A maioria dos testadores trabalha com desenvolvedores Java. Se você ficar preso a alguma coisa, depois de algumas mesas, sempre será alguém que lhe ajudará. Isso ajuda muito na curva de aprendizado e oferece os benefícios do conhecimento e da experiência de seus colegas. Não tenha tempo para olhar em volta, pois você se torna um profissional.

Minuses


Abracadabra . Não é fácil ler o código Java em comparação com o simples Python em inglês. Java também tem uma curva de aprendizado muito íngreme e a documentação nem sempre é útil. No entanto, ajuda em muitos problemas pode ser encontrada online (por exemplo, no estouro de pilha ).

Dor com ponteiro nulo . Quando o Java fornece uma mensagem de erro e exibe um rastreamento de pilha, nem sempre é fácil entender qual é o problema e, às vezes, essas informações são inúteis. O IntelliJ ajuda onde pode, mas mensagens de erro incompreensíveis podem transformar a depuração em um transtorno completo.

Limitado à automação de teste. Você nunca usará Java em outras áreas de teste. Não no IC, teste de desempenho, segurança, disponibilidade ou em qualquer outro lugar. Você fica preso na automação de testar a interface gráfica do seu aplicativo e é isso.

Isso é tudo. Esperamos que agora seja um pouco mais fácil para você decidir qual curso escolher, mas, para consolidar sua escolha, convidamos você a liberar lições sobre os cursos:

Python QA Engineer
Java Java QA Engineer

All Articles