Os testes não iniciam apenas após o desenvolvimento, deve-se começar a estruturar os testes logo no início do projeto no levantamento de requisitos. Neste momento o planejamento e definição apropriada do que será testado e como será testado é fundamental para o sucesso do projeto e os seguintes tipos de testes podem lhe ajudar:
Teste unitário
Também conhecido como “teste do programador”, é o tipo de testes mais comum. Deve-se testar a menor unidade do software desenvolvida como uma funcionalidade, pedaço de código ou componente. Pode ser feita de forma manual ou com a ajuda de uma ferramenta como por exemplo o JUnit ou NUnit.
Teste integrado
Neste tipo de testes testa-se a integração entre os diversos produtos e componentes desenvolvidos. Deve-se verificar se os componentes funcionam perfeitamente quando integrados, com componentes externos, com bases de dados, com serviços e outros. Este tipo de testes é executado normalmente pela equipe de desenvolvimento.
Teste de aceitação
Este é o tipo de testes realizado pelo usuário para atestar que o sistema atende aos requisitos definidos (e contratados). É executado normalmente pelo usuário com apoio do analista ou arquiteto do projeto.
Teste de interface
Deve-se verificar se a navegação no sistema está de acordo com o previsto. Se os botões acionam as funções esperadas e a usabilidade atende às necessidades do usuário.
Teste de performance
Neste tipo de teste, verifica-se se o tempo de resposta da aplicação está condizente com o planejado, se o sistema suporta um determinado número de conexões ao mesmo tempo e se determinadas situações de alta carga não “travam” o sistema.
Teste de segurança
Deve-se verificar se o sistema está preparado para as principais vulnerabilidades de segurança. Uma boa dica é seguir as recomendações do OWASP que discute as principais vulnerabilidades e apresenta meios para proteger os sistemas contra as mesmas.
Teste de regressão
Estes é um dos tipos mais complexos de se fazer manualmente pois implica em testar toda aplicação sempre que algo for mudado. Com este procedimento pode-se garantir que as mudanças não trarão impacto ao restante do sistema. Há diversas ferramentas que executam scripts para testes de regressão tornando esta atividade bem mais fácil.
Teste de caixa branca
Testa-se o código propriamente dito, seu comportamento e se há partes do mesmo que não são acessadas.
Teste de configuração
É o tipo de testes onde se verifica se a aplicação funciona em diferentes tipos de ambientes, hardware e software. No desenvolvimento web utiliza-se muito para verificar o comportamento em diferentes navegadores ou ambientes servidores.
Teste de caixa preta
Neste momento verifica-se se o comportamento das entradas e saídas está de acordo com o esperado. Os casos de saídas com resultados inesperados é classificado como erro. Não se verifica o código dos componentes.
Teste funcional
Deve-se testar todas as funcionalidades para verificar se as mesmas atendem aos requisitos e regras de negócio definidos no levantamento de dados ou especificação funcional. Uma boa prática é realizar esta validação contra a documentação e se houver alguma divergência, está deve ser tratada.
Teste de volume
O objetivo deste teste é verificar como o sistema se comporta com grandes volumes de dados .
Teste de instalação
Este tipo de testes é bem pragmático. Verifica-se se a instalação ocorreu conforme previsto.
Teste de Sistema
Verifica a boa execução dos componentes do aplicativo inteiro, incluindo as interfaces com outras aplicações.
Deve-se buscar o melhor índice de estabilidade e confiabilidade possível, todavia a partir de um determinado ponto como 97% por exemplo, o custo começa a aumentar exponencialmente.
Nenhum comentário:
Postar um comentário