Click here to edit title

Click here to edit subtitle

Blog

#Exercicio3 Testando Entrada e Saída

Posted by JJ on April 1, 2014 at 12:20 AM

No nosso 3° exercício, vamos estudar algo que está no dia a dia do Testador, além, do trabalho, em toda sua vida. A premissa: "Você tem que dar, para receber"



 



Basicamente, você sempre passa alguma coisa e te devolvem alguma coisa, certo? Vejamos na nossa vida.

 

Para você comprar aquele IPhone tão desejado, você necessita ter dinheiro, certo?

Tirando a parte de como você vai obter esse dinheiro, para adquirir este produto tão sonhado, você necessita passar por um processo. Vamos entender o porquê:


 

 

" Você realiza uma pesquisa de preços, para ver se consegue pagar(ou você tem muita grana e não ta nem ai, assim, vai no primeiro lugar que achar). Chega na loja, pede ao vendedor que te mostre o produto, escolhe a cor que deseja, solicita aquele produto naquela cor, faz a requisição de compra, paga e assina o termo de compra(canhoto, nota fiscal etc.) e sai da loja feliz da vida com seu novo Iphone."



Nessa história temos um processo para realizar a compra contendo nesteverdadeiros critérios de entrada e saída.

 

Mas antes de analisarmos estes critérios vamos aos estudos

 


O Syllabus que é: "Este syllabus forma a base deconhecimento para a Qualificação Internacional de Teste de Software no nível Foundation." Palavras do Próprio.

 

Explica os critérios de entrada e saída:

 


5.2.3 Critério de Entrada 

Os critérios de entrada definem quando começar um teste, no início de um nível de teste ou quando um conjunto de testes está pronto para execução.


Os critérios de entrada podem ser constituídos de:

  • Disponibilidade do ambiente de teste.
  • Preparação da ferramenta de no ambiente de teste.
  • Disponibilidade de código a ser testado.
  • Disponibilidade dos dados de teste.

 

5.2.4 Critério de Saída 

Os critérios de saída definem quando parar de testar, no final de um nível de teste ou quando um conjunto de testes realizados atingiu um objetivo específico.


Os critérios de encerramento podem ser constituídos de:

  • Métricas como a cobertura de código, riscos ou funcionalidades.
  • Estimativa da densidade de defeitos ou segurança nas medições.
  • Custos.
  • Riscos residuais, como defeitos não solucionados ou falta de cobertura de teste em algumas áreas.
  • Cronograma, baseado na data de entrega do produto.



Nossa pesquisa pela Web mostrou uma apresentação de Eduardo Figueiredo que traz um modelo de entrada e saída.

http://homepages.dcc.ufmg.br/~figueiredo/disciplinas/aulas/testes-software_v01.pdf.

 






Então:

 

O que podemos entender como Entrada e Saída?

 

Simplesmente podemos utilizá-las em todo o ciclo de Testes, de Qualidade de Software e sim, de Desenvolvimento de Software. Deixando um pouco de lado o conceito em Processos de Entrada e Saída(Documento de requisitos -> Sistema). Voltando aos testes, podemos dividir em duas macro partes. Nos testes de Caixa Branca e nos testes de Caixa Preta.




Nos testes de Caixa Branca, entende-se que podemos inserir o mais limpoe mais baixo nível dos testes de Entrada e Saída:

 

Dado:

 

         Temos um sistema de notafiscal e retirada de compras, que buscam os códigos dos produtos informados,trazendo seus valores e somam os valores para mostrar o resultado final dacompra.

 

Dentro dessa expectativa, temos alguns testes, porém o mostrado aquiseria a somatória dos valores do produto para apresentar o valor da compra.

 

Mais ou menos seria isso:

 

         int produto1 = 59,90;
         int produto2 = 22,00;
         int resultado = 81,90;

         se( produto1 + produto2 =resultado){
                   print("Ocalculo está correto");

         }senão{
                   print("Aconteceualgo errado com o cálculo       );

         }

 

Onde:

 

 public class Calculadora {  
      public int somar(int x , int y){  
           return x+y;  
      }  
      public int subtrair(int x,int y){  
           return x-y;  
      }  
      public int multiplicar(int x, int y){  
           return x*y;  
      }  
      public int dividir (int x, int y){  
           return x/y;  
      }  
 }  


Então teríamos:

 

 @Test  
     public void somar() {  
         assertEquals("Passou com sucesso", 4, calculadora.somar(2, 2));  
     }  
     @Test  
     public void subtrair() {  
        assertEquals("Passou com sucesso", 0, calculadora.subtrair(2, 2));  
     }  
     @Test  
     public void multiplicar() {  
        assertEquals("Passou com sucesso", 4, calculadora.multiplicar(2, 2));  
     }  
     @Test  
     public void dividir() {  
        assertEquals("Passou com sucesso", 1 , calculadora.dividir(2, 2));  
     }  


Assim teríamos um teste de Entrada e Saída nos testes de Caixa Branca, informando uma entrada especifica dentro do código, e requisitando a saída correta.

 

É meio lógico um teste desse dar certo. Porém no nosso dia a dia veríamos que se o código do nosso programador estivesse assim:

 

      public int subtrair(int x,int y){  
           return x+y;  


Nosso teste daria erro, pois nossa Entrada seria 2+2, e a saída seria 0:

 

     @Test  
     public void subtrair() {  
        assertEquals("Passou com sucesso", 0, calculadora.subtrair(2, 2));  
     }  


 

Nos testes de Caixa Preta, não vemos o código, somente a interface jápronta. Assim, utilizaremos o sistema como se fossemos o usuário final. Informandodados reais e esperando os resultados corretos a partir dos dados informados.Testando o seu real funcionamento.

 

O Testlink trabalha com entradas e saídas, as entradas são ações à serealizar para se obter as saídas esperadas.

 

No nosso Software Gestor de Testes Testlink, nós utilizamos osconceitos de Entrada e Saída para executar os Casos(Cenários) de Testes.

 


Ações do passo seria o que nós entraríamos no sistema, Resultados Esperados seria o que o sistema responderia.

 

Dado:

 

         Temos um sistema de nota fiscal e retirada de compras, que buscam os códigos dos produtos informados, trazendo seus valores e somam os valores para mostrar o resultado final da compra.

 

Nessa expectativa, temos um teste:

Onde:

        Entrada:

         Informar um produto x; Este produto x, tem o valor x;

         Informar um produto y; Este produto y, tem o valor y;

 

        Saída:

         O Sistema retorna a somados produtos x e y;

         O resultado da soma deve ser correto;

 

Não entre em pânico caso o resultado do seu teste for como esse:

 


 

 


Voltando ao exemplo citado no início do artigo, teríamos além de váriasformas o seguinte Cenário de Teste como exemplo:

 

Pré requisitos:

Realizar uma pesquisa de preços;

Ter um resultado dessa pesquisa de preços;

Ir à loja de sua preferência;

Loja ter o produto em estoque.

 

Passo 1:

Entrada:

Requisitar ao vendedor o Produto

 

Saída:

Vendedor mostra o produto

 

Passo 2:

Entrada:

Escolher a cor do produto

 

Saída:

Vendedor mostra as cores disponíveis

 

Passo 3:

Entrada:

Escolhe o produto

Solicita a ordem de compra

 

Saída:

Vendedor tira a ordem de compra

Vendedor destina a ordem para o caixa

 

Passo 4:

Entrada:

Realiza o pagamento

 

Saída:

Caixa entrega nota de compra

 

Passo 5:

Entrada:

Assina nota fiscal

Retira produto

 

Saída:

Entrega produto com sucesso.

 



Desafio: Teste de Entrada e Saída, cadastre o usário e confira o cadastro no Relatório, faça isso para vários clientes.

Informe o nome, confira o nome.

Informe o animal, confira o animal e o dono correto.

Informe datas de nascimento diferentes. Entre outros.

 

 

 

 

Leitura do dia:

 

- Caixa Branca

- Caixa Preta

- Testlink

- Cenários de Testes

 

 

Post descritivo ao teste do exercício 3 - Testando Cadastro Veterinário Desktop

 



Categories: Exercicios, Estudar, Conceitos

Post a Comment

Oops!

Oops, you forgot something.

Oops!

The words you entered did not match the given text. Please try again.

Already a member? Sign In

0 Comments