Buscar

2016 02 TesteDeSoftware avaliacao01 parte2

Prévia do material em texto

Avaliação 01 – Teste de Software (Parte 2)
Prof. André Takeshi Endo
RA: _______ NOME: _______________________________ASSINATURA: _________________
Considerações iniciais
• Todas as questões práticas devem ser desenvolvidas usando a linguagem de programação
Java. Certifique-se de que suas classes estejam compilando sem erros de sintaxe e
semântica. Tais problemas podem implicar na perca de pontos ou anulação da questão.
• As questões devem ser enviadas como um arquivo único (zip). Verifique se o arquivo foi
corretamente enviado. O acesso a Internet só será permitido durante o envio das questões.
Chamar o professor no momento do envio da avaliação.
• Materiais offline e escritos podem ser consultados.
• Seguir as diretrizes para implementação dadas em sala de aula.
(Questão 4) (2) Aplique os critérios de teste funcional particionamento em classes de equivalência
e análise de valor limite para o método “validarNovaSenha()” especificada a seguir. Implemente os
casos de teste com o auxílio do JUnit e Mockito. Considere as classes abaixo:
Dicionario.java
public interface Dicionario {
 public ArrayList<String> getListaDeSenhasInvalidas();
}
VerificadorDeSenhas.java
public class VerificadorDeSenhas {
 
 Dicionario dic;
 public VerificadorDeSenhas(Dicionario dic) {
 this.dic = dic;
 }
 
 public boolean validarNovaSenha(String senhaFornecida) {
 //TODO
 return true;
 }
}
O método “validarNovaSenha()” recebe como entrada uma senha e retorna se é válida (true)
segundo as regras abaixo:
• A senha deve ter de 5 a 10 caracteres
• O primeiro caracter deve ser alfabético, numérico ou “_” (underscore)
• Os outros caracteres podem ser quaisquer combinação de caracteres alfabético, numérico ou
“_” (underscore).
• A senha não pode existir em um dicionário pré-definido. No exemplo, a lista de senhas que
não podem ser usadas é retornada do método “getListaDeSenhasInvalidas()” da interface
Dicionario.
Se a senha for inválida, retorna false. Envie junto uma planilha que ilustra a criação das classes
válidas e inválidas. Implemente apenas os testes.
(Questão 5) (1,5) Tabela de decisão. Ao adiquirir um cartão de crédito, existem três condições.
Primeiro, se você é um novo cliente no banco, você possui 10% de desconto na anuidade. Segundo,
se você é um cliente ouro do banco, você tem 12% de desconto na anuidade. Por fim, se você possui
um cupom, você tem 25% de desconto (mas não pode ser usado com o desconto de novo cliente).
Os descontos podem ser somados, se aplicáveis.
Implemente uma classe Java que calcula o desconto (apenas o esqueleto da classe) e casos de teste
JUnit derivados da tabela de decisão. Envie junto uma planilha que ilustra a tabela de decisão
criada.
(Questão 6) (1,5) Teste baseado em modelo. Considere o ESG a seguir.
Gere um conjunto de casos de teste (CESs) que cubra todas as arestas do ESG usando uma árvore
de sucessão. Concretize os casos de teste usando JUnit assumindo que exista uma classe que simula
interação do usuário a seguir.
public class SimuladorDeEventosDoUsuario {
 //os metodos a seguir retornam true se conseguiram fazer a operação e 
 //false, caso contrário
 public boolean edit() { }
 public boolean goToLine() { }
 public boolean LineNumber() { }
 //TODO implemente os métodos para os outros eventos.
}

Continue navegando