Tipos de Testes
Os 13 principais tipos de testes de software são:
1. Teste de Configuração
Testa se o software funciona no hardware a ser instalado.
2. Teste de Instalação
Testa se o software instala como planejado, em diferentes hardwares e sob diferentes condições, como pouco espaço de memória, interrupções de rede, interrupções na instalação etc.
3. Teste de Integridade
Testa a resistência do software à falhas (robustez).
4. Teste de Segurança
Testa se o sistema e os dados são acessados de maneira segura, apenas pelo autor das ações.
5. Teste Funcional
Testa os requisitos funcionais, as funções e os casos de uso. “A aplicação faz o que deveria fazer?”
6. Teste de Unidade
Testa um componente isolado ou classe do sistema.
7. Teste de Integração
Testa se um ou mais componentes combinados funcionam de maneira satisfatória. Há quem diga que o teste de integração é composto por vários testes de unidade.
8. Teste de Volume
Testa o comportamento do sistema operando com o volume “normal” de dados e transações envolvendo o banco de dados durante um longo período de tempo.
9. Teste de Performance
O teste de performance se divide em 3 tipos:
Teste de carga
Testa o software sob as condições normais de uso. Ex.: tempo de resposta, número de transações por minuto, usuários simultâneos etc.
Teste de stress
Testa o software sob condições extremas de uso. Grande volume de transações e usuários simultâneos. Picos excessivos de carga em curtos períodos de tempo.
Teste de estabilidade
Testa se o sistema se mantém funcionando de maneira satisfatória após um período de uso.
10. Teste de Usabilidade
Teste focado na experiência do usuário, consistência da interface, layout, acesso às funcionalidades etc.
11. Testes de Caixa Branca e Caixa Preta
Basicamente, teste de caixa branca envolve o código e o de caixa-preta, não.
12. Teste de Regressão
Reteste de um sistema ou componente para verificar se alguma modificação recente causou algum efeito indesejado, além de, certificar se o sistema ainda atende os requisitos.
13. Teste de Manutenção
Testa se a mudança de ambiente não interferiu no funcionamento do sistema.
Padrões de Testes
Um grande desafio encarado pelos desenvolvedores do mundo todo é garantir na entrega de um projeto extenso que todas as suas partes estão funcionando perfeitamente.
Uma forma de resolver isso é automatizar os testes. Existe um framework chamado Selenium que nos permite automatizar as ações de um usuário em um navegador, dessa forma conseguimos automatizar tarefas desgastantes que necessitem ser feitas no navegador como por exemplo cadastrar 100 usuário onde o formulário tem 50 campos, com certeza a realização dessa tarefa de forma manual seria extremamente extressante para o testador do sistema.
Metodologias de Testes
As metodologias de teste de software especificam padrões sobre como os mesmos devem ser executados, como criar a documentação necessária, enfim, projetar da melhor maneira o processo.
Processos de Testes
O Processo de Testes de Software representa uma estruturação de etapas, atividades, artefatos, papéis e responsabilidades que buscam a padronização dos trabalhos e ampliar a organização e controle dos projetos de testes.
O Processo de Teste, como qualquer outro processo deve ser revisto continuamente, de forma a ampliar sua atuação e possibilitar aos profissionais uma maior visibilidade e organização dos seus trabalhos, o que resulta numa maior agilidade e controle operacional dos projetos de testes.
A imagem a seguir exibe as etapas de processos de testes de software:
Planejamento dos Testes
Esta etapa caracteriza-se pela definição de uma proposta de testes baseada nas expectativas do Cliente em relação à prazos, custos e qualidade esperada, possibilitando dimensionar a equipe e estabelecer um esforço de acordo com as necessidades apontadas pelo Cliente.
Especificação dos Testes
Esta etapa é caracterizada pela identificação dos casos de testes que deverão ser construídos e modificados em função das mudanças solicitadas pelo Cliente, bem como pelo próprio aperfeiçoamento do processo de testes (ampliação da cobertura).
Modelagem de Testes
Esta etapa é caracterizada pela identificação de todos os elementos necessários para a implementação de cada caso de testes especificado. Fazem parte desta etapa a modelagem das massas de testes e a definição dos critérios de tratamento de arquivos (envelhecimento, descaracterização e comparação de resultados)
Preparação do Ambiente
Esta etapa é caracterizada por um conjunto de atividades que visa a disponibilização física de um ambiente de testes “segregado” que esteja pronto para sofrer a bateria de testes planejadas nas etapas anteriores, sem que existam “intervenções humanas” que interrompam o processo “contínuo” dos testes.
Execução dos Testes
Esta etapa é caracterizada pela execução e conferência dos testes planejados, de forma a garantir que o comportamento do aplicativo permanece em “conformidade” com os requisitos contratados pelo Cliente.
Análise dos Resultados
Esta etapa é caracterizada pela análise e confirmação dos resultados relatados durante a fase de execução dos testes. Os resultados em “não-conformidade” deverão ser “confirmados” e “detalhados” para que a Fábrica de Software realize as correções necessárias. Já os casos de testes progressivos em “conformidade” deverão ter seu resultado “POSITIVO” reconfirmado e seu “baseline” atualizado.
Encerramento do Processo
Esta etapa é caracterizada pela avaliação de todo o Processo de Teste de Software, comparando os resultados alcançados em relação ao que foi inicialmente planejado. Neste momento, diversos indicadores são extraídos, visando avaliar qualitativamente e quantitativamente o desempenho do trabalho, através de comparações históricas de projetos anteriores.
Fontes:
http://www.targettrust.com.br/blog/desenvolvimento/testes/os-13-principais-tipos-de-testes-de-software/
http://www.devmedia.com.br/teste-de-software-implantacao-de-metodologias/31874
http://imasters.com.br/artigo/6102/software/processo-de-teste-de-software-parte-01?trace=1519021197&source=single