Notas
M7 #3 - Níveis de teste

Conteúdo das notas (5)
Página 1
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Definir os níveis de teste e o teste de sistema.
Diferenciar os níveis de teste de unidade e de integração.
Descrever os níveis de teste de aceitação e de regressão.

Página 2
Os testes de software não têm um momento específico do projeto de
desenvolvimento de um sistema para acontecer. Eles devem ocorrer em
todos os estágios do ciclo de vida do projeto. A cada estágio do projeto,
são definidos níveis de teste. Cada um é responsável por testar elementos
específicos do software e validar determinados aspectos do software que
havia sido solicitado originalmente.
Neste capítulo, você vai estudar os níveis de teste. Além disso, vai
conhecer os testes de sistema, de unidade, de integração, de aceitação
e de regressão.
Os níveis de teste e o teste de sistema
Os testes de software são aplicados em diferentes estágios do projeto de
desenvolvimento do software. Eles exigem diferentes níveis de esforço de
trabalho tanto dos testadores como de toda a equipe do projeto. Basicamente,
existem três práticas para a realização dos testes de software
Analistas diferentes daqueles que realizaram a implementação e a
codificação do software realizam os testes depois que uma funciona-
lidade é desenvolvida e antes que ela seja entregue ao usuário final. A
desvantagem dessa prática é que os testes podem ser realizados quando
o prazo de entrega do produto já está praticamente estourado. Isso pode
comprometer o tempo gasto com os testes e, pior ainda, com a correção
dos problemas encontrados nos testes.
Os testes do software começam a ser realizados ainda no início do
projeto de desenvolvimento de software. Assim, as funcionalidades
são testadas à medida que são desenvolvidas, num processo contínuo.
Na programação extrema, o modelo de desenvolvimento é orientado
às boas práticas da engenharia de software, sendo que uma delas é o
teste. A XP não encara o teste como uma perda de tempo e uma das
suas diretrizes básicas é a de que o teste deve ser feito constantemente,
o tempo todo.
Página 3
Em função do estágio ou do nível em que o processo de desenvolvimento
do software se encontra, é possível definir os seguintes níveis de testes:
teste de unidade;
teste de integração;
teste de sistema;
teste de aceitação;
teste de regressão
Teste de sistema
No nível de teste de sistema, os analistas de teste, ou testadores, têm o propósito
de executar o sistema como um todo, levando em consideração a visão do
usuário final. Todas as funcionalidades do sistema são colocadas em operação.
Esse nível de teste tem a intenção de identificar problemas que diferenciem
o software entregue daquele software original, idealizado pelos usuários e do
qual havia sido feita a análise de requisito
Para a realização do teste de sistema, as atividades de teste precisam
ocorrer em condições completamente semelhantes àquelas em que o software
vai funcionar depois que tiver sido entregue ao usuário final. Essas condições
envolvem o ambiente, as interfaces com outros sistemas, os aspectos tecnológicos,
as massas de dados, o nível de experiência dos usuários e qualquer outro
aspecto que se relacione com a maneira como o software vai ser executado
quando estiver na sua realidade de negócio.
Além de testar o sistema como um todo, inserido em todas as condições e
ambientes em que ele será utilizado, outra grande oportunidade trazida pelo
nível de teste de sistema é a de realizar a validação da integração entre o sistema
que está sendo (ou foi) desenvolvido e outros sistemas que possam ser utilizados
juntamente a ele. Para a realização desse tipo de teste, em que se verifica a
integração entre sistemas como um todo, deve haver uma responsabilização
do gerente de projeto. Ele é que vai decidir se o teste precisa realmente ser
realizado e também em qual momento, uma vez que não há necessidade de
finalizar a codificação do sistema atual para que ele aconteça.
É comum que o nível do teste de sistema seja atingido e possa ser realizado
somente quando o software estiver totalmente codificado e funcionando de
maneira global, como um todo.
Página 4
Os níveis de teste de unidade e de integração
O nível de teste de unidade se relaciona com a validação de cada parte desenvol-
vida do software, normalmente realizada pelo próprio analista desenvolvedor.
O teste de integração, por sua vez, tem relação com a integração entre partes
do software já desenvolvidas, ou mesmo do software com outros sistemas
interdependentes.
Teste de unidade
O teste de unidade também é conhecido como teste unitário ou teste de módulo.
Nesse nível de teste, são testadas as menores partes em que um software pode
ser dividido. O propósito principal desse tipo de teste é realizar a validação
de chamadas de métodos, classes, funções, sub-rotinas e partes de código-fonte
que possam ser testadas de maneira isolada. Nesse sentido, a intenção
de um teste de unidade é identificar problemas em partes do software de
maneira independente, sem efetuar testes que vinculem essas partes a outras
Geralmente, quando um problema é encontrado no código ou na es-
trutura interna do software, ele é imediatamente corrigido, sem que seja
necessário documentar de maneira formal a discrepância encontrada. Uma
ligeira anotação é suficiente, apenas para que sirva de auxílio para os
desenvolvedores não repetirem os erros encontrados enquanto codificam
o restante do sistema.
Normalmente, o analista responsável pelos testes de unidade utiliza os
seguintes documentos como auxílio na realização dos teste
documento de especificação de requisitos do software;
documento de caso de uso;
documento de arquitetura do software (DAS)
O documento de arquitetura do software define uma visão geral a respeito da ar-
quitetura do sistema do software. Ele tem o papel de estabelecer uma comunicação
entre o arquiteto do software e os demais membros da equipe do projeto. Além disso,
descreve toda e qualquer decisão significativa a respeito da arquitetura idealizada
para o software
De posse desses três documentos, pelo menos, o analista testador pode
elaborar cenários de testes unitários, que devem ser testados por ele. O teste
unitário é aquele que foca o esforço do testador em partes menores do sof-
tware que têm a possibilidade de serem testáveis.
Página 5
Teste de integração
O nível do teste de integração tem como diferença principal do teste de unidade
o fato de o seu propósito ser o de encontrar problemas gerados pela integração
interna entre os componentes ou partes do software. É normal que, por meio
do teste de integração, sejam encontrados problemas de transmissão de dados
O teste de integração também é o responsável por identificar grande parte
dos problemas relacionados à interface do sistema. Em contrapartida, é in-
teressante frisar que os problemas se relacionam à interface do software que
está sendo desenvolvido atualmente, e não a outros sistemas que porventura
façam integração com ele.
Esse tipo de teste, em que se integram o sistema atual e outros que possam
ser utilizados por ele, são foco do nível de teste chamado de teste de sistema.
Por meio do teste de integração, é possível garantir que os componentes
que fazem parte do modelo que foi implementado funcionam de maneira
adequada quando são combinados com outros componentes, de outros casos
de uso. O propósito do teste de integração é formar um pacote ou grupos de
pacotes que contenham modelos de implementação. Esses pacotes arruma-
dos em grupo normalmente são de várias partes do código desenvolvido,
inclusive de outros sistemas. Por isso, o teste de integração está num nível
em que pode detectar problemas, como erros, falhas ou defeitos, na própria
interface do software.
Informações
- Descrição
- Pós-Graduação Engenharia de Software Notas sobre M7 #3 - Níveis de teste , criado por Lucas Erikson em 31-10-2022.
- Criado por
- Lucas Erikson
- Visualizações
- 0
- Avaliação