Checklit para teste em aplicações web e desktop.doc

12
Este é um checklist para teste em aplicações web e desktop O objetivo deste documento é compartilhar um checklist para teste em aplicações web e desktop. Faça deste checklist parte integrante do processo de escrita de casos de teste para aplicações web e desktop. Este checklist é geral e pode ser aplicado em todos os tipos de aplicações. Verifique sempre seu os testes do seu projeto estão de acordo com este checklist. Este é um checklist padrão, portanto recomendo que verifique as necessidades específicas do seu projeto. Importância de utilizar checklist para teste: A manutenção de um repositório padrão de reusabilidade de casos de testes para sua aplicação vai garantir que os erros mais comuns estão sendo capturados rapidamente. Checklist ajuda a escrever rapidademente casos de testes para novas versões da aplicação; Reutilização de casos de testes ajuda a poupar dinheiro e escrever se houver a necessidade de escrever testes repetitivamente; A cobertura de casos de testes importantes será quase sempre impossível de esquecer; Checklist de teste pode ser encaminhado para os desenvolvedores garantir que os problemas mais comuns são fixos na fase de desenvolvimento. Algumas notas para lembrar 1. Execute os cenários com diferentes papeis. Exemplo: usuário administrador, usuário convidado, etc.

Transcript of Checklit para teste em aplicações web e desktop.doc

Page 1: Checklit para teste em aplicações web e desktop.doc

Este é um checklist para teste em aplicações web e desktop

O objetivo deste documento é compartilhar um checklist para teste em

aplicações web e desktop. Faça deste checklist parte integrante do processo de escrita de

casos de teste para aplicações web e desktop. Este checklist é geral e pode ser aplicado

em todos os tipos de aplicações. Verifique sempre seu os testes do seu projeto estão de

acordo com este checklist. Este é um checklist padrão, portanto recomendo que

verifique as necessidades específicas do seu projeto.

Importância de utilizar checklist para teste:

A manutenção de um repositório padrão de reusabilidade de casos de testes para sua aplicação vai garantir que os erros mais comuns estão sendo capturados rapidamente.

Checklist ajuda a escrever rapidademente casos de testes para novas versões da aplicação;

Reutilização de casos de testes ajuda a poupar dinheiro e escrever se houver a necessidade de escrever testes repetitivamente;

A cobertura de casos de testes importantes será quase sempre impossível de esquecer;

Checklist de teste pode ser encaminhado para os desenvolvedores garantir que os problemas mais comuns são fixos na fase de desenvolvimento.

Algumas notas para lembrar

1. Execute os cenários com diferentes papeis. Exemplo: usuário administrador, usuário convidado, etc.

2. Para aplicações web estes cenários devem ser testados em múltiplos browsers como: Internet Explore, Firefox, Chrome e Safari com versões aprovadas pelo cliente;

3. Teste com diferentes resoluções de tela como: 1024 x 768, 1280 x 1024, etc.;4. As aplicações devem ser testadas em grande variedade de monitores como

LCD, Notebooks, Tablet e celulares;5. As aplicações devem ser testadas em diferentes plataformas, como os

sistemas operacionais: Windows, Mac, Linux

Compreendendo o Checklist para testar aplicações web e desktop:

Assumindo que a sua aplicação suporta as seguintes funcionalidades

Page 2: Checklit para teste em aplicações web e desktop.doc

Formulários com vários campos Janelas filhas Aplicação interage com banco de dados Vários critérios de filtro de pesquisa e exibição de resultados Upload de imagens Funcionalidade de envio de emails Funcionalidade de exportação de dados

Cenários gerais de Teste

1. Todos os campos obrigatórios devem ser validados e indicados pelo símbolo (*) asterisco;

2. Mensagens de erro de validação devem ser exibidas na posição correta;

3. Todas as mensagens de erro devem ser exibidas no mesmo estilo (exemplo: utilizando cor vermelha)

4. Mensagens de confirmação devem ser exibidas utilizando estilo diferente das mensagens de erro (exemplo: utilizando a cor verde)

5. Dicas de ferramentas de texto devem ser significativas;

6. Campos dropdown devem está em brando ou com o texto “Selecione”;

7. Funcionalidade de excluir para qualquer registro na página deve pedir confirmação;

8. Selecionar/Desmarcar todos os registros deve ser fornecida se a página suporta a funcionalidade de adicionar/excluir/editar;

9. Valores de montante devem ser exibidos com os símbolos de moeda corretos;

10. Página padrão de classificação deve ser fornecida;

11. A funcionalidade do botão reset deve ter valor padrão para todos os campos;

12. Todos os valores números devem ser formatados corretamente;

13. Campos de entrada devem ser verificados para o valor máximo. Valores maiores que o limite máximo especificado não deve ser aceitos e nem armazenados no banco;

14. Verificar todos os campos de entrada para caracteres especiais;

15. Label de campo deve ter padrão (exemplo: campo que aceita nome do usuário deve ser rotulado corretamente com “Nome completo”)

16. Conferir a funcionalidade ordenação após operações de adicionar/editar/excluir

Page 3: Checklit para teste em aplicações web e desktop.doc

17. Verificar o tempo limite da funcionalidade. Valores de limite de tempo devem ser configuráveis. Verifique o comportamento da aplicação após o timeout;

18. Check os cookies utilizados na aplicação;

19. Verificar se os arquivos de download estão apontando para o caminho correto;

20. Validar todas as páginas web (validar sintaxe de erros HTML e CSS) para se certificar que está de acordo com as normas;

21. Página indisponível deve ser direcionada para uma página de erro;

22. Verificar os textos em todas as páginas para erros ortográficos e gramaticais;

23. Verificar os campos de entrada numéricos. Mensagens adequada de validação devem aparecer;

24. Verificar se valores negativos é permitido nos campos de entrada;

25. Verficar campos com valores numéricos decimais

26. Verificar funcionalidade de botões disponível em todas as páginas

27. O usuário não deve ser capaz de submeter duas páginas pressionando o botão de enviar duas vezes rapidamente;

28. Dividir por zero deve ser manipulado por qualquer calculadora

29. Dados de entrada com primeira e última posição devem ser manipulados corretamente.

Cenários de teste de usabilidade e GUI

1. Todos os campos na página (exemplo: textbox, rádiobutton, lista dropdown) devem ser alinhados corretamente;

2. Valores numéricos devem ser alinhados a direita, a menos que especificado de outra forma

3. Espaço suficiente deve ser fornecido entre rótulos de campo, colunas, linhas, mensagens de erro, etc;

4. Barra de rolagem deve ser ativada somente quando necessário;5. Tamanho, estilo e cor da fonte, descrição de texto, labels, campos de entrada e

informações de grid devem ter padrão especificado;6. Caixa de descrição de texto deve ser multi-line7. Campos desabilitados devem ser acinzentados e o usuário não deve ser capaz de

definir foco sobre eles;8. Ao clicar sobre qualquer campo texto, o ponteiro do mouse deve mudar para

cursor;9. Não deve ser possível escrever no dropdown do select list

Page 4: Checklit para teste em aplicações web e desktop.doc

10. Informações preenchidas pelo usuário devem permanecer intactas enquanto está sendo exibida a mensagem de erro. O usuário deve ser capaz de submeter o formulário outra vez após a correção dos erros.

11. Verificar se os nomes dos campos estão corretos nas mensagens de erros.12. Campos definidos para serem exibidos no drop down devem obedecer a ordem

de classificação definida;13. Tab e Shift + Tab devem funcionar corretamente;14. A opção padrão que utilizam radio buttom deve ser pré-selecionada na página

carregada15. Campos de mensagens de ajuda e níveis de página específicos devem está

disponíveis;16. Verificar se os campos corretos são destacados em caso de erros;17. Verificar se as opções do drop down list são legíveis e não truncadas devido ao

limite de tamanho do campo;18. Todos os botões da página devem ser acessíveis por atalhos do teclado e o

usuário deve ser capaz de realizar todas as operações utilizando o teclado;19. Verificar todas as páginas para imagens quebradas20. Verificar todas as páginas para links quebrados21. Todas as páginas devem ter título22. Mensagens de confirmação devem ser exibidas antes de realizar qualquer

operação de alteração ou exclusão;23. Deve ser exibida mensagem informativa quando o aplicativo estiver carregando

(processando);24. O texto da página deve ser justificado a esquerda;25. Usuário deve ser capaz de selecionar apenas uma opção no radio buttom e

qualquer combinação no check-box

Cenários de Testes por categoria de filtro

1. Usuário deve ser capaz de filtrar resultados utilizando todos os parâmetros da página;

2. Funcionalidade de refinar pesquisa deve carregar a página com todos os resultados parâmetros de pesquisa;

3. Quando pelo menos um critério de filtro de pesquisa é exigido, verifique se uma mensagem de erro apropriada é exibida quando o usuário pesquisa sem informar nenhum filtro;

4. Quando pelo menos um critério de filtro de pesquisa não é exigido. Usuário deve ser capaz de pesquisar e a aplicação exibir os resultados de acordo com a consulta;

5. Mensagens de validação devem ser exibidas para valores inválidos informados nos critérios de pesquisa

Cenários de Testes para o Grid de Resultados

Page 5: Checklit para teste em aplicações web e desktop.doc

1. O símbolo de carregamento da página deve ser exibido quando estiver

demorando mais tempo do que o padrão para exibir o resultado;2. Verificar se todos os parâmetros de pesquisa são usados para buscar dados

exibidos no resultado;3. O número total do resultado deve ser exibido no grid de resultados;4. Critério de pesquisa utilizado para a pesquisa deve ser exibido no grid de

resultados;5. Valores do grid de resultado devem ser classificados por coluna padrão;6. Colunas ordenadas devem ser exibidas com o ícone de classificação;7. O grid de resultado deve incluir todas as colunas especificadas com valores

corretos8. Funcionalidade classificação do resultado de ascendente e descendente deve

funcionar para colunas compatíveis com a ordenação dos dados;9. O grid de resultado deve ser exibido com o devido espaçamento entre as

colunas;10. Paginação deve ser habilitada quando houver mais resultados do que a

quantidade padrão a ser exibida por página;11. Verificar se a funcionalidade próxima, anterior, primeiro e anterior funcionam

corretamente;12. Registros duplicados não devem ser exibidos no grid de resultados;13. Verificar se todas as colunas são visíveis e se a barra de rolagem está habilitada

se necessário;14. Verificar os dados para colunas dinâmicas (colunas cujos valores são calculados

dinamicamente baseados em valores de outras colunas);15. Em relação ao grid de resultados que mostram relatórios verificar coluna “Total”

e verificar o total para cada coluna;16. Em relação a grid de resultados que mostram relatórios, verificar a coluna

“Total” quando a paginação é ativada e o usuário navega para a próxima página17. Verificar se os símbolos adequados são utilizados para a exibição de valores (ex:

símbolo % deve ser exibido para calculo de porcentagem)18. Verificar se o intervalo de dados está ativado no grid de resultados

Cenários de Teste para a Janela

1. Verificar se o tamanho padrão da janela está correto;2. Verificar se a janela filho está correta;3. Verificar se existe qualquer campo na página com o foco padrão (em geral o

foco deve ser definido no primeiro campo da tela de entrada);4. Verificar se a janela filho estão sendo fechadas quando a janela pai é fechada;5. Se a janela filho é aberta, usuários não devem ser capazes de atualizar qualquer

campo na janela pai;6. Verificar funcionalidade de minimizar, maximizar e fechar;7. Verificar se janela é redimensionável;8. Verificar se a funcionalidade da barra de rolagem da janela pai e filho

Page 6: Checklit para teste em aplicações web e desktop.doc

Cenários de Teste para Upload de imagens (Também aplicável para upload de qualquer arquivo)

1. Verifique o caminho para upload de imagens2. Verifique a funcionalidade de alteração do upload da imagem3. Verifique a funcionalidade de upload de imagem com arquivos de diferentes

extensões (exemplo: JPEG, PNG, BMP, etc)4. Verifique a funcionalidade de upload de imagens tendo espaço ou qualquer

outro caractere especial permitido no nome do arquivo5. Verifique nome de imagens duplicados6. Verifique upload de imagem com tamanho maior que o máximo permitido.

Mensagem de erro adequada deve ser exibida7. Verifique funcionalidade de upload de imagem com outros tipos de arquivos

(exemplo: txt, doc, pdf, exe, etc)8. Verifique se imagem com altura e largura especifica (se definido) são aceitos ou

são rejeitadas9. Verifique se o comando de cancelar está funcionando entre o processo de upload10. Verifique se a barra de progresso do upload da imagem aparece quando as

imagens são grandes11. Verifique se a caixa de seleção de arquivos exibe somente os arquivos

suportados12. Verifique a funcionalidade de upload de várias imagens13. Verifique a qualidade da imagem depois do upload. A qualidade da imagem não

deve ser modificada após o upload14. Verifique se o usuário é capaz de utilizar/ver as imagens

Cenários de Teste de desempenho

1. Verifique se o tempo de carregamento da página está dentro do limite aceitável2. Verifique carregamento da página em conexões lentas3. Verifique tempo de resposta para qualquer ação em condições de carga leve,

normal, moderada e alta4. Verifique o desempenho de stored procedures e triggers no banco de dados5. Verifique o tempo de execução de consulta no banco de dados6. Verifique o teste de carga da aplicação7. Verifique o teste de stress da aplicação8. Verifique a CPU e memória utilizada sobre pico de carga

Cenários de teste para Teste de Segurança

1. Verifique se há ataques de injeção de SQL2. Páginas seguras devem utilizar o protocolo HTTPS3. Quebra de página não deve revelar pedido ou informação do servidor. Erro de

página deve ser exibido neste caso4. Mensagens de erro não devem revelar qualquer informação sensível

Page 7: Checklit para teste em aplicações web e desktop.doc

5. Todas as credenciais devem ser transferidas por canal criptografado6. Teste de segurança de senha e políticas de senha7. Verifique o logout da aplicação8. Verifique se há ataque força bruta9. Informações de cookie devem ser armazenadas em formato criptografado10. Verifique a duração das sessões de cookie e o encerramento da sessão após timeout

ou logout11. Sessões de tokens devem ser transmitidas através de canal seguro12. Senhas não devem ser armazenadas em cookies13. Teste de ataque de negação de serviço14. Teste vazamento de memória15. Teste acesso não autorizado através da manipulação de valores de variáveis na

barra de endereço do navegador16. Teste de extensão de arquivo no momento do upload para que arquivos do tipo exe

não sejam executados no servidor17. Campos sensíveis como senhas e informação de cartão de credito não devem ter

auto complete18. Funcionalidade de upload de arquivos deve utilizar restrições de tipo de arquivo e

também antivírus para varredura de arquivos.19. Verifique se a lista de diretório é proibida20. Senhas e outros campos sensíveis devem ser protegidos durante a digitação21. Verifique se a funcionalidade “Esqueceu senha” é segura com recursos como senha

temporária expirando em depois de tempo especifico e questões de segurança são solicitadas antes de alterar ou solicitar nova senha

22. Verifique a funcionalidade CAPTCHA23. Verifique se eventos importantes são registrados em arquivos de log24. Verifique se acesso privilegiado são implementados corretamente.

Cenários para Teste de Banco de Dados

Banco de dados é parte integrante de qualquer aplicação. As operações realizadas no front end geralmente resultam em geração de novos dados ou atualização em dados existentes. Abaixo alguns pontos a considerar :

· Colunas não deve permitir nulo até a menos que especificado

· O que acontece se os parâmetros errados são passados para o procedimento armazenado? A aplicação lidar com essa utilização

casos?

· É dados guardados de forma adequada no formulário de envio. Os dados não devem ser truncados quando salvo no banco de dados

· Verificar o tempo de execução de um procedimento. Um procedimento escrito incorretamente pode resultar numa resposta mais

Page 8: Checklit para teste em aplicações web e desktop.doc

tempo

· Todos os dados sensíveis ou seja senha deve ser codificado em base de dados

Checklist para Definir Automação

Se você responder sim a qualquer das perguntas abaixo, então deve considerar que o cenário de teste pode ser automatizado.

1. Uma sequência de ações no teste pode ser definida?

2. É útil repetir a sequência de ações muitas vezes? Exemplos disso são os testes de aceitação, testes de compatibilidade, testes de desempenho e testes de regressão.

3. É possível automatizar a sequência de ações? Isso pode determinar que a automação não seja adequada para essa sequência de ações

4. É possível semi-automatizar um teste? Automatização de partes de um teste pode acelerar o tempo de execução do teste.

5. O comportamento do software é o mesmo com e sem a automação? Está é uma preocupação importante para os testes de desempenho.

6. Você está testando os aspectos não funcionais do sistema? Quase todos os requisitos não funcionais do sistema podem e devem ser automatizado.

7. Você precisa executar em mesmo teste com várias configurações de hardware?