BOAS PRÁTICAS DE
DESENVOLVIMENTO ÁGIL
22º Café Testes e pão de queijo
• Pós graduado em testes e qualidade de
software FUMEC 2013
• Engenheiro de Software na CI&T
• Organizador do Minas Testing
Conference
• Organizador do Café, Testes e Pão de
Queijo
STHANLEY LIMA
O QUE É QUALIDADE DE
SOFTWARE?
ENGENHEIRO AEROESPACIAL EDWARD
ALOYSIUS MURPHY
A LEI DE MURPHY DIZ QUE
SE ALGO PODE DAR
ERRADO, DARÁ.
TDD - TEST DRIVEN DEVELOPMENT
• TDD é o desenvolvimento de software orientado a testes
• Nesse padrão os testes são realizados antes do
desenvolvimento do código.
PONTOS POSITIVOS
•Qualidade do código
•Segurança
•Trabalho em equipe
PONTOS NEGATIVOS
• Dificuldade em começar
• Curva de aprendizado
• Mudança de Cultura
FRAMEWORKS PARA USO DO TDD
•JUNIT: O JUnit é um framework de teste para Java,
que permite a criação de testes unitários. Além disso, está
disponível como plug-in para os mais diversos IDE'S como
Eclipse, Netbeans etc.
FRAMEWORKS PARA USO DO TDD
•TestNG: Ferramenta de teste unitária,
disponível para Java;
•PHPUnit: Framework XUnit para teste
unitário em PHP, também é possível integrar
aos IDE's assim como o JUnit;
FRAMEWORKS PARA USO DO TDD
•SimpleTest: Outra ferramenta para realização
de teste para PHP. Além de possibilitar os
testes unitários, é possível realizar MOCKS
e outros testes;
•NUnit: Framework de teste no molde XUnit
•para a plataforma .NET;
FRAMEWORKS PARA USO DO TDD
•Jasmine: Framework para teste unitário
de JavaScript;
•Cunit: Ferramenta para os testes unitários
disponível para Linguagem C;
FRAMEWORKS PARA USO DO TDD
•PyUnit: Framework Xunit para testes na
linguagem Python.
TESTAR SEM NEM TER CÓDIGO ESCRITO??
BDD - BEHAVIOR DRIVEN DEVELOPMENT
• BDD é o Desenvolvimento Guiado por Comportamento
• É uma técnica de desenvolvimento Ágil que encoraja
colaboração entre desenvolvedores, Testers/QA’s e pessoas
não-técnicas ou de negócios num projeto de software.
PRINCÍPIOS
• Trabalhar para atender as expectativas dos
stakeholders
• Sempre entregar valor
• Desenvolver de acordo com comportamento esperado
a partir da expectativa do stakeholder
DAN NORTH
CRIADO PARA APROXIMAR PESSOAS NÃO
TÉCNICA DOS TESTES
PONTOS POSITIVOS
• Simples entendimento
• Maior participação do cliente
• Escrita clara e fácil refatoração
COMO ESCREVER HISTÓRIAS??
•Como
•Eu quero
•Pra que
NARRATIVA
• Cliente deseja entrar no seu sistema com sucesso.
Como cliente
Eu gostaria de logar com sucesso
Para ter acesso ao sistema
O QUE TESTAR??
COMO TESTAR??
O QUE NÃO TESTAR?
COMO ESCREVO CENÁRIOS
•Dado
•Quando
•Então
FRAMEWORKS PARA USO DO TDD
•easyb – Groovy/Java
•JBehave – Java
FRAMEWORKS PARA USO DO TDD
•NSpec – .Net
•RSpec – Ruby
FEATURES
STEP DEFINITION
VAMOS AUTOMATIZAR
CONTATOS
• Skype: Sthançey_fd@Hotmail.com
• Facebook: https://www.facebook.com/Sthanley.Lima.jr
• Linkedim: https://www.linkedin.com/in/sthanley-carlos-de-lima-junior-a30b9364/
REFERÊNCIAS
• https://qualidadebr.wordpress.com/2010/06/13/bdd-
behavior-driven-development/
• http://www.devmedia.com.br/desenvolvimento-
orientado-por-comportamento-bdd/21127
• http://www.devmedia.com.br/tdd-fundamentos-do-
desenvolvimento-orientado-a-testes/28151
LIVROS

Boas práticas de desenvolvimento Ágil