You are on page 1of 8

Verificação e Validação – 2010

______________________________________________________________________________

Teste de Software Lista de Erros

Prof. Dr. Guilherme A. S. Gualazzi

1

.............................................3 1............................................................................8 2 ..................................6 1..............4 Falhas de Interface........................................7 1.....0 Categorias de Erros...........Verificação e Validação – 2010 Sumário 1......................1 Falhas nos Dados..................................3 Falhas de Entrada ou Saída....................................5 Falhas de Armazenamento.....................................................................................................................................6 Falhas de Controle de Exceção......................................................................................................3 1................5 1...................2 Falhas de Controle..................................4 1.....................................................................

Java Ao preencher o formulário com dados referentes ao cálculo da comissão do vendedor e clicar sobre o botão calcular.. uma SQL Exception é levantada. pois o programador não tratou adequadamente o caractere utilizado para separar o dia.Java Ao tentar executar a função “Incluir valor negociado”.) da classe Comissao. Erro nº 3 (Falhas nos Dados) Origem Tipo Severidade Localização Fase de Teste Estilo Grave Método calcularComissao(.0 Categorias de Erros 1. o mês e o ano..Verificação e Validação – 2010 1.) da classe TrataValor. não foi formatada adequadamente pela tela que apresentaria o resultado. o sistema gera uma NumberFormatException.java Uma mensagem informando que a operação foi bem sucedida..) da classe InserirUsuario. A tela permitia que o usuário entrasse com mais de um formato de data e o programador não inseriu o tratamento adequado para essa informação no método incluirVlrNegociado(). Descrição 3 . (Erro levantado em um projeto desenvolvido pela empresa onde trabalho) Descrição Erro nº 2 (Falhas nos Dados) Origem Tipo Severidade Localização Descrição Fase de Teste Estilo Grave Método incluirVlrNegociado(. pois o programador não converteu e validou adequadamente a informação referente ao “valor vendido” que está disponível no formulário Web.. pois o programador se esqueceu de utilizar um delimitador de fim de cadeia (asterisco) dentro de uma string que representaria a mensagem utilizada pela tela de em questão. O método acima tentou realizar operações aritméticas com um objeto String.1 Falhas nos Dados Erro nº 1 (Falhas nos Dados) Origem Tipo Severidade Localização Fase de Teste Estilo Menor Método performTask(...

.) da classe ExcluirUsuario. A condição que testa o período de disponibilidade do cômodo estava errada.java Ao tentar desligar um funcionário em qualquer data." O caso de uso diz que a data de desligamento do funcionário deve ser retransmitida para todos os relacionamentos..java A tarefa de excluir um usuário pode ser diferente para tipos de usuários diferentes. Descrição Erro nº 2 (Falhas de Controle) Origem Tipo Severidade Localização Fase de Teste Imprecisão Extra Método ObterFunc(. visto que executava mais do que um “case” por requisição. "Associações devem respeitar a data de vigencia do funcionário.2 Falhas de Controle Erro nº 1 (Falhas de Controle) Origem Tipo Severidade Localização Fase de Teste Omissão Grave Método performTask(.Verificação e Validação – 2010 1.. a seguinte mensagem de erro foi exibida. envolvendo ações complementares no banco de dados. As datas de início e fim dos períodos informados não eram convertidos “in mills” e. dependendo do tipo de usuário a ser excluído.java O método é utilizado pelas operações de reserva e ocupação de cômodos. havia uma falha de lógica no teste do período. ainda.) da classe ControladorPersistencia. Descrição 4 ..) da classe Desligamento. Esse foi um erro de regras de negócios e ocorreu na empresa onde trabalho. fazendo com que nunca houvessem cômodos disponíveis em tais operações. a função de excluir usuário passou a apresentar comportamento incorreto. Descrição Erro nº 3 (Falhas de Controle) Origem Tipo Severidade Localização Fase de implementação Imprecisão Grave Método obterComodosDisponiveis(... ocasionados pela inexperiência do programador. Devido ao fato do programador ter omitido uma instrução “break” dentro de uma instrução “switch case”.

Para sua execução.Nova'. se o usuário clicasse mais de uma vez no botão... passando o array de objetos Usuario. contendo todos os usuários cadastrados que possuam status “pendente”. gerando uma tela de saída incorreta. cometeu um erro e acabou passando um array vazio.) da classe BuscarUsuario..error. ao selecionar um item e clicar sobre o botão Buscar. quando acionada pela primeira vez). Descrição Erro nº 3 (Falhas de Entrada ou Saída) Origem Tipo Severidade Localização Fase de Teste Violação Grave Método obterConsulta (. Descrição Erro nº 2 (Falhas de Entrada ou Saída) Origem Tipo Severidade Localização Fase de Teste Estilo Menor Método obterHierarquia(.” Descrição 5 .???pt_BR.. O campo deverá salvar as informações da maneira que o usuário digitar na tela. é exibida a seguinte mensagem de erro: “Erro .500???” e em seguida é exibida uma tela diferente do que foi especificado. A especificação fornecida para a equipe de desenvolvimento descrevia que a tela deveria gerar apenas uma requisição por vez..3 Falhas de Entrada ou Saída Erro nº 1 (Falhas de Entrada ou Saída) Origem Tipo Severidade Localização Fase de Implementação Violação Maior Método carregarUsuariosPendentes(. Erro encontrado num projeto da empresa onde trabalho..java Este método é responsável por montar uma tela de saída. em processamento.java Na tela “Bilhetes”. Esse erro ocorreu quando foi chamando por um método errado ao invés de chamar o corrigido para a versão.java Na tela 'Extração de serviços recorrentes .) da classe ConsultarHierarquia. é necessário que ele receba como parâmetro um array de objetos do tipo Usuario. O programador que implementou um método que deveria chamar o método carregarUsuáriosPendentes(.Verificação e Validação – 2010 1. uma mensagem deveria dizer ”Aguarde. os campos 'Diretório/arquivo de saída'..). ou seja.) da classe ConsultarBilhetes.. O erro ocorreu por esta tela passar um parâmetro errado a um método e um erro na construção da tela seguindo o protótipo de tela.. se o usuário clicar 2 vezes sobre o botão Alterar (pois a tela demora um pouco para abrir.. 'Usuário do banco' e 'Instâcia' não deverão ser preenchidos com letra maiúscula.

esses cômodos. A omissão desse parâmetro fazia com que cômodos de mesma numeração tivessem suas contas pagas no mesmo período. gerando assim retrabalho e revisão da especificação.java Ao realizar teste de segurança na tela 'Consultas . Descrição Erro nº 3 (Falhas de Interface) Origem Tipo Severidade Localização Fase de implementação Omissão Grave Método efetuarPagamentoComodo(. não considerava o hotel ao qual o cômodo pertencia.. o método confirmarEmpenho(.. pertenciam a hotéis diferentes. Trata-se de um erro de interpretação das regras de negócio.Bilhetes'. na verdade. mas verificou-se que seria necessário o fornecimento de parâmetros adicionais para a realização da tarefa supracitada.java O método.) da classe ValidaVigencia. sendo que. Esse erro foi detectado quando são retiradas as permissões de todos os botões da tela. responsável pelo pagamento da conta do cômodo..) da classe ControladorPagamentoEFatura.) da classe FilaDeEspera.Verificação e Validação – 2010 1. os botões deverão ser exibidos na cor azul escura quando desabilitados. Descrição 6 . Atualmente eles estão bloqueados porém não estão desabilitados (de forma que o usuário enxergue que o botão não está habilitado).4 Falhas de Interface Erro nº 1 (Falhas de Interface) Origem Tipo Severidade Localização Fase de Implementação Imprecisão Maior Método confirmarEmpenho(. foi criado mais um parâmetro referente ao código do hotel. Descrição Erro nº 2 (Falhas de Interface) Origem Tipo Severidade Localização Fase de Teste Extra Menor Método ValidarTela(. passado para a equipe de implementação....java Segundo um documento de especificação de requisitos.. Como correção. Erro num projeto dentro da empresa onde trabalho..) deveria receber apenas o código de usuário para executar determinada tarefa. contendo diagramas de caso de uso e de seqüência.

o tamanho era menor que o tamanho padrão. Ocorre que em alguns casos. considerou que o array passado como parâmetro teria sempre o mesmo tamanho. Descrição Erro nº 3 (Falhas de Armazenamento) Origem Tipo Severidade Localização Descrição 7 .5 Falhas de Armazenamento Erro nº 1 (Falhas de Armazenamento) Origem Tipo Severidade Localização Descrição Fase de Teste Outros Grave Método buscarPrestadorDeServico(. Erro nº 2 (Falhas de Armazenamento) Origem Tipo Severidade Localização Fase de Implementação Outros Maior Método calcularPagtosEfetuados(ArrayList array) da classe ControleDePagtos.java Dependendo do tamanho do array que fosse passado para o método em questão. O limite de conexões disponíveis com o banco de dados era atingido. pois o programador que implementou esse método.) da classe BuscarPrestadores. fazendo com que o sistema deixasse de funcionar depois de um determinado tempo de uso. o método descrito acima não fechava ou devolvia para o pool as conexões que eram abertas. o que gerava a exceção.Verificação e Validação – 2010 1. Ao invés de usar a instrução array...java Devido a uma falha de programação. uma exceção do tipo ArrayIndexOutOfBoundsException era levantada. o programador usou um número fixo de repetições.size() para controlar o laço que varria o array.

Descrição 8 .... adicionados blocos de “try” e “catch” para tratar a digitação desses parâmetros inválidos.java Os parâmetros digitados não eram validados.. pois o código do método em questão não verificava se esse parâmetro (nome do usuário) existia na requisição.. Essa exceção era levantada.) da classe Regulacao. antes de tentar realizar operações sobre o objeto. então..) da classe GuiCancelarReserva. ocasionando problemas na execução de outros métodos que faziam uso desses argumentos.. Erro nº 3 (Falhas de Controle de Exceção) Origem Tipo Severidade Localização Fase de Teste Estilo Maior Método performTask(. construindo um bloco “catch” que não capturava e tratava adequadamente uma SQLException. Erro nº 2 (Falhas de Controle de Exceção) Origem Tipo Severidade Localização Descrição Fase de Implementação Omissão Grave Método createContents(.java O programador que implementou este método não dominava o tratamento de exceções da linguagem Java. antes de tentar acionar métodos como substring(.java O método em questão levantava uma exceção do tipo NullPointerException todas as vezes que o usuário não preenchia o campo “nome do usuário” do formulário de consulta..6 Falhas de Controle de Exceção Erro nº 1 (Falhas de Controle de Exceção) Origem Tipo Severidade Localização Descrição Fase de Teste Omissão Grave Método performTask(.) para manipular a string que reprensaria o nome do usuário.Verificação e Validação – 2010 1. Foram.) da classe ConsultarAcervo. Deveria ter testado se a informação existia.