Baixe o app para aproveitar ainda mais
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. }
Compartilhar