Newsletter #034 - Testes E2E e Playwright P. I
Seu newsletter semanal voltado para tecnologia e qualidade de software
Olá pessoal, mais uma semana de newsletter voltado para tecnologia e qualidade de software.
Na semana passada trouxe um pouco das principais notícias dentro de tecnologia e qualidade de software, caso não tenha lido, segue o link. Nessa semana estaremos conhecendo sobre testes end-to-end (E2E) e como prática vamos utilizar a ferramenta de testes e2e Playwright, bora lá?
Testes End-to-end
Temos que começar o entendimento sobre testes end-to-end trazendo o conceito de pirâmide de testes. Seu surgimento foi a partir de Mike Cohn em seu livro "Succeeding with Agile" (2009), na qual ele apresentou o conceito trazendo uma visão de qual tipo de testes deveria ser priorizado, criando assim uma hierarquia. Na imagem acima da pirâmide podemos perceber essa hierarquia na qual na base dos testes estão os unitários que devem ter uma maior cobertura de testes por ele ter um custo baixo e ser mais performático que os testes integrados e end-to-end (e2e).
Para os testes e2e foi deixado o topo da pirâmide por ele simular e testar todo o fluxo e comportamento do usuário, desde ações de input de texto até em cliques no botão, fazendo com que se torne muito passivo de quebra após pequenas alterações e de complexidade alta para o desenvolvimento.
Assim a partir dessa imagem uma cultura foi se crescendo que trazia que os testes e2e não era necessário por sua complexidade e custo, mas com o crescimento das aplicações web e a concorrência entre as empresas fizeram com que os testes fossem mais visíveis por trazer uma visão completa do cliente, assim com o passar dos anos foi se popularizando juntamente com surgimento de ferramentas que facilitam esse tipo de teste, como o caso do Cypress e Playwright.
O primeiro que surgiu entre esses dois foi o Cypress (2014), onde seu principal objetivo era facilitar a configuração, criação e execução dos testes, sendo ele feito desde por product managers até por desenvolvedores e QA. Seus principais pontos positivos são a execução rápida, fácil de usar e documentação vasta. Contudo, sua dependência de Javascript, navegador limitado ao chromium e o custo para execução na própria nuvem do Cypress fez com que o Playwright fosse visto com bons olhos pela comunidade, se tornando tendência para os próximos anos, por isso a necessidade de conhecer essa ferramenta.
Playwright
Playwright foi lançado oficialmente em 2020 pelo time da Microsoft Edge, na qual inicialmente foi criado para testar para o navegador Edge mas com sua performance alta e facilidade de criar os testes foi aberto para que outros navegadores sejam testados, bem como o maior diferencial dele é ser multilinguagem. Abaixo listo os principais prós e contra da ferramenta:
Prós:
Suporte Multi-Navegador: O Playwright suporta vários navegadores, incluindo Chromium (Chrome e Microsoft Edge), Firefox e WebKit (Safari), permitindo que os testes sejam executados em diferentes ambientes de navegador.
API Poderosa: Ele oferece uma API rica e poderosa que permite aos desenvolvedores controlar o navegador de forma eficaz, realizando uma variedade de interações do usuário, como clicar em elementos, preencher formulários e navegar entre páginas.
Multi-Contexto: O Playwright pode interagir com várias abas e contextos de navegador simultaneamente, o que o torna adequado para testes complexos que envolvem várias partes do aplicativo da web.
Multilinguagem: possui disponibilidade de desenvolvimento dos testes para as 4 linguagens de programação mais utilizada do mercado (Node.js, Python, Java e .NET)
Contra:
Curva de Aprendizado: Embora seja poderoso, o Playwright pode ter uma curva de aprendizado íngreme para iniciantes, especialmente aqueles que não têm experiência anterior com automação de testes ou programação nas linguagens que é compatível com a ferramenta.
Compatibilidade de Navegador: Embora suporte múltiplos navegadores, pode haver diferenças sutis de comportamento entre os navegadores, o que pode exigir ajustes nos testes para garantir a consistência.
Requisitos de Infraestrutura: Configurar e gerenciar a infraestrutura necessária para executar testes em paralelo ou em diferentes navegadores pode ser desafiador e exigir recursos adicionais.
Bom, agora que conhecemos um pouco do Playwright nada melhor que darmos o início ao nosso projeto de automação. Nessa semana estaremos criando o projeto e para sexta que vem vamos realizar uma breve automação para melhor entendimento da ferramenta.
Para esse projeto utilizaremos Node.JS então para isso é necessário a instalação do Node.Js (link) e do VsCode para o desenvolvimento do código. Após a instalação de ambos, escolha uma pasta no seu computador e pelo terminal execute o comando:
npm init playwright@latest
Bom pessoal, nessa semana conhecemos um pouco mais sobre testes end-to-end e também o conceito inicial do Playwright. Na próxima semana estaremos colocando em prática o uso dessa ferramenta a partir do site https://seubarriga.wcaquino.me/login e por fim a criação de uma pipeline no Github Actions, espero vocês 😊.
O que rolou de Tecnologia?
Além do código: navegando pelas nuances do DevOps para desenvolvedores de software - conceito de cultura DevOps veio para ficar e nada mais importante de entender um pouco da visão dessa cultura, seus pontos fortes e o melhor do uso dessa cultura. Muito interessante a leitura!
3 ganchos de React úteis que você não conhece - é cada vez mais importante conhecer de React, hoje sendo uma das bibliotecas de frontend mais consolidada no mercado. Nesse texto é apresentado 3 ganchos que você deve conhecer para te auxiliar no dia-a-dia.
Bibliotecas Python que você precisa conhecer em 2024 - python a cada ano se consolida como uma linguagem de programação de múltiplo propósito. Para 2024 nada melhor conhecer várias bibliotecas que podem te auxiliar em alguma demanda no trabalho. Interessante a leitura!
E Qualidade de Software, como está?
As armadilhas de um relatório de teste que passe - todos nós QAs e desenvolvedores ficamos felizes quando o relatório de testes automatizados passa de primeira, contudo já realizamos a análise se de fato esses testes estão corretos? Nesse texto é apresentado a visão de como falso positivos interfere na performance dos testes automatizados.
Garantia de qualidade de software — Como verificar a integração do sistema com bancos de dados - como já vimos em várias newsletter, o papel do QA é muito abrangente e um dos pontos que mais o QA atua nas empresas é na camada de testes em banco de dados. O artigo apresenta um passo a passo de como verificar a integração dos sistemas de banco de dados.
SDET: Poder da Estratégia de Automação de Testes - sair realizando testes automatizados sem planejamento é um erro que muitas organizações tem. O artigo aborda o quão importante é a estratégia para padronizar e desenvolver a automação de testes. Excelente artigo!
Eventos Importantes não perca!
QA sem Fronteiras: Seu caminho para uma carreira de sucesso em Portugal - Evento Online.
Data: 21/03
Inscrições abertasDevOps Descomplicado: Construindo Pontes entre Desenvolvimento e Operações para Iniciantes - Evento Online.
Data: 04/04
Inscrições abertas
Vejo vocês na próxima newsletter 😁🚀!
“Aquilo que não traz utilidade ao enxame, tampouco é útil à abelha” – Marco Aurélio