Created
November 26, 2011 13:53
-
-
Save thiagoghisi/1395707 to your computer and use it in GitHub Desktop.
Mini-palestra ministrada no 1º UnisulTechDay, em 26/11/2011, com o título: Coding kata: Refatorando aplicações web legadas sem medo. Tópicos: Coding Dojo, Coding Kata, Aplicações web legadas, Refactoring, Testes de Unidade, BDD, Selenium, Testes de Aceit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Coding kata: Refatorando aplicações web legadas sem medo | |
(*) Quem sou eu? | |
- Thiago Ghisi (@thiagoghisi): | |
2003 - SENAI e o Poder da Programação em Pascal. | |
2004 - Robocod Java | |
2005 - Técnico em Informática com Habilitação em Redes de Computadores | |
2006 - Ciência da Computação (Unisul) | |
2006/1 - Técnico de Informática (Tractebel Energia/Consult System) | |
2007/1 - PUIC: Testes, CMMI e Extreme Programming | |
2007/2 - Sequencial Java (Unisul) | |
2007/3 - Techpeople | |
2008 - Testes Automatizados na prática. (testNG, MockObjects, DbUnit, Fit, Fitnesse, Selenium, JMeter) | |
2009/1 - SCJP 6.0 | |
2009/2 - Ágiles 2009 | |
2010/1 - Agile Brazil 2010 | |
2010/2 - TCC: Shell para desenvolvimento de Sistemas Especialistas na Web. (0% de cobertura de Testes Automatizados) | |
2010/3 - MPS.BR Nível F (Techpeople) | |
2011/1 - CMMI ML2 (Techpeople) | |
2011/2 - Bacharel em Ciência da Computação (Unisul) | |
2011/3 - FISL 12 | |
2011/4 - DojoTuba | |
2011/5 - Consultor MPS.BR | |
2011/6 - TDC Floripa | |
2011/7 - QCon SP | |
2011/8 - ForkInTuba | |
(*) Techpeople - Estamos contratando! | |
- [email protected] (Assunto: Techpeople - Estágio) | |
(*) Enquete para um melhor direcionamento da apresentação: | |
- Quem já ouviu falar em Coding Dojo? | |
- Quem já ouviu falar e sabe o que são Testes Automatizados? | |
- Quem já usou algum tipo de Teste Automatizado em alguma aplicação que desenvolveu profissionalmente? | |
- Quem FREQUENTEMENTE faz Testes Automatizados? | |
- Quem SEMPRE faz Testes Automatizados? | |
- Quem faz TDD do início ao fim? | |
(*) Coding Dojo: | |
- Randori(uma linguagem, várias pessoas) | |
* - Kata (uma linguagem, uma ou duas pessoas) | |
- Kake (várias linguagens, várias pessoas) | |
(*) Práticas de Engenharia - Estado da Arte: | |
- XP: | |
TDD | |
Refactoring | |
Simple Design | |
Pair Programming | |
- Clean Code | |
- BDD | |
- ATDD | |
(*) Aplicações Web - Estado da Arte: | |
- :P | |
- :( | |
(*) Como aplicar essas Práticas de Engenharia em Aplicações Web altamente acopladas? | |
- Testes de unidade? Não, não quero alterar meu fonte! (Alto Acoplamento) | |
- Mocks? (Hard Core!) | |
- Testes de integração? Não, não quero brincar! | |
- Testes de aceitação? Sim, eu não preciso alterar nada do fonte original! É simples até para uma criança de 10 anos. | |
(*) Solução Proposta para a Refatoração de Aplicações Legadas (Sem Testes): | |
- Uma espécie de ATDD para Refactoring ou Manutenção Evolutiva... | |
1. Planejar o que vai ser refatorado | |
2- Automatizar os Testes com o Selenium IDE com o comportamento atual da Tela | |
3- Refatorar a parte | |
4- Executar Testes e verificar: | |
se passou, volta para 3, | |
se não passou, rollback parcial nas alterações realizadas até passar novamente... | |
- ATDD? | |
Testes de Aceitação antes de fazer a Tela e consequentemente o código... | |
(*) Let's Go! | |
(*) Conclusões: | |
- Script do Selenium IDE é sustentável de manter? | |
Não! Use page objects! Mostrar exemplo! | |
- Script do Selenium IDE está próximo do negócio, está descritivo para um leigo em programação entender? | |
Não! Use BDD! Mostrar exemplo! | |
- Seja Profissional! Faça testes! Muitos testes! | |
(*) Muito obrigado! | |
- Contato: | |
E-mail: [email protected] | |
Twitter: @thiagoghisi | |
GitHub: http://github.com/thiagoghisi/ | |
Blog: http://thiagoghisi.com | |
Linkedin: http://br.linkedin.com/in/thiagoghisi | |
DojoTuba/ForkInTuba: http://groups.google.com/group/dojotuba |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment