SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
● 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
● Facilidade de leitura e entendimento
● Bem estruturado/formatado
● Minimizar margem para falsos positivos
● Fácil manutenção
● Precisa ser
○ Claro e auto-explicativo
○ Coerente com o assert do teste
● Padrões normalmente utilizado no Java
○ Camelcase
● Métodos muito grandes
○ Tornam-se complexos
○ Dificultam entendimento
● Reuso de código
○ Encapsulamento
???
● Definição de domínios
● Facilita a escrita e leitura dos testes
● Enum próprio para o teste
○ 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?
Enum
● 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
● 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
● Legibilidade não é perfumaria
● Facilita entendimento
● Facilita a manutenção
● Deixa seu código limpo
● Adotar padrões ou diretrizes
○ Linguagem
○ Time (Empresa)
Analista de Testes
Há 7 anos
Alessandra Kajihara
Matera Systems
Há 5 anos
CONTATOS
Alessandr Kajira sahkaji@gmail.com
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
[1] https://www.guj.com.br/t/legibilidade-de-codigo/61896/6
[2]
https://medium.com/equals-lab/tem-um-tempinho-para-conversarmos-sobre-boas-pr%C3%A1ticas
-de-programa%C3%A7%C3%A3o-com-java-51c5bcc220ea
[3] https://pt.slideshare.net/FelipeVolpone/legibilidade-do-cdigo
[4] https://www.alura.com.br/curso-online-refatorando-na-pratica-com-java
[5] https://google.github.io/styleguide/javaguide.html
[6] https://www.infoq.com/br/presentations/arquiteturas-profissionais-javaee
[7] https://www.martinfowler.com/bliki/DslQandA.html
[8] https://www.devmedia.com.br/convencoes-de-codigo-java/23871
[9] http://www.eliasnogueira.com/parametrizacao-de-dados-para-automacao-de-teste/
5 dicas para melhorar a legibilidade de código dos testes automáticos

Mais conteúdo relacionado

Semelhante a 5 dicas para melhorar a legibilidade de código dos testes automáticos

Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018Renato Groff
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Renato Groff
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Renato Groff
 
Boa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseBoa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseOziel Moreira Neto
 
Visao geral TI03 2-0
Visao geral TI03 2-0Visao geral TI03 2-0
Visao geral TI03 2-0Ale Uehara
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...iMasters
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Renato Groffe
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03Ale Uehara
 
Testes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUGTestes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUGbeiraJUG
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Romualdo Andre
 
Seminário sobre GO
Seminário sobre GOSeminário sobre GO
Seminário sobre GOgptavares
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Renato Groff
 

Semelhante a 5 dicas para melhorar a legibilidade de código dos testes automáticos (20)

Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
 
Codigo limpo.pptx
Codigo limpo.pptxCodigo limpo.pptx
Codigo limpo.pptx
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
 
Boa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java EnterpriseBoa Práticas no Desenvolvimento Java Enterprise
Boa Práticas no Desenvolvimento Java Enterprise
 
Visao geral TI03 2-0
Visao geral TI03 2-0Visao geral TI03 2-0
Visao geral TI03 2-0
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
 
Tdd On Rails
Tdd On RailsTdd On Rails
Tdd On Rails
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03
 
Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03
 
Testes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUGTestes Unitários - 1 Sessão beiraJUG
Testes Unitários - 1 Sessão beiraJUG
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016
 
Seminário sobre GO
Seminário sobre GOSeminário sobre GO
Seminário sobre GO
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Codigo limpo
Codigo limpoCodigo limpo
Codigo limpo
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Clean code part 2
Clean code   part 2Clean code   part 2
Clean code part 2
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 

Mais de Ariane Izac

Panorama geral sobre testes e qualidade de software
Panorama geral sobre testes e qualidade  de softwarePanorama geral sobre testes e qualidade  de software
Panorama geral sobre testes e qualidade de softwareAriane Izac
 
Quer monitorar sua aplicação Java com Open Source? Com Fligth Recorder e M...
Quer monitorar sua aplicação  Java com Open Source?  Com Fligth Recorder  e M...Quer monitorar sua aplicação  Java com Open Source?  Com Fligth Recorder  e M...
Quer monitorar sua aplicação Java com Open Source? Com Fligth Recorder e M...Ariane Izac
 
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Ariane Izac
 
Como a comunicação influencia em times ágeis?
Como a comunicação influencia em times ágeis?Como a comunicação influencia em times ágeis?
Como a comunicação influencia em times ágeis?Ariane Izac
 
5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performanceAriane Izac
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilAriane Izac
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
[Mentorado de Teste] Dicas para palestrar - Ariane Izac
[Mentorado de Teste] Dicas para palestrar - Ariane Izac[Mentorado de Teste] Dicas para palestrar - Ariane Izac
[Mentorado de Teste] Dicas para palestrar - Ariane IzacAriane Izac
 
Divando nos testes com as práticas do Agile Testing
Divando nos testes com as práticas do Agile TestingDivando nos testes com as práticas do Agile Testing
Divando nos testes com as práticas do Agile TestingAriane Izac
 
Upgrade na sprint com práticas do agile testing - QA Ladies 2a Noite
Upgrade na sprint com práticas do agile testing - QA Ladies 2a NoiteUpgrade na sprint com práticas do agile testing - QA Ladies 2a Noite
Upgrade na sprint com práticas do agile testing - QA Ladies 2a NoiteAriane Izac
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box TestingAcredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box TestingAriane Izac
 
Upgrade na Sprint com práticas do Agile Testing - MTC2017
Upgrade na Sprint com práticas do Agile Testing - MTC2017Upgrade na Sprint com práticas do Agile Testing - MTC2017
Upgrade na Sprint com práticas do Agile Testing - MTC2017Ariane Izac
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing Ariane Izac
 
Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?Ariane Izac
 

Mais de Ariane Izac (15)

Panorama geral sobre testes e qualidade de software
Panorama geral sobre testes e qualidade  de softwarePanorama geral sobre testes e qualidade  de software
Panorama geral sobre testes e qualidade de software
 
Quer monitorar sua aplicação Java com Open Source? Com Fligth Recorder e M...
Quer monitorar sua aplicação  Java com Open Source?  Com Fligth Recorder  e M...Quer monitorar sua aplicação  Java com Open Source?  Com Fligth Recorder  e M...
Quer monitorar sua aplicação Java com Open Source? Com Fligth Recorder e M...
 
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
 
Como a comunicação influencia em times ágeis?
Como a comunicação influencia em times ágeis?Como a comunicação influencia em times ágeis?
Como a comunicação influencia em times ágeis?
 
5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
[Mentorado de Teste] Dicas para palestrar - Ariane Izac
[Mentorado de Teste] Dicas para palestrar - Ariane Izac[Mentorado de Teste] Dicas para palestrar - Ariane Izac
[Mentorado de Teste] Dicas para palestrar - Ariane Izac
 
Divando nos testes com as práticas do Agile Testing
Divando nos testes com as práticas do Agile TestingDivando nos testes com as práticas do Agile Testing
Divando nos testes com as práticas do Agile Testing
 
Upgrade na sprint com práticas do agile testing - QA Ladies 2a Noite
Upgrade na sprint com práticas do agile testing - QA Ladies 2a NoiteUpgrade na sprint com práticas do agile testing - QA Ladies 2a Noite
Upgrade na sprint com práticas do agile testing - QA Ladies 2a Noite
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box TestingAcredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
 
Upgrade na Sprint com práticas do Agile Testing - MTC2017
Upgrade na Sprint com práticas do Agile Testing - MTC2017Upgrade na Sprint com práticas do Agile Testing - MTC2017
Upgrade na Sprint com práticas do Agile Testing - MTC2017
 
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
Acredite, você pode agilizar feedbacks aplicando Dev Box Testing
 
Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?Você já aplicou dev box testing hoje?
Você já aplicou dev box testing hoje?
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 

Último (6)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

5 dicas para melhorar a legibilidade de código dos testes automáticos