Ferramentas do usuário

Ferramentas do site


t:teste_de_software

Teste de Software

Visão Geral

O teste de software é um dos processos que faz parte da engenharia de software, no qual busca-se encontrar defeitos para uma análise da qualidade do produto. Quanto mais pessoas trabalharem no código e quanto maior e mais complexo ele for, mais se faz necessário o Teste de Software.

A ISO 9126 enquadra a qualidade de produto de software, definindo um conjunto de parâmetros com o objetivo de padronizar a avaliação da qualidade de software. Os pontos previstos nela são: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade.

Técnicas


Para se testar um software há várias maneiras. Abaixo estão as técnicas da caixa branca, caixa cinza e caixa preta

  • Caixa Branca

A técnica da caixa branca trabalha diretamente sobre o código fonte, no qual faria testes de condição, testes de fluxo de dados, testes de ciclos, testes de caminhos lógicos e códigos nunca executados.

  • Caixa Cinza

A técnica de teste de caixa cinza é uma mescla do uso das técnicas de caixa-preta e de caixa-branca. Esta técnica analisa a parte lógica, além da funcionalidade do sistema, fazendo uma comparação do que foi especificado com o que esta sendo realizado. Isso envolve ter acesso à estruturas de dados e algoritmos do componente, a fim de desenvolver os casos de teste, que então são executados como na técnica da caixa-preta.

  • Caixa Preta

A técnica da caixa preta é mais fundamentada no conceito de utilitário de um código. Ele consiste em, independentemente do que acontecer dentro do código, para cada entrada selecionada, a saída deve ser a respectiva resposta esperada. Quanto mais diferentes são as entradas para o teste, mais completo será o teste.

  • Testes de Unidade

A técnica dos testes de unidade é uma forma de testar pequenas partes do código e funções simples, geralmente utilizado para assegurar o formato do input e output.

  • Testes de Integração

A técnica dos testes de Integração é uma forma de testar certa integração no seu código e realizar validação em algum banco de dados, como uma requisição HTTP, onde analisa o retorno da chamada, o corpo da requisição, a formatação dos dados de retorno.

Níveis


  • Alfa

O nível alfa consiste na testagem do software quando todas suas funções já foram implementadas. Um número limitado de testadores avalia a aplicação junto ao desenvolvedor, reportando os erros encontrados.

  • Beta

Após o nível alfa, o produto pode chegar a uma estágio beta, no qual ele chega à uma quantidade limitada de usuários que se comprometem a usá-lo mesmo sabendo que podem haver erros e falhas, no qual ele pode reportar erros encontrados ou sugestões para implementação. O nível beta não implica contato direto do usuário testador com o desenvolvedor.

  • Gama

O estágio Gama não implica ter passado pelos estágios alfa ou beta. Neste estágio, o produto ainda pode estar com grandes erros ou pode não estar completo, no entanto, é lançado para o grande público para futuramente novas partes serem implementadas em novas atualizações.

Impacto Social


O Teste de Software busca padronizar os softwares desenvolvidos conforme normas estabelecidas pela International Organization for Standardization, e são essas normas que garantem a qualidade e avaliação do produto que será disponibilizado aos clientes. Em função disso, o Teste de Software tem seu impacto social baseado na necessidade de se manter uma boa qualidade e avaliação de software para o cliente que fará uso desse produto, pois sem essas padronizações o cliente não terá uma qualidade de software comprovada para utilizá-lo e isso poderá acarretar em erros e problemas de avaliação do produto que está em desenvolvimento.

Importância dos testes


No desenvolvimento de software, os erros podem aparecer em qualquer estágio do ciclo de vida de um projeto. Diante disso, o teste de software torna-se essencial e não pode ser visto como uma atividade opcional, pois fornece os métodos e ferramentas necessários para garantir a qualidade de qualquer desenvolvimento. É preciso reconhecer a importância do teste de software e do envolvimento da equipe de qualidade em todas as etapas do desenvolvimento do sistema ou aplicativo, sem que isso seja considerado um prejuízo econômico no planejamento do projeto. Sem dúvida, é muito melhor detectar erros no momento certo, gerar tempo suficiente para corrigi-los, do que encontrá-los antes da entrega do produto ou de uma etapa importante de implementação.

Referências


t/teste_de_software.txt · Última modificação: 2023/01/23 17:48 por Bernardo Paixão