Você está na página 1de 4

Aluna: Vitória Maria Oliveira de Sousa

Teste de software

O teste de software serve justamente para tentar encontrar possíveis


erros que um programa recém-desenvolvido possa apresentar, de modo
a conseguir corrigi-lo antes que seja lançado no mercado, ficando
disponível para uso do público.
O teste de software geralmente é a última etapa na construção de um
programa, visando checar o seu nível de qualidade. Os defeitos que um
teste busca identificar incluem erro de compatibilidade, de algum
algoritmo, de requisitos que não podem ser complementados, limitação
de hardware etc. 
Existem diferentes tipos de testes que podem ser aplicados num
software para identificar suas falhas, sendo as principais:
– Teste da caixa branca: utiliza o aspecto interno do
programa/sistema, o código fonte, para avaliar seus componentes.
– Teste da caixa preta – diferente do teste anterior, que prioriza os
aspectos internos, o teste da caixa preta verifica aspectos externos. 
– Teste da caixa cinza – esse tipo de teste une os dois anteriores, por
isso o termo “cinza”. Avalia tanto os aspectos internos quanto os
externos, de entrada e saída. Pode utilizar-se de engenharia reversa;
Teste de regressão – esse consiste em realizar testes a cada versão de
um software, onde se modificam-se funcionalidades
 Teste de unidade – testa-se unidades menores de um software, de
modo isolado, para ver se todas funcionam adequadamente;
– Teste de integração – depois das unidades testadas, realiza-se uma
verificação se elas funcionam juntas, integradas.
– Teste de carga – esse teste é feito para avaliar os limites de uso do
software, o quanto ele suporta em volume de informações, tráfego etc.
sem que apresente erros;
– Teste de usabilidade – esse teste é feito por um pequeno grupo de
usuários para ver se o software satisfaz as suas necessidades. 
Teste de stress – aqui leva-se o software ao seu limite de potência e
funcionamento, para mais ou para menos, de modo a avaliar em qual
ponto ele deixa de funcionar adequadamente. Isso é feito para verificar
se suas especificações máximas ou mínimas de uso estão corretas.
O Teste manual é teste manual, já o teste funcional pode ser manual ou
automatizado.
Seu teste unidade (unitário) pode conter um teste funcional.
Para reduzir custo e tempo para conclusão de um projeto com alta
qualidade, você não pode depender apenas do teste automatizado. Você
precisa de uma combinação certa de testes manuais, testes automatizados
e um equilíbrio na distribuição dos tipos de testes nas fases de teste para
obter os melhores resultados.
O Teste de unidade ou de módulo, verifica o funcionamento da menor
unidade de um código testável da aplicação, independente da interação
dela com outras partes do nosso código. 

Fonte 
Esse tipo de teste geralmente é realizado isoladamente do resto do
sistema. Pode utilizar objetos simulados, virtualização de serviços,
simuladores e controladores. O teste unitário pode cobrir funcionalidade
(por exemplo: correção de cálculos), características não funcionais (por
exemplo, busca de vazamentos de memória) e propriedades estruturais
(por exemplo: teste de decisão).
Para realizar o teste de unidade você deve obrigatoriamente ter acesso ao
código que está sendo testado. Esse tipo de teste geralmente é elaborado
pelo desenvolvedor que escreveu o código. Testes de unidade são simples e
rápidos, mas eles não são suficientes. É importante que eles sejam
complementados com outras fases de teste.
Nesta camada, os testes automatizados de unidade são realizados da
mesma forma descrita neste artigo. Porém, nesta fase, a quantidade de
testes deve ser maior do que as fases acima da pirâmide.

Vantagens desses tipos de teste


Teste de desempenho
 Avalia a velocidade e escalabilidade do site/aplicativo.
 Identifica gargalos para melhorias de desempenho.
 Detecta bugs que são negligenciados em testes funcionais.
 Otimização do sistema e aprimoramentos de recursos
 Garante a confiabilidade do site sob carga pesada.
Teste funcional
 Certifique-se de que o site/aplicativo está livre de defeitos.
 Garante o comportamento esperado de todas as funcionalidades.
 Garante que a arquitetura esteja correta com a segurança necessária.
 Melhora a qualidade e funcionalidades gerais.
 Minimiza os riscos do negócio associados ao site/aplicativo.
Teste de integração
 Certifique-se de que todos os módulos de aplicação estejam bem
integrados e funcionem como esperado em conjunto.
 Detecta problemas e conflitos interconectares para resolvê-los cedo
antes de criar um grande problema.
 Valida a funcionalidade, confiabilidade e estabilidade entre diferentes
módulos.
 Detecta exceções negligenciadas para melhorar a qualidade do código.
 Suporta o pipeline CI/CD.
Teste unitário
 Detecção precoce de bugs nas funcionalidades ou recursos recém-
desenvolvidos.
 Minimiza os custos de teste à medida que os problemas são detectados
no início.
 Melhora a qualidade do código com melhor refatoração de código.
 Apoia o processo de desenvolvimento ágil.
 Simplifica a integração e permite uma boa documentação.
Desvantagens desses tipos de teste
Como todos esses tipos de teste melhoram as funcionalidades e
melhoram a experiência do usuário, portanto não há desvantagens em
fazê-las. A única coisa que você pode considerar uma desvantagem, em
geral, é o tempo e o custo associados aos testes. Os testes exigem
esforços e recursos, e há um risco envolvido com resultados imprecisos
de testes. No entanto, não fazer testes de site/aplicativo vai colocá-lo
em uma posição comprometedora que pode dificultar seu negócio e
reputação significativamente.

Portanto, o teste de desempenho é uma obrigação em todos os


ambientes de desenvolvimento e produção para garantir que seu
site/aplicativo esteja atualizado e possa suportar a carga esperada do
usuário. Testes funcionais devem ser feitos a cada compilação para
validar todas as alterações e funcionalidades contra especificações e
requisitos. Os testes de integração devem ser feitos quando você
integrar um novo código com algum outro módulo para garantir que
não haja conflitos e trabalhe em conjunto corretamente. Os testes
unitários devem ser feitos pelos desenvolvedores sempre que eles
terminarem de escrever qualquer código para validar a entrada e saída
corretas.

Você também pode gostar