SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Testes automatizados
Por Danilo Pinotti
Introdução
O objetivo dos testes automatizados é simplificar o máximo possível
do esforço de testes manuais através de um conjunto de scripts
programados.
Se um teste manual específico consome uma grande porcentagem
dos recursos de uma equipe de garantia de qualidade (QA), por
exemplo, esse processo pode ser um bom candidato para
automação.
O que é
- Reduz o tempo de testes manuais;
- Aumenta a qualidade do produto final, reduzindo a chance de
entregar funcionalidades que antes funcionavam e, depois de
uma atualização não funciona mais;
- Redução de custos, ganho na qualidade gerando maior retorno
em relação ao investimento realizado;
- Aumenta a qualidade da arquitetura e estrutura interna da
aplicação;
- etc.
Vantagens
Testes unitários: Teste de cada classe da aplicação de forma
individual e isolada;
Testes de integração: Teste de uma funcionalidade do sistema em
que integra várias classes, por exemplo, um endpoint de uma API;
Tipos de testes automatizados (alguns)
Testes de interface: Testes de telas, para ver se o comportamento
delas está correto.
Testes de sistema: São testes criados para validar a estrutura do
sistema ou alguma particularidade arquitetural.
Tipos de testes automatizados (alguns)
Pirâmide de testes
Fonte: https://www.eximiaco.tech/
Testes
automatizados no
Laravel (PHPUnit)
- project/.env.testing: Arquivo com variáveis de ambientes
carregado automaticamente ao executar os testes.
- project/phpunit.xml: Arquivo com as configurações do PHPUnit.
- project/tests/: Pasta que conterá todos os testes automatizados
do sistema
Setup
Até a versão 7.x do Laravel: project/vendor/bin/phpunit
Laravel 7.x ou mais recente: php artisan test
Dica: Projetos que possuem o Makefile, pode ser interessante
criar uma rotina test para executar os testes: make test
Executar suite de testes
Executar suite de testes (phpunit)
Executar suite de testes (php artisan test)
Estrutura de pastas dos testes
Testes unitários
- Testar classes e métodos de forma individual e isolada.
- Para cada classe na aplicação, existirá uma classe de teste
unitário seguindo o mesmo namespace dentro da pasta de
testes unitários.
- Validar comportamentos através de asserções.
- São rápidos! Deve ser possível executar centenas/milhares de
testes em poucos segundos.
- Evitar acesso ao banco de dados, leitura de arquivos,
consultas ao Redis, etc.
Testes unitários: Conceitos
Prática
Criando testes
unitários
Próximos passos:
Factories, testes de
integração e TDD
Dúvidas?
Obrigado!

Mais conteúdo relacionado

Mais procurados

Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec ComIgor Rozani
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por ModelosNatã Melo
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
Do push para a produção: Os desafios de automação em Continuous Delivery
Do push para a produção: Os desafios de automação em Continuous DeliveryDo push para a produção: Os desafios de automação em Continuous Delivery
Do push para a produção: Os desafios de automação em Continuous DeliveryCamilo Ribeiro
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...Mayara Fernandes
 
Visual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NETVisual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NETFernando Henrique
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?Mayara Fernandes
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCMayara Fernandes
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiInael Rodrigues
 
Sga automação de-teste
Sga automação de-testeSga automação de-teste
Sga automação de-testeArmando Couto
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 

Mais procurados (19)

Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec Com
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por Modelos
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Do push para a produção: Os desafios de automação em Continuous Delivery
Do push para a produção: Os desafios de automação em Continuous DeliveryDo push para a produção: Os desafios de automação em Continuous Delivery
Do push para a produção: Os desafios de automação em Continuous Delivery
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
 
JMeter
JMeterJMeter
JMeter
 
Introdução ao Maven
Introdução ao MavenIntrodução ao Maven
Introdução ao Maven
 
Visual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NETVisual Studio Summit 2014 - Profiling de Aplicações .NET
Visual Studio Summit 2014 - Profiling de Aplicações .NET
 
Mini aula de teste de software
Mini aula de teste de softwareMini aula de teste de software
Mini aula de teste de software
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SC
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta Jabuti
 
Sga automação de-teste
Sga automação de-testeSga automação de-teste
Sga automação de-teste
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 

Semelhante a Testes automatizados: reduz custos e aumenta qualidade

Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1Jeison Barros
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureGrupo de Testes Carioca
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisElias Nogueira
 
ybr789try
ybr789tryybr789try
ybr789tryteste
 
Testes de software
Testes de softwareTestes de software
Testes de softwareteste
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Webcasts developerWorks Brasil
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfRodolphoCesar2
 

Semelhante a Testes automatizados: reduz custos e aumenta qualidade (20)

Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Python com TDD
Python com TDDPython com TDD
Python com TDD
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
 
ybr789try
ybr789tryybr789try
ybr789try
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Testes de Software.ppt
Testes de Software.pptTestes de Software.ppt
Testes de Software.ppt
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 

Mais de Danilo Pinotti

Site estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdfSite estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdfDanilo Pinotti
 
Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]Danilo Pinotti
 
Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Danilo Pinotti
 
Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Danilo Pinotti
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3Danilo Pinotti
 
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3Danilo Pinotti
 
Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6Danilo Pinotti
 
Deixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDeixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDanilo Pinotti
 

Mais de Danilo Pinotti (12)

Do Zero à Produção
Do Zero à ProduçãoDo Zero à Produção
Do Zero à Produção
 
Site estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdfSite estático + Hospedagem Gratuita.pdf
Site estático + Hospedagem Gratuita.pdf
 
Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]
 
Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]
 
Code Review
Code ReviewCode Review
Code Review
 
Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3
 
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
 
Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6
 
Deixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDeixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidas
 

Testes automatizados: reduz custos e aumenta qualidade

  • 3. O objetivo dos testes automatizados é simplificar o máximo possível do esforço de testes manuais através de um conjunto de scripts programados. Se um teste manual específico consome uma grande porcentagem dos recursos de uma equipe de garantia de qualidade (QA), por exemplo, esse processo pode ser um bom candidato para automação. O que é
  • 4. - Reduz o tempo de testes manuais; - Aumenta a qualidade do produto final, reduzindo a chance de entregar funcionalidades que antes funcionavam e, depois de uma atualização não funciona mais; - Redução de custos, ganho na qualidade gerando maior retorno em relação ao investimento realizado; - Aumenta a qualidade da arquitetura e estrutura interna da aplicação; - etc. Vantagens
  • 5. Testes unitários: Teste de cada classe da aplicação de forma individual e isolada; Testes de integração: Teste de uma funcionalidade do sistema em que integra várias classes, por exemplo, um endpoint de uma API; Tipos de testes automatizados (alguns)
  • 6. Testes de interface: Testes de telas, para ver se o comportamento delas está correto. Testes de sistema: São testes criados para validar a estrutura do sistema ou alguma particularidade arquitetural. Tipos de testes automatizados (alguns)
  • 7. Pirâmide de testes Fonte: https://www.eximiaco.tech/
  • 9. - project/.env.testing: Arquivo com variáveis de ambientes carregado automaticamente ao executar os testes. - project/phpunit.xml: Arquivo com as configurações do PHPUnit. - project/tests/: Pasta que conterá todos os testes automatizados do sistema Setup
  • 10. Até a versão 7.x do Laravel: project/vendor/bin/phpunit Laravel 7.x ou mais recente: php artisan test Dica: Projetos que possuem o Makefile, pode ser interessante criar uma rotina test para executar os testes: make test Executar suite de testes
  • 11. Executar suite de testes (phpunit)
  • 12. Executar suite de testes (php artisan test)
  • 13. Estrutura de pastas dos testes
  • 15. - Testar classes e métodos de forma individual e isolada. - Para cada classe na aplicação, existirá uma classe de teste unitário seguindo o mesmo namespace dentro da pasta de testes unitários. - Validar comportamentos através de asserções. - São rápidos! Deve ser possível executar centenas/milhares de testes em poucos segundos. - Evitar acesso ao banco de dados, leitura de arquivos, consultas ao Redis, etc. Testes unitários: Conceitos
  • 17. Próximos passos: Factories, testes de integração e TDD