Tecnicas de Levantamento de Casos de Testes
"Este artigo é direcionado à pessoas que conheçam os processos de testes bem como;
- técnicas: Estresse, Execução, Contingência, Operação, Conformidade, Segurança.
- fatores de qualidade: Correção, Confiabilidade, Eficiência, Integridade, Usabilidade, Manutenibilidade, Testabilidade, Testabilidade, Flexibilidade, Reusabilidade, Interoperabilidade e Portabilidade."
Este artigo te ajudará passar ileso dos feedbacks negativos em finais de projetos.
Há quem diga e defenda constantemente que os objetivos dos Testes são encontrar o maior número de falhas possíveis no sistema. Eu defendo o conceito de que o Objetivo do Teste de Software é garantir que ele funciona conforme requisitado. Encontrar falhas são meras consequências.
Encontrando Bugs
Seja amigo do bug
Para isto, vem outro conceito que defendo cegamente, o processo de Teste de Software deve começar la no inicio, com a documentação e o levantamento dos requisitos. Não simplesmente entregar um conjunto e emaranhados de telas e códigos e falar pro testador("Testa ai"). Não, não aceitem isto.
Para se testar um sistema, precisa conhecer a regra do negócio, saber o que o sistema fará. Conhecer quem utilizará o sistema, o que este faz diariamente, como ele utilizará e para qual fim.
Assim você poderá realmente iniciar a garantia de que o software foi construído de forma eficaz. Assim você terá testes limpos e eficiente. Do contrario, temos meros chutes e caça aos bugs.
Então para testarmos um sistema de forma eficiente, e não apenas chutar o que o usuário talvez fará. Vamos criar idéias de Testes, Criar Casos de Testes, este processo se chama:
- Levantamento de Casos(Idéias) de Testes
O processo de Levantamento de Idéias e Casos de Testes auxiliará o próximo processo dentro dos Testes de Software que é a Elaboração dos casos de Testes, ou simplismente já testar o sistema com as idéias levantadas.
Este levantamento pode ser feito simples em qualquer bloco de notas por exemplo, para mais tarde a elaboração em um documento próprio ou testlink.
O Caso de Teste deve ter as características a seguir para que possa ser usado e atender às expectativas de validação da qualidade:
- efetivo: testar o que se planejou testar;
- econômico: sem passos desnecessários;
- reutilizável: que possa ser repetido;
- rastreável: que possa identificar o requisito a ser testado;
- auto-explicativo: que possa ser testado por qualquer testador.
Livro: Base de Conhecimento de Testes de Software
A decisão de determinar o nível e estrutura das condições de teste pode ser baseada em características funcionais e não-funcionais dos itens de teste usando o seguinte:
1. Granulosidade da base de teste: Exemplo: requisitos de alto nível podem gerar inicialmente condições de alto nível. Exemplo: prove que a tela X funciona, a partir da qual é possível derivar condições de teste de baixo nível. Exemplo: prove que a tela X rejeita um número que é um dígito menor que o comprimento correto.
2. Riscos de produtos correspondidos: Exemplo: para uma característica de alto nível de risco, condições de teste detalhadas devem ser um objetivo definido.
3. Requisitos para relatório gerencial e rastreabilidade de informação
4. Quando a decisão for tomada para trabalhar com condições de teste somente e não desenvolver caso de teste. Por exemplo, usando condições de teste para foco de teste sem script.
Livro: Syllabus
A modelagem de caso de teste inclui a identificação de:
· pré-condições tais como o projeto ou os requisitos do ambiente de teste localizados e os planos para sua entrega
· os requisitos de dados de teste
· os resultados esperados e as pós-condições
Livro: Syllabus
Vejamos mais algumas Técnicas de Levantamento de Casos de Testes
- Levante casos em que o seu teste irá validar os valores limites dos campos(tente criar estes casos de testes para os desenvolvedores realizar nos Testes de Unidade)
- Levante casos de testes para o fluxo principal
- Levante casos de testes para fluxos alternativos(campos obrigatórios vazios, salvar um cadastro sem nenhum campo preenchido, na edição do cadastro apagar os dados e salvar, etc)
- Levante casos em que o usuário poderia exigir algo do sistema em que o sistema não esteja preparado para responder a ação
- Levante casos de testes de usabilidade, descrevendo como o layout deveria ficar ou como deve ser a ordenação do campo para utilização apenas pelo teclado.
- Levante casos de testes exploratórios iniciais, estes irão indicar se a suite de teste(bloco de testes de uma tela, caso de uso ou módulo), já pode ser iniciada.
Vejam alguns Casos de Testes que poderíamos levantar de exemplo.
ST001 - Suite Cadastrar Time
CT001 - Validar exploração da tela através de cliques em todos os campos e botões
CT002 - Validar Cadastrar time
CT003 - Validar Cadastrar time sem nenhum campo preenchido
CT004 - Validar campo Nome
CT005 - Validar campo Empresa
CT006 - Validar campo responsável
CT007 - Validar cadastro do time no banco
ST002 - Suite Cadastrar Filme
CT008 - Validar Cadastrar filme
CT009 - Validar campos obrigatórios do cadastro de filmes
CT010 - Validar tipo campo Diretor
CT011 - Validar inserção de caracteres especiais no campo Nome
CT012 - Validar inserção de atores principais
Vamos exemplificar técnicas de levantamento para telas de cadastros
- Levante casos em que o seu teste irá validar os valores limites dos campos(tente criar estes casos de testes para os desenvolvedores realizar nos Testes de Unidade)
- Levante casos de testes para o fluxo principal
- Levante casos de testes para fluxos alternativos(campos obrigatórios vazios, salvar um cadastro sem nenhum campo preenchido, na edição do cadastro apagar os dados e salvar, etc)
- Levante casos em que o usuário poderia exigir algo do sistema em que o sistema não esteja preparado para responder a ação
- Levante casos de testes de usabilidade, descrevendo como o layout deveria ficar ou como deve ser a ordenação do campo para utilização apenas pelo teclado.
- Levante casos de testes exploratórios iniciais, estes irão indicar se a suite de teste(bloco de testes de uma tela, caso de uso ou módulo), já pode ser iniciada.
E por ai vai, existem milhares de técnicas para se levantar um Caso de Teste.
Escreva este levantamento em um bloco de notas por exemplo, para mais tarde a elaboração.
Vamos exemplificar alguns Casos de Testes que poderiamos levantar com os 2 sistemas de exemplo.
ST001 - Suite Cadastrar Time
CT001 - Validar exploração da tela atravéz de cliques em todos os campos e botões
CT002 - Validar Cadastrar time
CT003 - Validar Cadastrar time sem nenhum campo preenchido
CT004 - Validar campo Nome
CT005 - Validar campo Empresa
CT006 - Validar campo responsável
CT007 - Validar cadastro do time no banco
ST002 - Suite Cadastrar Filme
CT008 - Validar Cadastrar filme
CT009 - Validar campos obrigatórios do cadastro de filmes
CT010 - Validar tipo campo Diretor
CT011 - Validar inserção de caracteres especiais no campo Nome
CT012 - Validar inserção de atores principais
Estes foram alguns exemplos do levantamento de Casos de Testes nos dois sistemas descritos anteriormente.
Então pessoal, espero colaborar a todos com estas técnicas para levantamento dos testes.
Qualquer dúvida estou à disposição.