Experiência real de membros não técnicos da equipe que escrevem o código Selenium: não correu bem
Na verdade, tivemos essa mesma situação em que tínhamos um membro não técnico da equipe (nesse caso, um SQA sem experiência em programação). Infelizmente, isso não correu muito bem.
Grave e reproduza testes não mantidos criados
Primeiro, nossa equipe tentou as ferramentas de gravação e reprodução, mas, como já foi dito, os testes gerados são muito frágeis e difíceis de manter. Nosso SQA acabou caindo em um padrão de apenas gravar novamente um teste toda vez que ele era alterado, o que não era realmente tão eficiente, especialmente quando uma alteração era interrompida na maioria dos testes (tivemos uma alteração na página principal do site que quebrou cerca de 60 % de nossos testes).
Sem a ajuda daqueles com experiência em programação, o código escrito manualmente era horrendo
Nós escrevemos nossos testes Selenium em Java e o SQA nunca havia usado Java antes, então ele estava aprendendo por conta própria. Descobrimos que os testes acabaram usando algumas práticas de programação realmente ruins:
- Usando variáveis estáticas públicas quando realmente deveriam ter sido variáveis de instância privadas
- Ter blocos de código que não fizeram nada
- Muitos Thread.sleep () em vez de usar o WebDriverWait porque ele não conseguiu descobrir como escrever condições personalizadas
- Teste de unidade realmente estranho: eu vi algumas
assertTrue(false)
linhas para finalizar um teste
- Nomes de variáveis ruins
- Suprimindo exceções que deveriam ter sido tratadas (ou impedidas de ocorrer em primeiro lugar)
- Testes aprovados, independentemente da entrada usada
- Algum código que nunca descobrimos e acabamos reescrevendo
Quando cheguei à equipe, o SQA original havia saído e a execução de qualquer teste resultou em várias exceções de console que nos disseram para ignorar. Depois disso, acabamos envolvendo os desenvolvedores e reescrevendo muito o código para fazê-lo realmente funcionar corretamente e ser sustentável e fácil de entender.
Se você quiser que pessoas não técnicas escrevam o código Selenium, peça a uma pessoa técnica para ajudá-las
Eu acho que alguns desses problemas poderiam ter sido evitados se tivéssemos alguém técnico vindo ajudá-los. Se eles tivessem explicado por que variáveis estáticas públicas deveriam ser variáveis de instância privadas, ou como o JUnit funciona, ou como usar o WebDriverWait, ou por que espalhar Thread.sleep () por todo lugar é ruim, poderíamos ter um código melhor.
Mas, como está, acabamos com um código que, em última análise, é insustentável e, no final, apenas reescrevemos a maior parte dele, resultando em um grande desperdício de tempo e dinheiro.