Blog

09 de junho de 2021

Fundamentos do Teste de Software

O teste de software possui três objetivos:

Níveis de testes

Teste de Unidade
Objetivo: Encontrar falhas de funcionamento dentro de uma pequena parte do sistema. Aplicado aos menores componentes do código.

Teste de Integração
Objetivo: Validar a comunicação entre os componentes de um sistema. Podem ser feitos antes do sistema esta, pronto, testando os componentes na medida que vão ficando prontos.

Teste de Sistema
Objetivo: Executar o sistema do ponto de vista de seu usuário final, verificando suas funcionalidades em busca de falhas.

Teste de Aceitação
Objetivo: Executar o sistema do ponto de vista de seu usuário final.
São planejados e executados por um grupo restrito que simulam operações de rotina do sistema de modo a verificar se seu comportamento corresponde como solicitado.

Teste Alfa
Objetivo: Executar o sistema de forma não planejada, do ponto de vista de seu usuário final, porem, com um pequeno grupo de pessoas. O grupo restrito de usuários que testarão, é geralmente composto por membros da própria organização e também do cliente.

Teste Beta
Objetivo: Executar o sistema de forma não planejada, do ponto de vista de seu usuário final, porém, por um grupo grande de pessoas.
O grupo de usuários que testarão são geralmente desconhecidos, sendo de uma determinada localidade que satisfizeram determinados critérios definidos pelo fornecedor do sistema.

Teste de Regressão
Objetivo: Executar testes após alterações serem realizadas no sistema, para conferir se tudo continua funcionando corretamente. Acontece que às vezes quando é feito uma alteração em uma parte do sistema, sem que percebamos acaba ocorrendo falhas em outras funcionalidades do sistema.
O teste de regressão tem como o objetivo testar todas as funcionalidades do sistema evitando falhas nas novas funções que foram implementadas.

Testes Manuais
O principal objetivo é validar se as funcionalidades do produto atende as especificações e requisitos, além de prevenir falhas para atingir o nível de Qualidade esperado e faça realmente o que o sistema se propõe a fazer.

Testes Automatizados
É o uso de ‘software’ para controlar a execução do teste de software, visando a comparação dos resultados esperados com os resultados reais.
Quando devemos automatizar? Devemos automatizar os cenários de teste das funcionalidades de maior risco, consideradas criticas do sistema e tarefas repetitivas que requerem um grande esforço de tempo.

Teste Estático
Objetivo: Analisar o código sem executá-lo e verificar se as boas práticas foram aplicadas.

Teste Dinâmico
Objetivo: Validar o sistema através de sua execução, onde insere uma entrada, executa o sistema e confere a saída. Lembrando que as análises estáticas e dinâmicas se complementam.

Técnicas de Testes

Caixa Preta: Também chamados de testes funcionais. É um teste de ‘software’ para verificar a saída dos dados usando entradas de vários tipos.
Os níveis de teste de caixa preta são: Integração, sistema, aceitação, alfa e beta. Que se resume em testes de entrada e saída.

Caixa Branca: Possui acesso ao código-fonte, conhecendo a estrutura interna do produto. Sendo analisados e possibilitando que sejam escolhidas partes específicas de um componente para ser avaliados, permitindo uma busca precisa do comportamento da estrutura.
Os níveis de teste de caixa branca são: Teste de Unidade e Teste Estático.

Texto: Marcos Antônio Oliveira de Jesus