Testes Unitários!
Testes que verificam o código escrito
Testes unitários!
O que são ?
Testes unitários!
O que são ?
Testes que verificam uma parte específica do código,
geralmente funções, em um ambiente orient...
Testes unitários!
Definindo a classe alvo - Game
class Game
## Define o get e o setter ao atributo "players"
attr_accessor :...
Testes unitários!
Definindo a classe teste - TestGame
require_relative ‘Game'
class TestGame
## Testa se o número de player...
Testes unitários!
Definindo a classe teste - TestGame
require_relative ‘Game'
class TestGame
## Testa se o número de player...
Testes unitários!
Definindo a classe teste - TestGame
require_relative ‘Game'
class TestGame
## Testa se o número de player...
Testes unitários!
Testando
## Instancia da classe TestGame
@test = TestGame.new
!
## Executa o método "test_have_1_player_...
Testes unitários!
Alterando o construtor e executando novamente:
## Altera o construtor para iniciar com o Array players v...
Testes unitários!
Resumo
Criamos a classe Game que inicializa com 1 player,o Terrorista,
então escrevemos o teste para nos...
Testes unitários!
TDD (Desenvolvimento orientado a testes)
O TDD é uma metodologia de desenvolvimento em que
primeiro são ...
No exemplo codificamos nessa ordem:
Game.rb
TestGame.rb
No TDD:
Game.rb
TestGame.rb
Testes unitários!
Exemplo em C#, métodos soma e multiplicação
Testes unitários!
namespace calculadora
{
    public class Calculadora
    {
 ...
Teste da função de multiplicação:
Testes unitários!
public void multiplicacaoTest()
{
    Calculadora_Accessor target = ne...
Teste da função de soma
Testes unitários!
public void somaTest()
{
    Calculadora_Accessor target = new Calculadora_Acces...
O 3 passos dos testes unitários!
!
1 - Criar a classe alvo e seus métodos
!
2 - Criar a classe teste e o teste de todos os...
Próximos SlideShares
Carregando em…5
×

Introdução aos testes unitários

146 visualizações

Publicada em

Slides de introdução aos testes unitários, vantagens, princípios e exemplos de código em Ruby e C#.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
146
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução aos testes unitários

  1. 1. Testes Unitários! Testes que verificam o código escrito
  2. 2. Testes unitários! O que são ?
  3. 3. Testes unitários! O que são ? Testes que verificam uma parte específica do código, geralmente funções, em um ambiente orientado a objetos são testados os comportamento das classes. O objetivo do teste unitário é assegurar que cada unidade está funcionando de acordo como deveria. Os teste unitários, quando bem escritos, servem como uma forma de documentação das funcionalidades do sistema.
  4. 4. Testes unitários! Definindo a classe alvo - Game class Game ## Define o get e o setter ao atributo "players" attr_accessor :players ! ## Construtor def initialize(players = [‘Terrorista’]) @players = players end end
  5. 5. Testes unitários! Definindo a classe teste - TestGame require_relative ‘Game' class TestGame ## Testa se o número de players é 1 quando iniciada a classe def test_have_1_player_on_create @game = Game.new if @game.players.size == 1 return true else return false end end end
  6. 6. Testes unitários! Definindo a classe teste - TestGame require_relative ‘Game' class TestGame ## Testa se o número de players é 1 quando iniciada a classe def test_have_1_player_on_create @game = Game.new if @game.players.size == 1 return true ## Se é 1 returna true, passou no teste else return false ## Se não retorna false, falhou no teste end end end
  7. 7. Testes unitários! Definindo a classe teste - TestGame require_relative ‘Game' class TestGame ## Testa se o número de players é 1 quando iniciada a classe def test_have_1_player_on_create @game = Game.new if @game.players.size == 1 return true else return false end end end Cria objeto Game Verifica se o atributo players tem tamanho 1 Se sim retorna true Se não retorna false
  8. 8. Testes unitários! Testando ## Instancia da classe TestGame @test = TestGame.new ! ## Executa o método "test_have_1_player_on_create" @test.test_have_1_player_on_create() ## retorna true, passou no teste ! ## Porque ? ! def initialize(players = [‘Terrorista’]) ## players tem 1 elemento, o 'Terrorista' @players = players end
  9. 9. Testes unitários! Alterando o construtor e executando novamente: ## Altera o construtor para iniciar com o Array players vazio def initialize(players = []) @players = players end ! ## Rodamos o teste novamente: @test = TestGame.new @test.test_have_1_player_on_create() ## => false, não passou no teste
  10. 10. Testes unitários! Resumo Criamos a classe Game que inicializa com 1 player,o Terrorista, então escrevemos o teste para nos assegurar disso.
  11. 11. Testes unitários! TDD (Desenvolvimento orientado a testes) O TDD é uma metodologia de desenvolvimento em que primeiro são escritos os testes unitários(de classes), e depois é escrito o código em si, as classes e suas funções. A principal vantagem do TDD é que ele facilita o rastreamento do erro caso uma mudança ocasione um problema.
  12. 12. No exemplo codificamos nessa ordem: Game.rb TestGame.rb No TDD: Game.rb TestGame.rb Testes unitários!
  13. 13. Exemplo em C#, métodos soma e multiplicação Testes unitários! namespace calculadora {     public class Calculadora     {         int soma(int i, int j)         {             return i + j;         }         int multiplicacao(int i, int j)         {             return i * j;         }     } }
  14. 14. Teste da função de multiplicação: Testes unitários! public void multiplicacaoTest() {     Calculadora_Accessor target = new Calculadora_Accessor();     int i = 50;     int j = 2;     int expected = 100;     int actual;     actual = target.divisao(i, j);     Assert.AreEqual(expected, actual); }
  15. 15. Teste da função de soma Testes unitários! public void somaTest() {     Calculadora_Accessor target = new Calculadora_Accessor();     int i = 50;     int j = 2;     int expected = 52;     int actual;     actual = target.divisao(i, j);     Assert.AreEqual(expected, actual); }
  16. 16. O 3 passos dos testes unitários! ! 1 - Criar a classe alvo e seus métodos ! 2 - Criar a classe teste e o teste de todos os métodos da classe alvo ! 3 - Executar os testes e checar se todos estão funcionando corretamente, isto é, retornando verdadeiro. ! OBS: No TDD primeiro os passos 2 e 1 são invertidos Testes unitários!

×