Ferramentas do usuário

Ferramentas do site


t:teste_de_software

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
t:teste_de_software [2022/09/05 18:49] Milena Mellot:teste_de_software [2023/01/23 17:48] (atual) – [Técnicas] Bernardo Paixão
Linha 1: Linha 1:
 +====== 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:teste_de_software.jpg?250|}}
 +===== 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 =====
 +----
 +
 +  * Google. Disponível em: [[https://www.google.com]]
 +
 +  * Wikipedia. **Teste de software**. Disponível em: [[https://pt.wikipedia.org/wiki/Teste_de_software]]
 +
 +  * Almeida, Washington. **ISO 9126**. Disponível em: [[https://blog.grancursosonline.com.br/iso-9126/]]
  
t/teste_de_software.txt · Última modificação: 2023/01/23 17:48 por Bernardo Paixão