Workshop ietec Devops Testing

47

Transcript of Workshop ietec Devops Testing

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 sejamatendidos

• 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.comhttps://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 HPOrganizaçã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