domingo, 7 de julho de 2013

Teste de software



Níveis de teste
O nível de teste define, de certa forma, a fase do processo de desenvolvimento do software na qual os testes são realizados.
Nível de Teste
Descrição
Testes de unidade (ou componentes)
Nesta fase são testadas as menores unidades de software desenvolvidas (por exemplo: métodos de uma classe).
Testes de integração
Nesta fase é testada a integração entre os componentes do sistema (por exemplo: classes, módulos, sub-sistemas, etc).
Testes de sistema
Nesta fase o sistema é testado como um todo com o objetivo de encontrar discordâncias entre o que foi implementado e o comportamento descrito nos requisitos.
Testes de aceitação (ou releases, ou funcional)
Nesta fase o sistema é testado como um todo com o objetivo de encontrar discordâncias entre o que foi implementado e o comportamento descrito nos requisitos, sob o ponto de vista das necessidades do usuário final.

Tipos de teste
Os tipos de teste normalmente são definidos em função das características ou dimensões da qualidade que serão avaliadas no software.
Tipos de teste
Descrição
Teste de Estresse
Avalia o desempenho do sistema com um volume de acesso/transações acima da média esperada e em condições extremas de uso.
Teste de Execução
Avalia se o sistema atende os requisitos de performance (proficiência) com o volume de acesso/transações dentro do esperado.
Teste de Contingência
Avalia se o sistema retorna a um status operacional após uma falha.
Teste de Operação
Avalia se o sistema (aplicação, pessoal, procedimentos e manuais) pode ser executado corretamente em ambiente de pré-produção.
Teste de Conformidade
Avalia se o sistema foi desenvolvido em consonância com os padrões e metodologia estabelecidos no projeto.
Teste de Segurança
Avalia se o sistema foi desenvolvido em consonância com os padrões de segurança da organização.
Teste de Regressão
Avalia por meio de re-teste se uma funcionalidade que estava funcionando ainda funciona após uma modificação no sistema.
Teste alfa
Realizado por um cliente nas instalações do desenvolvedor. Durante o teste, o desenvolvedor observa e registra erros e problemas de uso. Os testes alfa são conduzidos em um ambiente controlado.
Teste beta
Realizado em uma ou mais instalações do cliente pelo usuário final do software, em ambiente não controlado pelo desenvolvedor e sem a presença deste. O cliente registra os problemas e relata ao desenvolvedor para que as correções possam ser realizadas.
Teste de partições
Os dados de teste são agrupados em partições de equivalência ou domínios. Partições de equivalência são conjuntos de dados com características comuns (números inteiros positivos, números maiores que 10.000, números negativos, seleções de menu, etc.). Os casos de teste são projetados de modo que as entradas e as saídas se acomodem nessas partições. As partições podem ser usadas em testes de sistema e componentes.
Teste de interfaces
O teste de interfaces tenta descobrir defeitos nas interfaces dos componentes compostos.
Teste de caminho
Esse teste é mais usado durante o teste de componentes e objetiva garantir que cada caminho independente do programa seja executado pelo menos uma vez. Para auxiliar essa tarefa um fluxograma deve ser construído. O número de caminhos independentes é calculado pela complexidade ciclomática.

Técnicas de teste
Técnica de teste
Descrição
Caixa branca (ou estrutural)
Testa a estrutura interna do software, como funções ou métodos de um objeto, atributos de uma classe, etc.
Caixa preta (ou funcional)
Concentra-se na funcionalidade do software. Entradas são fornecidas e as saídas geradas são comparadas com as saídas previstas. Se houver divergência, o teste detectou um problema com o software.
Caixa cinza
Combinação dos testes de caixa branca e com os testes de caixa preta. Uma vantagem é que tanto a estrutura quanto a funcionalidade do software são analisadas de forma combinada, permitindo a detecção mais precisa das falhas de software.

Nenhum comentário:

Postar um comentário