ACDC - Implementação de Teste de interface
OBJETIVO
Avaliar a possibilidade de teste de interface, o estudo seguirá a spike “Estudar ferramentas para testes automatizado em view (Browser).
JUSTIFICATIVA
A motivação é evitar o esforço de testes manuais em tela, e limitar ações repetitivas para validar as histórias da equipe.
RESULTADOS ESPERADOS
A implementação teste de um projeto, e uma avaliação da possibilidade de implementação.
GLOSSÁRIO:
WebDriver: conduz um navegador nativamente, como um usuário, localmente ou em uma máquina remota usando o servidor Selenium, marca um avanço em termos de automação do navegador.
Selenium: é um projeto que reúne uma gama de ferramentas e bibliotecas que permitem e suportam a automação de navegadores web.
Framework: em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica.
Sprint:
Implementação
Para dar início ao estudo, cabe a escolha do framework para teste, nesse caso usaremos o Selenium.
O ambiente envolvido será windows, e para dar início ao teste deve usar o WebDriver do Selenium, para assim usar a base inicial de teste. Para isso basta ir no gerenciador de pacote NuGet e instalar o pacote.
Pacote Selenium WebDriver
Além disso, deve baixar o WebDriver auxiliar do navegador para teste, no caso de uso do estudo, será utilizado o Google Chrome.
Após instalar os pacotes necessários, basta implementar a configuração de teste:
Primeiramente define o caminho do WebDriver do navegador, e posteriormente chama o mesmo passando o caminho, depois chamo a url para iniciar o teste, após isso, o teste é feito baseado na necessidade. Nesse caso usaremos o cadastro do cidadão na página home do usuário, para isso devo encontrar os campos necessários para cadastro e informar os dados, e fazer o envio do cadastro.
Depois basta fazer os asserts do teste:
CONCLUSÃO
Após estudos e análise de implementação deve levar em consideração a organização e o tempo de sprint, e o teste de UI segue a pirâmide de teste, onde o teste de interface é o mais caro, e leva mais tempo para sua implementação.
Baseado nesses fatores, adotar o uso de teste de interface não seria viável para o time baseado no tempo de implementação, futuras mudanças nos teste após atualizações de interfaces.
REFERÊNCIAS
[Selenium]:
O Projeto de Automação do Navegador Selenium :: Documentação para Selênio
[WebDriver]:
WebDriver :: Documentação para Selênio (selenium.dev)
[Base de implementação]:
[Resultado do Teste]: