Eduardo Bregaida apresenta seu perfil profissional como desenvolvedor Java e Scrum Master e seu objetivo de se tornar um piloto comercial de avião. Ele oferece ajuda a James para desenvolver um sistema para a loja de aeronaves herdada por James. Eles discutem os requisitos do domínio, incluindo diferentes tipos de aeronaves e suas características, e como modelar e implementar o sistema usando Domain-Driven Design (DDD), Behavior-Driven Development (BDD) e Test-Driven Development (TDD).
[QaOps] ]Integração Contínua | Estrategia de pipelineRafael Lima
Nessa apresentação (https://youtu.be/KsaEl5gY2F0) falo de Integração Contínua e estratégia de pipeline, mostrando diversos formatos da pirâmide de testes e que tipo de estratégia de pipeline serve para esses formatos. Também falamos de monolitos, microserviços e relevância da pirâmide de testes nos dias atuais.
Canal QaOps: http://videos.qa-ops.com
Hoje em dia, ainda é comum ter uma equipe de QA separada em um Desenvolvimento Ágil de Software. Nessa apresentação falamos nas áreas em que uma pessoa QA possa ser efetiva e como quebrar as barreiras dessa divisão.
Falamos também como a pessoa QA pode influenciar ou até mesmo fazer o coach do time para garantir a qualidade: QA coaching; Focado no Negócio; Engenheiro/Analista de Testes; DevOps
[QaOps] ]Integração Contínua | Estrategia de pipelineRafael Lima
Nessa apresentação (https://youtu.be/KsaEl5gY2F0) falo de Integração Contínua e estratégia de pipeline, mostrando diversos formatos da pirâmide de testes e que tipo de estratégia de pipeline serve para esses formatos. Também falamos de monolitos, microserviços e relevância da pirâmide de testes nos dias atuais.
Canal QaOps: http://videos.qa-ops.com
Hoje em dia, ainda é comum ter uma equipe de QA separada em um Desenvolvimento Ágil de Software. Nessa apresentação falamos nas áreas em que uma pessoa QA possa ser efetiva e como quebrar as barreiras dessa divisão.
Falamos também como a pessoa QA pode influenciar ou até mesmo fazer o coach do time para garantir a qualidade: QA coaching; Focado no Negócio; Engenheiro/Analista de Testes; DevOps
Qualidade de Software em Micro ServiçosRafael Lima
A arquitetura de micro serviços permite que partes dos sistemas evoluam de forma independente, porém exige mais atenção em como garantir a qualidade dessas diversas partes.
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
Palestra ministrada na Trilha de Testes do TDC2016 em 09 de julho de 2016. Nela mostro, na prática, como automatizar testes de unidade, API e Web com frameworks open-source em Ruby.
Introdução a modularidade com RequireJS e BDD com Jasmine. Tais ferramentas permitem criar uma estrutura firme para desenvolver projetos JavaScript. Projetos estruturados dessa maneira podem rodar tanto no navegador quanto no NodeJS.
Demonstrações disponíveis em:
https://github.com/awvalenti/javascript-firme
Quem nunca ouviu, "mas é só mais campinho na tela?". Nesta palestra compartilharemos com vocês como estamos conscientizando a equipe e os demais setores da empresa da importância de avaliar o impacto de alterações nos sistemas, mesmo que sendo apenas uma linha de código. Iremos apresentar os aprendizados, desafios e erros que já enfrentamos nestes 12 meses de uso e evolução do processo de desenvolvimento na HostGator America Latina com fases/atividades mais bem definidas e a importância de perpetuar esta visão para os demais setores da empresa. Além disso, apresentar sobre o presente, o crescimento e o futuro desta nova cultura voltada a usabilidade, qualidade, escala e segurança.
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
Slides da palestra que seria ministrada no 38º GURU SP, evento promovido pelo grupo de usuários Ruby de São Paulo no dia 07 de novembro de 2015.
Nesta palestra, apresento os frameworks Cucumber e WebDriver, usados para automação de testes em aplicações web usando BDD.
Qualidade de Software em Micro ServiçosRafael Lima
A arquitetura de micro serviços permite que partes dos sistemas evoluam de forma independente, porém exige mais atenção em como garantir a qualidade dessas diversas partes.
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
Palestra ministrada na Trilha de Testes do TDC2016 em 09 de julho de 2016. Nela mostro, na prática, como automatizar testes de unidade, API e Web com frameworks open-source em Ruby.
Introdução a modularidade com RequireJS e BDD com Jasmine. Tais ferramentas permitem criar uma estrutura firme para desenvolver projetos JavaScript. Projetos estruturados dessa maneira podem rodar tanto no navegador quanto no NodeJS.
Demonstrações disponíveis em:
https://github.com/awvalenti/javascript-firme
Quem nunca ouviu, "mas é só mais campinho na tela?". Nesta palestra compartilharemos com vocês como estamos conscientizando a equipe e os demais setores da empresa da importância de avaliar o impacto de alterações nos sistemas, mesmo que sendo apenas uma linha de código. Iremos apresentar os aprendizados, desafios e erros que já enfrentamos nestes 12 meses de uso e evolução do processo de desenvolvimento na HostGator America Latina com fases/atividades mais bem definidas e a importância de perpetuar esta visão para os demais setores da empresa. Além disso, apresentar sobre o presente, o crescimento e o futuro desta nova cultura voltada a usabilidade, qualidade, escala e segurança.
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
Slides da palestra que seria ministrada no 38º GURU SP, evento promovido pelo grupo de usuários Ruby de São Paulo no dia 07 de novembro de 2015.
Nesta palestra, apresento os frameworks Cucumber e WebDriver, usados para automação de testes em aplicações web usando BDD.
Este é uma aula sobre Typescript, NodeJS, Docker.
Este é o repositório com os arquivos para acompanhar a aula:
https://github.com/kenjishiromajp/typescript_serverside_starterkit
Domain Driven Design é uma abordagem para construção de softwares complexos e ambiciosos onde o foco primário da implementação é o negócio (domínio).
Apresentarei como remover as distrações de infraestrutura aplicando padrões de modelagem de domínio
como Aggregate, Entity, Value Object e Repository. E um diálogo sobre como a conexão entre pessoas
desenvolvedoras e especialistas de domínio podem trazer resultados positivos na modelagem e arquitetura
de uma aplicação.
Deep Dive na plataforma Java, cobrindo os motivos da JVM/JRE ser a menina dos olhos em um mundo de TI poliglota! PErformance, Segurança, Jython, JRuby e muito mais!
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
Apresentação sobre o uso de Docker no desenvolvimento de soluções de sofrtware. Palestra realizada em 17/07/2018 em evento promovido pelo grupo Developers-BR em São Paulo-SP.
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
Apresentação sobre o uso de Docker no desenvolvimento de soluções de sofrtware. Palestra realizada em 14/08/2018 em evento promovido pelo grupo Developers-BR em São Paulo-SP.
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
Apresentação sobre o uso de Docker Compose e Visual Studio Code na implementação de soluções que façam uso do ASP.NET Core. Palestra realizada durante o VS Code Night #1, evento promovido pelo grupo .NET SP em São Paulo-SP.
Quantas vezes você precisou lidar com achar e corrigir bugs mesmo meses depois do desenvolvimento?
Quantas vezes o seu budget estourou pois nem todos os cenários foram cobertos pelos desenvolvedores nos seus testes?
Nesta palestra vamos ver como uma pessoa ou time dedicada ao controle de qualidade pode trabalhar com o gerente do projeto e/ou líder técnico/arquiteto para garantir uma melhor cobertura de casos de usos e testes em múltiplos projetos, e como isso impactará a entrega final.
Isso não é um ataque aos desenvolvedores. Eu também sou um desenvolvedor!
Mas já passou o momento de levarmos QA mais a sério durante o desenvolvimento.
Neste material tento deixar claro de uma vez por todas como deve ser uma War Room e como é empregado errado no mercado e ao invés de uma prática de motivação juntando as pessoas as empresas conseguem afastar e desmotivar seus profissionais, utilizando as ferramentas de forma certa te garante engajamento e lealdade.
O material é livre e pode ser utilizado mantendo as referências ao autor.
Material dedicado a gestores e times de desenvolvimento de software.
Apresentação dedicada para gestores, times e equipes que desejam aprender e praticar técnicas de Feedback, a importância do feedback e como podemos utilizar.
Material aberto e grátis desde que mantenham a originalidade e referências sobre o autor.
Falhas nos projetos é culpa da Cultura da Empresa e não das metodologias ágeisEduardo Bregaida
Apresentação feita no Encontro Ágil #EA2010 da USP, mostrando pontos falhos na cultura da empresa. Gravação: http://bit.ly/ea2010Bregaida By Suelen Carvalho
Gostaria de agradecer ao Danilo Sato, Emmanuel Santana, Luca Bastos, Maciel, Moreira, Luiz Aguiar, Fernando Boaglio (ele tem umas fotos de Kanban muito boas no qual utilizei nessa apresentação), Rodrigo de Toledo e Roberto Nogueira pela ajuda e revisão dos Slides e também gostaria de agradecer toda lista de discussão do Visão Ágil, que me deram muitas dicas e fontes interessantes.
9. Havia um grande local cheio de aeronaves de um ricaço que morreu.
James, seu sobrinho, herdou este local e decidiu que queria abrir um negócio.
Uma loja de aeronaves.
E para isso era necessário um sistema...
10. E aí Bregaida,
beleza?
Estou precisando de sua
ajuda mais uma vez,
preciso de um sistema
para minha loja de
aeronaves.
44. public class Aviao {
//Códigos anteriores...
public boolean possuemMesmaPotencia(Aviao outroAviao){
return this.capacidade.getPotencia().equals(outroAviao.getPotencia());
}
}
45. Domain-Driven Design
• Voltado (driven) totalmente ao problema a ser resolvido (domain)
• Ubiquitous Language
• Funciona muito bem com Agile
• Modelos ricos (não anêmicos)
• Nomes importam!
49. O que é BDD?
• Foca no comportamento do sistema;
• Visando desenvolvimento voltado a testes;
• Usam uma linguagem comum como visto no DDD;
• Beneficia os desenvolvedores e os usuários de negócio;
• Comporta vários cenários;
• Não apenas o que uma determinada função deve fazer;
• Possui aspectos do DDD e conceitos fundamentais do TDD.
50. Como fazer?
• Narrativa/Estória: (Nome)
• Para (Valor ao Negócio)
• Eu, como (Papel)
• Desejo poder realizar (Funcionalidade)
• Story: …
• In order to …
• As a …
• I want to …
51. • Narrativa/Estória: Busca Por Aeronaves
• Para meu sistema de vendas de aeronaves
• Eu, como cliente
• Desejo poder realizar buscas por nome das
Aeronaves
Exemplo
52. O que mais?
• Cenários: (Nome)
• Dado que (Estado inicial do sistema)
• Quando (Ação a ser realizada)
• Então (O que deve fazer após a ação)
• Scenario: …
• Given a …
• And …
• When …
• Then …
53. Exemplo
• Cenário I: Busca Aeronaves por nome
• Dado que meu cliente digite o nome da Aeronave
• Quando clicar no botão buscar
• Então o sistema deverá retornar todas as aeronaves disponíveis
com aquele nome.
57. O que é TDD ou Test Driven Development?
• É uma técnica de desenvolvimento de software baseada em um ciclo curto de repetições.
• Escrevendo seus testes antes de escrever o código de produção.
• Ao escrever primeiro os testes:
• Garantimos uma boa qualidade no código (mínimo de sujeira e códigos esquecidos que
nunca serão utilizados).
• Garantimos o funcionamento do que está sendo implementado.
• Não precisamos saber tudo de uma vez, conforme eu desenvolvo um teste, crio e
implemento as classes que serão utilizadas.
58. TDD - Test Driven Development
• Escreva um teste que falhe;
• Faça-o passar da maneira mais simples possível;
• Refatore o código.
• É conhecido como CicloVermelho-Verde-Refatora
(Red - Green - Refactor).
64. Ferramentas
• ASSpec
• BDoc
• BDD para Python
• Behat - PHP
• Bumblebee - Extrai documentação de
testes escritos com JUnit.
• beanSpec - Java
• Calabash - Permite rodar testes em
aplicativos móveis para Android e iOS
• CppSpec - C++
• cfSpec - ColdFusion
• CSpec - C
• dSpec - Delphi
• Concordion - Ferramenta de testes
automatizados em Java para fazer BDD
usando textos em HTML para descrever
comportamentos.
• Cucumber - (Java, .NET, Ruby, Flex ou
qualquer aplicação web através do Watir
ou Selenium)
• easyb - Groovy/Java
• EasySpec - Groovy, usável em Java
• GSpec - Groovy
• Instinct - Java
• JavaStubs - Java - Framework de BDD
com suporte a Mock e Method Stubbing
• JBee - Java
• JBehave - Java
E muitas outras…
https://pt.wikipedia.org/wiki/Behavior_Driven_Development#Ferramentas