jf UnitMelhor prevenir       do que remediar...
jf Unit             Felipe Nascimento de Moura                                Analista de sistemas, desenvolvedor PHP     ...
jf Unit          Mas eu sempre testo meus códigos               Por que preciso me preocupar em escrever testes?
jf Unit  Ou você quer agir assim             o resto da vida?
jf Unit  Você pode achar que está seguro, que tudo está ok...                 mas num belo dia ...
jf Unit  É quando algo simplesmente absurdo acontece
jf Unit    Algumas vezes, algo simples, um detalhe
jf UnitEm outras vezes,a coisa é crítica!Uma falha tão épica quebem poderia ser consideradauma conquista!
jf UnitAlém das vezes em que investimos em uma melhoriamas acabamos precisando voltar um passo por contade algo inesperado!
jf Unit    Ok, estou preparado para    começar a construir testesO primeiro passo é encontrar as ferramentas certas
jf Unit Testes unitários         Execução de testes em partes mínimas do sistema         Normalmente executado pelo própri...
jf Unit Parâmetros e retorno Testes repetitivos para cada chamada Métricas e gráfico de falhas
jf Unit 5 passos principais Set up Especificar o Input Chamar o metodo a ser testado Verificar o output Tear Down
jf Unit Versionador   (SVN, GIT, etc) Ferramenta para automatização de testes    (Junit,PHPUnit, jfUnit, SimpleTest, etc) ...
jf Unit  Lets code! Usaremos a jfUnit como biblioteca para testes Por isso, importaremos ela No header da página  <script ...
jf Unit    Forma simplesjfUnit.assert( yourFunction,               param1,               param2,               paramN..., ...
jf Unit    Forma completajfUnit.assert({   call:yourFunction,   param1: value1,   param2: value2,   paramN: valueN,   expe...
jf Unit    Ex.:jfUnit.assert({   call:soma,   primeiroValor: 10,   SegundoValor: 3,   expected: 13     callback: function(...
jf Unit  Outras possibilidades de teste: assert assertNot assertIn assertNotIn assertBetween assertNotBetween assertGT ass...
jf Unit    assertInjfUnit.assertIn(function,                Param1,                Param2,                ParamN...,      ...
jf Unit    assertBetweenjfUnit.assertBetween(function,                Param1,                Param2,                ParamN...
jf Unit    assertGTjfUnit.assertGT(function,                Param1,                Param2,                ParamN...,      ...
jf Unit    assertLTjfUnit.assertLT(function,                Param1,                Param2,                ParamN...,      ...
jf Unit    assertTypejfUnit.assertType(function,                Param1,                Param2,                ParamN...,  ...
jf Unit  Structure Only var getPerson= function(){      var o = {              age:25,              name: felipe,         ...
jf Unit  Structure Only jfUnit.assert({      call:getPerson,      structureOnly:true,      Expected:{                 age:...
jf Unit      On the Fly
jf Unit     Perguntas?
jf Unit             Felipe Nascimento de Moura                                Analista de sistemas, desenvolvedor PHP     ...
Testes Unitários e fUnit -  Felipe Nascimento
Upcoming SlideShare
Loading in …5
×

Testes Unitários e fUnit - Felipe Nascimento

1,464 views
1,416 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,464
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testes Unitários e fUnit - Felipe Nascimento

  1. 1. jf UnitMelhor prevenir do que remediar...
  2. 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.comTwitter: felipenmouraWebsite: felipenmoura.org
  3. 3. jf Unit Mas eu sempre testo meus códigos Por que preciso me preocupar em escrever testes?
  4. 4. jf Unit Ou você quer agir assim o resto da vida?
  5. 5. jf Unit Você pode achar que está seguro, que tudo está ok... mas num belo dia ...
  6. 6. jf Unit É quando algo simplesmente absurdo acontece
  7. 7. jf Unit Algumas vezes, algo simples, um detalhe
  8. 8. jf UnitEm outras vezes,a coisa é crítica!Uma falha tão épica quebem poderia ser consideradauma conquista!
  9. 9. jf UnitAlém das vezes em que investimos em uma melhoriamas acabamos precisando voltar um passo por contade algo inesperado!
  10. 10. jf Unit Ok, estou preparado para começar a construir testesO primeiro passo é encontrar as ferramentas certas
  11. 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. 12. jf Unit Parâmetros e retorno Testes repetitivos para cada chamada Métricas e gráfico de falhas
  13. 13. jf Unit 5 passos principais Set up Especificar o Input Chamar o metodo a ser testado Verificar o output Tear Down
  14. 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. 15. jf Unit Lets code! Usaremos a jfUnit como biblioteca para testes Por isso, importaremos ela No header da página <script src=jfUnit.js></script>
  16. 16. jf Unit Forma simplesjfUnit.assert( yourFunction, param1, param2, paramN..., expected); Ex.:jfUnit.assert(soma, 10, 3, 13);
  17. 17. jf Unit Forma completajfUnit.assert({ call:yourFunction, param1: value1, param2: value2, paramN: valueN, expected: expectedValue callback: function(){}, description: , structureOnly: false, funcName: an alias to your function})
  18. 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. 19. jf Unit Outras possibilidades de teste: assert assertNot assertIn assertNotIn assertBetween assertNotBetween assertGT assertLt assertType
  20. 20. jf Unit assertInjfUnit.assertIn(function, Param1, Param2, ParamN..., Array()); Ex.:jfUnit.assertIn(soma, 10, 3, [12, 13, 14]);jfUnit.assertNotIn(soma, 10, 3, [11, 12, 16]);
  21. 21. jf Unit assertBetweenjfUnit.assertBetween(function, Param1, Param2, ParamN..., Array(2)); Ex.:jfUnit.assertBetween(soma, 10, 3, [12, 14]);jfUnit.assertNotBetween(soma, 10, 3, [9, 12]);
  22. 22. jf Unit assertGTjfUnit.assertGT(function, Param1, Param2, ParamN..., ExpectedMenorQue); Ex.:jfUnit.assertGT(soma, 10, 3, 10);
  23. 23. jf Unit assertLTjfUnit.assertLT(function, Param1, Param2, ParamN..., ExpectedMaiorQue); Ex.:jfUnit.assertLT(soma, 10, 3, 15);
  24. 24. jf Unit assertTypejfUnit.assertType(function, Param1, Param2, ParamN..., type); Ex.:jfUnit.assertType(soma, 10,3, integer);
  25. 25. jf Unit Structure Only var getPerson= function(){ var o = { age:25, name: felipe, jump: function(height){ return true; } } return o; };
  26. 26. jf Unit Structure Only jfUnit.assert({ call:getPerson, structureOnly:true, Expected:{ age:0, name:foo, jump:string } });
  27. 27. jf Unit On the Fly
  28. 28. jf Unit Perguntas?
  29. 29. 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.comTwitter: felipenmouraWebsite: felipenmoura.org

×