O documento discute os conceitos e práticas de Continuous Delivery, incluindo testes automatizados, integração contínua e entrega contínua. Ele explica como esses processos podem melhorar a qualidade do software e reduzir o tempo de entrega através do uso de ferramentas de teste e implantação.
3. A forma como as empresas desenvolvem software muda
rapidamente – seja por necessidades do mercado, evolução de
tecnologias ou até mesmo redução de custos. Todos os dias essas
empresas precisam fazer mais com menos investimento, para
simultaneamente manter a competitividade e reduzir os custos.
–The Phoenix Project
“
10. 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.
Continuous Delivery
Objetivos
12. Pipeline de Implantação
Implementação automatizada do processo de
compilar todas as partes de uma aplicação,
implantá-las em um ambiente qualquer –
homologação ou produção – testá-la e
efetuar sua entrega final.
25. Testes Unitários
Feedback extremamente rápido.
10min. build (eXtreme Programming)
Testes de valores limite, diferentes
combinações etc
Cobertura de Código
Segurança para fazer mudanças (XP)
Test Driven Development
27. Cobertura &
Análise Estática
Porcentagem de código sendo
exercitado por testes
Análise de acordo com regras:
• Estilo (identação, comentários)
• Boas práticas (duplicação de
código, tamanho de métodos)
30. Testes de Mutação
Testar seus Testes Unitários
Ferramenta introduz mutações no seu
código e executa os testes unitários
Se os testes falharem = OK!
Se os testes passarem = NOK!
31. Ferramentas de Testes de Mutação
http://pitest.org/
https://pypi.python.org/pypi/MutPy
http://visualmutator.github.io/web/
https://ninjaturtles.codeplex.com/
https://github.com/mbj/mutant
http://jumble.sourceforge.net/
32. Testes de Serviço
Depois dos Testes de Unidade
e antes dos Testes de UI
Testar seu app + módulos
componentes, banco de dados
Sem interface
Integração/Componentes
Contratos
API/Webservices
33. Ferramentas de Testes de Serviço
http://flask-restless.readthedocs.io/en/stable/
http://frisbyjs.com/
https://www.soapui.org/
https://github.com/visionmedia/supertest
https://github.com/jayway/rest-assured
https://github.com/rest-client/rest-client https://github.com/brooklynDev/airborne
https://github.com/svanoort/pyresttest
48. Agile Testing: A Practical Guide for Testers and Agile Teams
por Brian Marick (Prólogo), Lisa Crispin (Autor), Janet Gregory (Autor)
https://www.amazon.com.br/Agile-Testing-Practical-Guide-Testers/dp/0321534468
More Agile Testing: Learning Journeys for the Whole Team
por Janet Gregory (Autor), Lisa Crispin (Autor)
https://www.amazon.com/More-Agile-Testing-Addison-Wesley-Signature/dp/0321967054
Entrega Contínua. Como Entregar Software de Forma Rápida e Confiável
por Jez Humble (Autor)
https://www.amazon.com.br/Entrega-Cont%C3%ADnua-Entregar-Software-Confi%C3%A1vel/dp/8582601034
The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
por Gene Kim (Autor), Kevin Behr (Autor), George Spafford (Autor)
https://www.amazon.com.br/Phoenix-Project-DevOps-Helping-Business/dp/0988262592
Succeeding with Agile: Software Development Using Scrum
Por Mike Cohn (Autor)
https://www.amazon.com/Succeeding-Agile-Software-Development-Using/dp/0321579364
57. www.concretesolutions.com.br
Rio de Janeiro – Rua São José, 90 – cj. 2121
Centro – (21) 2240-2030
São Paulo - Rua Sansão Alves dos Santos, 433
4º andar - Brooklin - (11) 4119-0449
Ajudamos empresas a criar
produtos digitais de sucesso