1. Técnicas de Teste
1.1. Caixa Preta
1.1.1. Teste baseado em Cenários
1.1.1.1. O cenário de teste é um documento que descreve estórias (situações de teste) que ajudam no trabalho do testador no momento de execução destes testes. O cenário de teste descreve "o que" deve ser testado, diferentemente do caso de teste, que descreve "como" deve ser testado.
1.1.2. Teste baseado em Casos de Uso
1.1.2.1. Um caso de uso contém todas as informações necessárias sobre como o sistema deve funcionar. É possível gerar casos de teste após identificar todos os cenários de casos de uso.
1.1.3. Análises de Valores Limites
1.1.3.1. Os casos de testes são escolhidos nas fronteiras dos domínios de entrada.
1.2. Caixa Branca
1.2.1. Teste de Fluxo de Dados
1.2.1.1. Descobre os caminhos para que teste o código fonte, selecionar as definições (def) e uso das variáveis do código fonte. Para demonstrar o fluxo de dados de cada comando do código fonte é representada por números.
1.2.2. Teste de Caminhos
1.2.2.1. Técnica onde calcula-se a complexidade lógica do software e utiliza esta medida como base para descobrir os caminhos básicos do software e exercendo o teste de modo que todos os caminhos sejam efetuados
1.2.3. Teste de Coberturas
1.2.3.1. A cobertura de decisão é avaliada pela porcentagem dos resultados da decisão (por exemplo, as opções de “Verdadeiro” ou “Falso” de uma expressão condicional - IF) que foram exercitados em um conjunto de casos de teste.
1.2.4. Teste de Condições
1.2.4.1. Este tipo de teste são feitos nas condições booleana simples ou compostas para analisar os desvios possíveis existentes, onde o teste examina os lados positivos ou falsos da condição booleana
1.3. Revisão
1.3.1. Revisão Gerencial
1.3.1.1. Garantir o progresso, recomendar ações corretivas, garantir alocação correta dos recursos.
1.3.2. Revisão Técnica
1.3.2.1. Avaliar a conformidade do estado atual com as especificações e planos, garantir a integridade da mudança.
1.3.3. Inspeção
1.3.3.1. Encontrar anomalias, verificar decisões, verificar a qualidade do produto.
1.3.4. Walkthrough
1.3.4.1. encontrar anomalias, examinar alternativas, melhorar o produto, fórum para aprendizado.
1.3.5. Auditoria
1.3.5.1. Avaliação independente de cumprimento com os objetivos de padrões e regulamentos.
2. Tipos de Teste
2.1. Teste de Segurança
2.1.1. Validam a proteção do sistema contra invasões ou acesso não autorizado a informações.
2.2. Teste de Portabilidade
2.2.1. Valida o funcionamento do sistema em diferentes plataformas e dispositivos, nas quais o sistema está proposto a funcionar.
2.3. Teste de Performance
2.3.1. Desempenho
2.3.1.1. Validar o desempenho do sistema no que diz respeito ao seu tempo de resposta para determinadas operações
2.3.2. Carga
2.3.2.1. 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.
2.3.3. Stress
2.3.3.1. 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.
2.4. Teste de Interface
2.4.1. A ideia deste teste é simular com o máximo de fidelidade possível uma situação real de uso do produto. Deve cobrir todas as possibilidades de uso do produto.
2.5. Teste de Usabilidade
2.5.1. Validam aspectos que envolvem a experiência do usuário ao utilizar o sistema.
2.6. Teste de Funcionalidade
2.6.1. Validar que as funcionalidades do sistema estão funcionando corretamente .
3. Níveis de teste
3.1. Teste Beta
3.1.1. É conduzido em instalações do cliente, pelo usuário final do software. Os usuários é que reportam os erros encontrados.
3.2. Teste Alfa
3.2.1. É o teste feito no período entre o término do desenvolvimento e a entrega, é conduzido pelo cliente no ambiente do desenvolvimento.
3.3. Teste de Aceitação
3.3.1. Simulam operações de rotina do sistema de modo a verificar se seu comportamento está de acordo com o solicitado. Visa permitir ao cliente determinar se aceita ou não o sistema.
3.4. Teste de Regressão
3.4.1. Reexecutar testes após alterações serem realizadas no sistema, para conferir se tudo continua funcionando corretamente (detectar efeitos colaterais).
3.5. Teste de Sistema
3.5.1. Executar o sistema do ponto de vista do usuário final. Este nível de teste está interessado se o sistema funciona como um todo, com todas as unidades trabalhando juntas.
3.6. Teste de Integração
3.6.1. Teste de integração é a fase do teste de software em que módulos são combinados e testados em grupo.
3.7. Teste de Unidade
3.7.1. Os testes unitários procuram aferir a corretude do código, em sua menor fração. Em linguagens orientadas a objetos, essa menor parte do código pode ser um método de uma classe.
4. Ferramentas de teste
4.1. Performance
4.1.1. JMeter
4.1.2. BlazeMeter
4.1.3. Loadrunner
4.1.4. WebLoad
4.2. Automação
4.2.1. Katalon Studio / Recorder
4.2.2. Selenium IDE
4.2.3. TestComplete
4.2.4. HP UTP
4.2.5. SoapUI
4.3. Gestão de Defeitos
4.3.1. Mantis BT
4.3.2. Bugzilla
4.3.3. Jira
4.3.4. Redmine
4.3.5. HP ALM
4.4. Gerenciamento de Testes
4.4.1. TestLink
4.4.2. TestMaster
4.4.3. QaManager