Testes de Software

Testes de Software

porque testar o software?

Teste de software

As atividades de teste quando feitas manualmente podem ser exaustivas, lentas e também podem estar sujeitas a falhas humanas, por isso com os Teste Automatizados podemos tornar esse processo muito mais eficaz, cobrindo uma maioridade de funcionalidades especificas ou gerais do software, além de trazes mais rapidez e eficácia no processo.

O objetivo de um teste automatizado é a localização de erros, falhas, defeitos e verificação de funcionalidades além de cobrir uma maioria de funcionalidades do software garantindo seu funcionamento, verificação rápida de quebras ou novo bugs que entrarem no sistema, e poder verificar e rastrear caso uma nova funcionalidade ou concerto quebre outras áreas relacionadas ou não.

Teste Funcional ( Caixa - Preta )

O Teste Funcional também conhecido como teste de caixa preta, é o tipo de teste onde não se tem abertamente acesso a estrutura do código, então as funcionalidades são testadas em um nível de verificação e são definidas de acordo com os requisitos a figura que realiza o testes possui informações da entrada e já se tem uma saída esperada que será analisada e verificada.

é um teste que parte da visão do utilizador,e é particularmente util para verificar

  • Funções Incorretas ou Omitidas
  • Erros de Interface
  • Erros de comportamento ou desempenho
  • Erros de inicialização ou término

image.png

Teste Estrutural ( Caixa - Branca )

São os projetos de casos de testes onde seus testes são desenvolvidos a partir dos conceitos de implementação de software e da estrutura envolvida. ( se importando com o código e algoritmo )

Os teste de caixa branca possibilitam se importar com a estrutura interna do programa, sua codificação, módulos, implementação e execução particionada do software, sendo que as informações obtidas deste processo de validação também são utilizadas para criação dos casos de teste.

image.png

Testes Automatizados

São testes que rodam em formato de script podendo realizar testes rápidos e pre-verificados de funcionalidades especificas do software verificando se estão de acordo com as especificações de requisitos do sistemas e objetivos esperados.

Vantagens

  • Menor tempo na realização dos testes
  • Verificação do sistemas durando o processo de desenvolvimento
  • Alcançar melhor qualidade no software
  • Casos de teste mais elaborados

Uma das maiores vantagens dos testes automatizados é a realização rápida deles que trás a possibilidade de que possam ser realizados diversas vezes e a qualquer momento, sua implementação reduz os esforços e tempo gasto, assim reduzindo as chances de que ocorram falhas humans durante os testes.

Fases de Teste

O processo de testes automatizados nos programas funcionam como métodos que você pode usar e reutilizar, esses métodos são divididos em diferentes níveis de acordo com o quão próximo do todo ele está.

Os teste de Baixo Nível : São os testes que se preocupam com verificações de métodos menores e cada algoritmo no código.

Os testes de Alto Nível : São os testes que se preocupam mais com funcionalidades a serem compatíveis com os requisitos do sistema.

As etapas de teste são:

  • Teste de unidade
  • Teste de componente
  • Teste de integração
  • Teste de validação
  • Teste de Sistema

image.png

Teste De Unidade

É a fase de testes que tem como finalidade testes individualmente cada função e algoritmo no código, garantir que todos sejam verificados ao menos uma vez.

Uma desvantagem dos testes de unidade é que sua implementação é exaustiva e necessita de prazos maiores para realização, sendo que para sua realização é necessário entender e conhecer os objetivos e especificações de cada um dos requisitos de cada uma das funcionalidades de software. Sua vantagem é a localização e prevenção de falhas por estar testando cada uma das funcionalidades individualmente.

Teste de Componentes

No teste de componentes os componentes de software são testados separadamente de acordo com a especificação e estrutura das funcionalidades. Estes componentes são as integrações de interface e unidades de software, como diversas classes no seu desenvolvimento

Teste de Integração

É a fase de testes em fazemos a junção de diferentes métodos, components e módulos do sistema, e então fazemos os testes em cima disto de acordo com os requisitos e levando em consideração a sua funcionalidade em conjunto, e não suas regras de negócio, procurando assim erros associados a interfaces.

image.png

Teste de Validação

O teste de validação tem como objetivo avaliar se o sistema desenvolvido funciona e maneira que atenda a todas as especificações dos requisitos do software e o processo de regras de negócios estabelecidas na sua elaboração.

Teste de Sistema

O teste de sistema é realizado assim que o sistema estiver concluído, sendo avaliados todos os componentes e funcionalidades o objetivo do teste de sistema é exercitar todo o software, assegurando que todos os elementos que compõe o sistema estão de acordo com as especificações dos requisitos, incluindo todos os itens de hardware e software que compõe a regra de negócio.

image.png

Fontes:

Testes Funcionais de Software - Dev Media