Palestrante: Felipe Nascimento de Moura – Porto Alegre/ RS
Currículo: Analista de Sistemas e lider técnico em desenvolvimento web pelo grupo Agiplan, também ministra aulas de javascript, jquery e PHP e é o criador ou idealizador de diversos projetos open source como theWebMind, print_j, fUnit, foxTales, chessMate, entre outros addons para firefox e plugins para jQuery, além de também participar de projetos como a botaoteca.com.br.
Atualmente graduando pelo Senac/RS onde prepara como Tese, a nova versão do core para o theWebMind, Mind3rd. É formado técnico em informática e tem especializações em gerência de projetos e ajax.
Resumo: Abordagem sobre a utilidade dos testes unitários no desenvolvimento e como isto pode afetar sua produtividade. A palestra será focada no fUnit, biblioteca para testes unitários usando Javascript
Proposta: Esta palestra mostrará a utilidade do uso de técnicas para testes unitários e focará bastante no javascript exibindo diversos exemplos e explicações sobre a biblioteca fUnit.
2. jf Unit
Felipe Nascimento de Moura
Analista de sistemas, desenvolvedor PHP
Sênior e lider técnico pela Agiplan, Serviços
Financeiros
Criador ou mantenedor de diversos projetos
Open Source, além de plugins para jQuery e
addons para Firefox.
Email: felipenmoura@gmail.com
Twitter: felipenmoura
Website: felipenmoura.org
3. jf Unit
Mas eu sempre testo meus códigos
Por que preciso me preocupar em escrever testes?
4. jf Unit
Ou você quer agir assim
o resto da vida?
5. jf Unit
Você pode achar que está seguro, que tudo está ok...
mas num belo dia ...
6. jf Unit
É quando algo simplesmente absurdo acontece
7. jf Unit
Algumas vezes, algo simples, um detalhe
8. jf Unit
Em outras vezes,
a coisa é crítica!
Uma falha tão épica que
bem poderia ser considerada
uma conquista!
9. jf Unit
Além das vezes em que investimos em uma melhoria
mas acabamos precisando voltar um passo por conta
de algo inesperado!
10. jf Unit
Ok, estou preparado para
começar a construir testes
O primeiro passo é encontrar as ferramentas certas
11. jf Unit
Testes unitários
Execução de testes em partes mínimas do sistema
Normalmente executado pelo próprio desenvolvedor
Facilmente automatizado para execução repetitiva
12. jf Unit
Parâmetros e retorno
Testes repetitivos para cada chamada
Métricas e gráfico de falhas
13. jf Unit
5 passos principais
Set up
Especificar o Input
Chamar o metodo a ser testado
Verificar o output
Tear Down
14. jf Unit
Versionador
(SVN, GIT, etc)
Ferramenta para automatização de testes
(Junit,PHPUnit, jfUnit, SimpleTest, etc)
Métricas e documentação
(saber o que se espera dos testes)
Histórico
(sempre importante guardar o histórico dos testes)
15. jf Unit
Let's code!
Usaremos a jfUnit como
biblioteca para testes
Por isso, importaremos ela
No header da página
<script src='jfUnit.js'></script>
16. jf Unit
Forma simples
jfUnit.assert( yourFunction,
param1,
param2,
paramN...,
expected);
Ex.:
jfUnit.assert(soma, 10, 3, 13);
17. jf Unit
Forma completa
jfUnit.assert({
call:yourFunction,
param1: value1,
param2: value2,
paramN: valueN,
expected: 'expectedValue'
callback: function(){},
description: '',
structureOnly: false,
funcName: 'an alias to your function'
})
18. jf Unit
Ex.:
jfUnit.assert({
call:soma,
primeiroValor: 10,
SegundoValor: 3,
expected: 13
callback: function(){},
description: 'Somando 10 com 3',
structureOnly: false,
funcName: 'an alias to your function'
})
19. jf Unit
Outras possibilidades de teste:
assert
assertNot
assertIn
assertNotIn
assertBetween
assertNotBetween
assertGT
assertLt
assertType
30. jf Unit
Felipe Nascimento de Moura
Analista de sistemas, desenvolvedor PHP
Sênior e lider técnico pela Agiplan, Serviços
Financeiros
Criador ou mantenedor de diversos projetos
Open Source, além de plugins para jQuery e
addons para Firefox.
Email: felipenmoura@gmail.com
Twitter: felipenmoura
Website: felipenmoura.org