O que vou aprender ao final desse post?
Abordagem para avaliar a qualidade do padrão page objects aplicado nos seus testes automatizados de interface.
O post de hoje continua detalhando a proposta apresentada por Dave Haffner para avaliar a qualidade de seus testes automatizados de interface. Hoje apresentaremos mais detalhes da parte 2 do vídeo voltada à aplicação do padrão page objects.
A análise da parte 1, que discute os aspectos mais gerais dos testes automatizados encontra-se disponível no último post.
Resumindo em poucas palavras, o padrão page objects permite ao tester/desenvolvedor aplicar camadas de abstração com o principal objetivo de facilitar a criação e manutenção dos testes de interface, separando as ações realizadas pelo usuário do código responsável por interagir com a interface.
Seguindo a mesma dinâmica da parte 1, Haffner discute alguns dos pontos que atuam como indicativos de que a utilização do padrão page objects é boa ou ruim.
Indicativos de uma implementação Page Object RUIM:
- Classes gigantescas (Tornam o entendimento e manutenção mais difícil)
- Responsabilidade exagerada (Ex.: Realizam ações não relacionadas a sua abstração)
- Lógica complexa (Código de testes deve ser simples)
- Retorna pouca ou excessiva informação para o teste (Ex.: Não deve retornar um WebElement)
- Verificações acontecendo na classe Page Object ao invés do teste.
Indicativos de uma implementação Page Object BOA:
- Contém estados (ex.: locators)
- Contém ações (métodos para interagir com a página)
- Retorna alguma informação sobre a página (Ex.: Novo Page Object, texto de elemento da página, bool de alguma verificação, etc.)
- Verifica que a página está num estado pronto para interagir, como parte de sua inicialização.
Pontuação Page Objects:
*Cada Page Object inicia com 100 pontos, a partir daí deduzimos os pontos de acordo com a tabela abaixo:
Um bom exemplo de como aplicar alguns dos conceitos discutidos no vídeo e listados acima está disponível no Utilizando o padrão page objects em que Dave Haffner exemplifica a utilização do padrão page objects.
Ainda não assistiu o vídeo? Assista e complemente seu entendimento sobre o padrão page objects, afinal quanto tempo você gasta dando manutenção nos seus testes?
No próximo post trataremos da terceira parte do vídeo, que aborda a escolha e utilização dos locators.
Boa noite,
Atuo na área de testes a bastante tempo, porém quero iniciar meus conhecimentos nos testes automatizados, pois não tenho nenhuma experiência. Vcs tem algum curso para iniciantes?
Grata
Marcia Gama
Ola Marcia,
Atualmente o curso mais adequado para iniciantes é esse http://www.qalab.com.br/novo/introducao-a-automacao-de-testes-com-selenium-webdriver/. No entanto ainda não temos definida a data da próxima turma. Você gostaria de ser notificada quando for definida a data?