DevOps e testes automatizados:
Conheça os segredos do sucesso e
livre-se das armadilhas
Métodos Ágeis e Práticas DevOps – Ietec
Prof. Rodrigo Oliveira
Quem sou eu?
Alguém que quer ajudar!
Trabalho com Desenvolvimento e Qualidade de Software desde 1993
Técnico em processamento de dados – 1994
Bacharel em Ciências da Computação – 2005
Especialista em Gestão de Negócios – 2007
Certified Brazilian Tester pela ALATS desde 2008
Project Management Professional (PMP) pelo PMI desde 2009
MBA em Gestão de Projetos – 2010
Mestre em Engenharia e Gestão de Sistemas e Processos – 2017
Quais as expectativas? O que esperam?
Para você o que é Agile Testing?
E o que você sabe sobre automação de testes?
E sobre DevOps + Automação de Testes?
• Procura Bug
• Garante que os requisitos sejam
atendidos
• Resistentes à mudança
• Qualidade é responsabilidade do
testador
• Trabalha separado do time
• Teste é uma fase
• Teste no final do desenvolvimento
• Previne Bug
• Garante que as expectativas sejam
claras
• Aceita novas ideias
• Qualidade é responsabilidade do time
• Trabalha junto ao time
• Teste é uma atividade
• Teste durante o desenvolvimento
Tradicional Ágil
1 - Prover feedback contínuo
2 - Entregar valor para o cliente
3 - Comunicação face-a-face
4 - Coragem
5 - Manter-se simples
6 - Praticar melhoria contínua
7 - Responder às mudanças
8 - Auto-organizar
9 - Foco nas pessoas
10 - Divertir-se
Mas qual é o problema que queremos resolver
com automação de testes?
http://www.ambysoft.com/surveys/agileTesting201211.html
Build
Deploy
Test
Release
CD
Processo
Permitir as entregas em
qualquer ambiente e a
qualquer momento
Tornar todas as
partes do
processo visíveis.
Melhorar o feedback
do processo para
identificar os
problemas
rapidamente.
Objetivos
Continuous Delivery
Principais conceitos
Controle de Versão
Integração Contínua
Testes Automatizados
Testes de Performance
Continuous Delivery
Pipeline de Implantação
• Compilar todas as partes de uma aplicação;
• Implantá-las em um ambiente qualquer – homologação ou produção –
• Testá-la;
• Efetuar sua entrega final.
Sem intervenção manual em nenhuma etapa.
CD = Mais entregas com maior frequencia
Como fazer isto em cada vez mais rápido,
correto, seguro e com qualidade?
Como testar todas as minhas 549K linhas de
código!??!?
Aplicar Teste em Agile envolve ter mais skiils
T-shape tester
T-shape tester
T-shape tester
Mais skiils favorecem a implantação de
automação de testes em ambientes ágeis
Agilidade sem automação de testes e continuous
delivery não existe
Continuous Delivery é uma etapa do DevOps
• Alguns pontos importantes:
•Automatizar processos de desenvolvimento
•Tornar o código testável (refatorar)
•Executar testes a cada mudança no código
•Implantar Feature Toggles
•Infraestrutura como código
DevOps & Testing
• Alguns pontos importantes:
• Cultura: Colaboração; Fim das divisões; Relação saudável
entre as áreas; Mudança de comportamento
• Automação: Deploy; Controle; Monitoração; Gerência
de configuração; Orquestração
• Avaliação: Métricas; Medições; Performance; Logs e
integração
• Compartilhamento: O feedback é tudo; Boa
comunicação entre a equipe
DevOps & Testing
DevOps & Testing
Telemetry
Production Testing
Que armadilhas devemos evitar?
Pirâmide de Testes
“Ideal”
UI
Service
Unit
https://watirmelon.blog/tag/testing-pyramid/
Testes Manuais
Anti Padrão
“Sorvete”
Automated GUI Tests
Integration
Tests
Unit
Tests
Manual Tests
• adaptação: watirmelon.com
https://watirmelon.blog/tag/testing-pyramid/
Anti Padrão
“Cupcake”
https://www.thoughtworks.com/pt/insights/blog/introducing-software-testing-cupcake-anti-pattern
http://ptgmedia.pearsoncmg.com/images/9780321821720/samplepages/9780321821720.pdf
Case HP
Organização:
HP LaserJet FutureSmart Firmware
Indústria:
Software
Cenário/Desafios:
400 Dev’s, Time distribuído geograficamente, Complexidade (firmware, diversos produtos
suportados),
Mudanças rápidas (pressão do mercado de impressoras).
Resultados:
- Redução do custo de desenvolvimento em 40%
- Aumento do número de programas em desenvolvimento aumentado em 140%
- Redução do tempo de entrega (Cycle time) de 2 meses para 1 dia;
https://www.slideshare.net/gbgruver/spark-2013-presentation-of-making-the-enterprise-agile
Case HP
http://flowcon.org/dl/flowcon-sanfran-2013/slides/GaryGruver_APracticalApproachToLargeScaleAgileDevelopment.pdf
Case HP
http://agiletester.ca/
http://lisacrispin.com/downloads/AgileTestingOverview.pdf
http://blog.goneopen.com/2010/08/test-automation-pyramid-review/
http://www.ambysoft.com/essays/agileTesting.html
http://eliasnogueira.com/
http://agiletesters.com.br/
http://www.thedevelopersconference.com.br/tdc/2013/ https://talkingabouttesting.com/tag/e2e-
testing/
https://robots.thoughtbot.com/how-to-stub-external-services-in-tests
http://www.slideshare.net/samantacicilia/continuous-delivery-verso-estendida
http://www.slideshare.net/grupodetestescarioca
https://www.infoq.com/br
https://rodrigoalmeidadeoliveira.wordpress.com/
DevOps e testes automatizados:
Conheça os segredos do sucesso e
livre-se das armadilhas
Métodos Ágeis e Práticas DevOps – Ietec
Prof. Rodrigo Oliveira

Workshop ietec Devops Testing