Pensar em legibilidade vai além de ter simplesmente um código bonito, limpo e elegante. É otimizar seu entendimento, refactoring e, por que não, a confiança que tenho nele.
A ideia é trazer 5 dicas que deixarão seu código mais claro e efetivo, baseadas em exemplos de construções ruins, mostrando como isso dificulta a leitura e refactoring\manutenção dos testes automáticos.
Obs: Essa palestra foi apresentada no TDC Florianópolis com a Alessandra Kajihara na Trilha Testes.
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
5 dicas para melhorar a legibilidade de código dos testes automáticos
1.
2.
3.
4. ● Piloto de Automação de Testes
● Objetivo: Evoluir a qualidade e cobertura de testes
● Maiores Dificuldades
○ Legibilidade do código
○ Construções complexas
○ Propósito do teste
○ Asserts que não validam o propósito ou
ausência de asserts
5.
6. ● Facilidade de leitura e entendimento
● Bem estruturado/formatado
● Minimizar margem para falsos positivos
● Fácil manutenção
7.
8.
9. ● Precisa ser
○ Claro e auto-explicativo
○ Coerente com o assert do teste
● Padrões normalmente utilizado no Java
○ Camelcase
10. ● Métodos muito grandes
○ Tornam-se complexos
○ Dificultam entendimento
● Reuso de código
○ Encapsulamento
18. ● Definição de domínios
● Facilita a escrita e leitura dos testes
● Enum próprio para o teste
19. ○ O que é Data Driven?
■ Testes orientados a dados
■ Uso de matrizes (tabela-verdade)
○ Quando utilizar
■ Vários testes com o mesmo fluxo e
dados diferentes de entrada e/ou saída
○ Como?
27. ● O que é DSL?
○ Domain Specific Language: Linguagem de
domínio específico
○ Pequenas Linguagens - Resolve um problema
específico
○ Camada de abstração
● Tipos de DSL
○ DSL Interna: Utiliza linguagem host
○ DSL Externa: Utiliza uma outranova
linguagem para atender o domínio
28. ● Quando utilizar?
○ Casos complexos
○ Casos com muito reuso de código
● Como utilizar?
○ Linguagem de negócio
○ Encapsulamento do método
● Vantagens
○ Facilita o entendimento do código - Intuitivo
○ Aumenta a produtividade - manutenção
29.
30.
31.
32. ● Legibilidade não é perfumaria
● Facilita entendimento
● Facilita a manutenção
● Deixa seu código limpo
● Adotar padrões ou diretrizes
○ Linguagem
○ Time (Empresa)
33.
34. Analista de Testes
Há 7 anos
Alessandra Kajihara
Matera Systems
Há 5 anos
CONTATOS
Alessandr Kajira sahkaji@gmail.com
35. Analista de Testes
Há 12 anos
Ariane Izac
Matera Systems
Há 7 anos
Blogueira
Grupo no LinkedIN
Diário de uma Paixão:
Teste de Software
CONTATOS
Ariane Izac afizac@gmail.com @arianizac