Pensar em legibilidade vai além de ter simplesmente um código "bonitinho", é otimizar uma análise e entendimento e principalmente a evolução dele.
Trabalhando em um piloto de automação de testes de software percebemos na pele a importância de seguir boas práticas de escrita de código e como construções ruins oneravam nosso entendimento na análise\refactoring desses testes.
A ideia é trazer dicas de boas práticas que deixarão seu código mais claro e efetivo, baseado no aprendizado que tivemos com pontos que "dificultavam nossa vida".
Ps: Palestra apresentada na Trilha Design de Código no TDC Florianópolis
4. CONTEXTO
● 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
18. ● Definição de domínios
● Facilita a escrita e leitura dos testes
● Enum próprio para o teste
3. Uso de Enums
19. 4. Data Driven Testing
○ 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?
20.
21.
22.
23.
24. 5. Uso de DSL
● 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
25. ● 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
5. Uso de DSL
29. E pra fechar...
● Legibilidade não é perfumaria
● Facilita entendimento
● Facilita a manutenção
● Deixa seu código limpo
● Adotar padrões ou diretrizes
○ Linguagem
○ Time (Empresa)
30. “Test code is just as
important as production
code…”
Robert C. Martin - Clean Code
31. Analista de Testes
Há 7 anos
Alessandra Kajihara
Matera Systems
Há 5 anos
CONTATOS
Linkedin: Alessandra Kajihara Email: sahkaji@gmail.com
32. 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
Linkedin: Ariane Izac Email: afizac@gmail.com Twitter: @arianizac