Post on 21-Apr-2015
The art of Unit Testing
Unit testingO Um teste unitário é uma parte de código
(geralmente um método/função), que invoca outra parte de codigo e verifica se os resultados esperados estão corretos.
O Não é um conceito novo de desenvolvimento de software. Desde 1970 com a linguagem smalltalk, provando que é uma das melhores maneiras de compreender o negócio e melhorar o código.
The importance of writing “good” unit
testsO Para obter o sucesso na arte de teste unitário, não basta apenas ter a definição conceitual, mas devemos descrever as propriedades de um bom teste.
O Como você garante que o código funciona hoje?
We’ve all written unit tests (sort of)
O Você irá se surpreender mas já implementamos alguns tipos de teste unitário
Properties of a good unit test
O Deve ser automatizado e repetível.O Dever ser fácil para implementarO Uma vez escrito, deve permanecer
para o uso futuroO Qualquer pessoa deve ser capaz de
executá-loO Deve funcionar com o click de um
botãoO Deve ser executado rapidamente
Ask yourselfO Posso executar e obter resultados de um teste unitário que eu escrevi à duas semanas, meses ou anos atrás?O Qualquer um do time pode executar e obter os resultados de um teste que escrevi à 2 meses atrás?O Posso executar todos os testes de unidade que eu escrevi em não mais do que alguns minutos?O Eu posso executar todos os testes que eu escrevi com o click de um botão?O Posso escrever um teste unitário básico em não mais do que alguns minutos?
Integration testsO Definição - O teste de integração
significa testar dois ou mais módulos de software dependentes como um grupo.
O A maneira como a maioria dos desenvolvedores testam suas funci onalidades é atraves da interface final do usuário, no click de algum botão desencadeia uma série de eventos chamando várias classes e componentes que trabalham em conjunto para produzir o resultado final.
Good unit test—O Definição - Um "bom" teste unitário é
uma parte automatizada do código que invoca o método ou classe que está sendo testado, e na sequência verifica se o comportamento lógico retorna o resultado esperado. Um teste unitário é quase sempre escrito usando um framework. Ele é escrito de maneira simples e de rápida execução. É totalmente automatizado, confiável, legível e de fácil manutenção.
Next stepsO Frameworks para teste unitárioO Quebrando dependênciasO Test pattern names (fakes, stubs e
mocks)
ReferencesO http://artofunittesting.com
Questions?