Conceitos Básicos
O teste é uma das disciplinas do desenvolvimento de software e o processo de teste de software foi desenvolvido com base no RUP - Rational Unified Process.
De acordo com o RUP, o desenvolvimento de um software deve seguir determinadas fases.
O RUP é um processo de engenharia de software. Ele oferece uma abordagem baseada em disciplinas para atribuir tarefas e responsabilidades dentro de uma organização de desenvolvimento. Sua meta é garantir a produção de software de alta qualidade.
A figura a seguir representa a arquitetura geral do RUP.
O RUP tem duas dimensões:
- o eixo horizontal representa o tempo e mostra os aspectos do ciclo de vida do processo à medida que se desenvolve.
- o eixo vertical representa as disciplinas, que agrupam as atividades de maneira lógica, por natureza.
A primeira dimensão representa o aspecto dinâmico do processo quando ele é aprovado e é expressa em termos de fases, iterações e marcos.
A segunda dimensão representa o aspecto estático do processo, como ele é descrito em termos de componentes, disciplinas, atividades, fluxos de trabalho, artefatos e papéis do processo.
Durante o ciclo de vida do projeto, devem existir pontos de verificação visando a qualidade do produto. O desenvolvimento e a verificação criam um processo repetitivo (iterativo e incremental) aonde o produto vai sendo avaliado e, caso necessário, melhorado, até estar maturado, pronto para ser disponibilizado ao usuário final. Durante estas fases, nos pontos de verificação, podem ser realizados testes, para garantir a conformidade do produto.
A Disciplina de Teste
O teste enfatiza principalmente a avaliação da qualidade do produto, realizada através de várias práticas centrais:
- Localizar e documentar defeitos na qualidade do software.
- Avisar de forma geral sobre a qualidade observada no software.
- Validar as suposições feitas nas especificações de design e requisito através de demonstração concreta.
- Validar as funções do software conforme projetadas.
- Verificar se os requisitos foram implementados de forma adequada.
Uma diferença interessante entre o Teste e as outras disciplinas do RUP é que a principal finalidade do Teste é localizar e expor os pontos fracos do software. A realização de testes de software tem por finalidade imprimir qualidade ao produto gerado. Porém, o que é Qualidade ?
O RUP define qualidade da seguinte forma:
...as características que demonstram haver produzido um produto que atinge ou excede os requisitos estabelecidos - conforme avaliado por métricas e critérios acordados - e que é produzido por um processo também acordado
Métodos de Teste
Existem várias metodologias e classificações para testes, segundo a metodologia do modelo RUP, podemos dividir os métodos de teste em:
Método da Caixa Branca (Estrutural) – tem por objetivo determinar defeitos na estrutura interna ou no código do software. Os Testes de Unidade, geralmente realizados pelos programadores nos seus códigos, são normalmente classificados em Testes da Caixa Branca.
Método da Caixa Preta (Funcional) – tem por objetivo determinar se os requisitos foram total ou parcialmente satisfeitos pelo software. Verifica apenas os resultados produzidos e não requer conhecimento interno do sistema, apenas conhecimento dos requisitos do negócio. O Teste Funcional é um exemplo de Teste da Caixa Preta.
A figura abaixo apresenta uma visão geral da classificação dos testes:
Estágios de Teste
Os estágios de teste definem o momento do ciclo de vida do software em que são realizados os testes. Dentro dos métodos de teste, são definidos quatro estágios de teste:
Testes da Caixa Branca:
- Teste de Unidade ou Teste Unitário – este estágio tem foco na verificação dos menores elementos testáveis do software. O implementador executa o teste unitário durante o desenvolvimento da unidade.
- Teste de Integração – este estágio é executado para garantir que os componentes do modelo de implementação, funcionem corretamente quando combinados. O teste de integração também detecta imperfeições ou erros nas especificações das interfaces.
Testes da Caixa Preta:
- Teste de Sistema - normalmente é realizado quando o software está funcionando totalmente. Geralmente, o objetivo é o funcionamento dos elementos do sistema de ponta a ponta.
- Teste de Aceitação - normalmente é a ação de teste final anterior à implantação do software. O objetivo do teste de aceitação é verificar se o software está pronto e pode ser usado pelos usuários finais para executar as funções e as tarefas para as quais o software foi criado.
A figura abaixo apresenta uma visão geral dos estágios de teste dentro do processo de desenvolvimento de uma aplicação.
Tipos de Teste




Nenhum comentário:
Postar um comentário