Buscar

Cont_online_05

Prévia do material em texto

1 
Aula 5: Teste na Implantação do Sistema: Teste de Unidade - Estácio de Sá 
 
 
Nesta aula, você irá: 
1. Compreender e definir os testes de interior do programa. 
2. Implementar testes para o interior do programa. 
3. Compreender técnicas de teste de integração de módulos do sistema. 
4. Definir estratégia de testes para integração de módulos do sistema. 
 
Estratégia para Teste de Software 
 As estratégias de teste de software fornecem um roteiro que descreve os passos a serem 
executados como parte do teste, define também quando esses passos serão planejados e então 
executados, quanto esforço de trabalho, tempo e recurso serão necessários. Desta forma, 
qualquer estratégia de teste deve incorporar planejamento dos testes, projeto de casos de teste, 
execução dos testes, coleta e avaliação dos dados resultantes. 
 
 
Estratégia para teste de Software 
 Ao desenvolvermos uma estratégia de teste de software desejamos responder as 
seguintes perguntas: 
 
 
 
Quem os realiza? 
 Normalmente, para que o processo de teste transcorra de forma íntegra é comum a 
utilização de um grupo independente de teste, já que as pessoas que criaram o software não 
2 
Aula 5: Teste na Implantação do Sistema: Teste de Unidade - Estácio de Sá 
 
devem ser as que irão realizar os testes. Seria um conflito de interesses, pois foram elas que o 
desenvolveram. Normalmente este grupo trabalha de forma conjunta e existem testes que 
somente são conduzidos pelos desenvolvedores, como o teste de unidade que iremos estudar 
mais adiante. 
 Uma estratégia de teste de software é desenvolvida pelo gerente de projeto, pelos 
engenheiros de software e pelos especialistas em testes. 
Existem várias responsabilidades e papeis dentro da equipe de teste: 
 Líder do projeto de teste: Técnico responsável pela liderança de um projeto de teste 
específico, geralmente relacionado a um sistema de desenvolvimento, seja um projeto 
novo ou uma manutenção. 
 Arquiteto de Teste: É o técnico responsável pela montagem da infra estrutura de teste; 
monta o ambiente de teste. escolhe as ferramentas de teste e capacita a equipe para 
executar seu trabalho nesse ambiente de teste. 
 Analista de teste: É o técnico responsável pela modelagem e elaboração dos casos de 
teste e pelos scripts de teste. em alguns casos, os scripts podem ser elaborados pelos 
testadores. 
 Testador: Técnico responsável peal execução dos casos de teste e scripts de teste. 
 
Por que é importante? 
Você sabe por que é importante? 
 Muitas veze o teste requer mais trabalho de projeto do que qualquer outra ação da 
engenharia de software. Consequentemente, caso seja feito casulamente, erros podem passar 
sem serem detectados. 
 A especificação do teste documenta a abordagem da equipe de software para o teste, 
definindo um plano que descreve uma estratégia global e um procedimento designando etapas 
especificas de teste e os tipos de teste que serão feitos. 
Após definição da estratégia de teste, é necessário criar o ambiente de teste. A craição do 
ambiente de teste não é a penas uma configuração de hardware, mas toda um estrutura a ser 
considerada onde oteste será executado, conforme figura abaixo. 
 
3 
Aula 5: Teste na Implantação do Sistema: Teste de Unidade - Estácio de Sá 
 
 
 
Quais são as etapas envolvidas? 
 Conforme a imagem, os testes 
iniciais, também conhecidos como teste de 
unidade, focalizam um único componente e 
se aplicam para descobrir erros nos dados 
e na lógica de processamento destes 
componentes. Posteriormente, cada 
componente testado deve ser integrado. 
Neste momento ocorre o teste de 
integração, cuja preocupação é verificar 
problemas associados à construção do 
programa. Após esta fase, ocorrem testes 
de ordem superior, como por exemplo, o 
teste de validação com o objetivo de garantir que o software satisfaça a todos os requisitos 
informativos, funcionais, comportamentais e de desempenho. A última etapa de teste de ordem 
superior é o teste de sistema, que verifica se todos os elementos se combinam corretamente e se 
a função/desempenho global do sistema é conseguida. 
 
 Assim como o processo de software, uma 
estratégia de teste de software também pode ser 
vista como uma espiral. O processo de software 
começa com a análise dos requisitos de software, 
evolui para o projeto e, finalmente, a codificação do 
software. Já uma estratégia de teste de software 
percorre a espiral de forma inversa. Começa com o 
teste de unidade implementado no código fonte, 
passa pelo teste de integração, em que o foco está 
no projeto e construção da arquitetura de software, 
passa pelo teste de validação cujo objetivo é validar 
os requisitos estabelecidos em relação ao software 
criado e, finalmente, o teste de sistema, no qual o 
software e outros elementos são testados como um 
todo. 
 
 
Teste de unidade 
O teste de unidade é realizado no estágio mais baixo da escala de teste, isto é, no código do 
programa, e normalmente é realizado pelo desenvolvedor. 
4 
Aula 5: Teste na Implantação do Sistema: Teste de Unidade - Estácio de Sá 
 
Este tipo de teste é aplicado nos menores componentes de código criado, visando garantir que 
estes atendam as especificações em termos de características e de funcionalidade. O teste de 
unidade foca na lógica interna de processamento e nas estruturas de dados dentro dos limites de 
um componente, conforme a imagem. 
 
 -A Interface de módulo é testada para assegurar que as 
informações fluam corretamente para dentro e para fora da 
unidade do programa que esta sendo testada. 
 -A estrutura de dados local é examinada para garantir que 
os dados armazenados temporariamente mantenham sua 
integridade durante todos os passos na execução de um algoritmo. 
 -As condições limites são testadas para garantir que o 
modulo opere adequadamente nas fronteiras estabelecidas para 
restringir ou limitar o processamento. 
 -Todos os caminhos independentes da estrutura de controle 
são usados para assegurar que todas as instruções em um 
módulo tenham sido executadas pelo menos uma vez. 
 -Todos os caminhos de manipulação de erros são testados. 
 -Casos de testes deverão ser projetados para descobrir 
erros devido a computações errôneas, comparações incorretas ou 
fluxo de controle inadequado. 
 
Procedimentos de teste de unidade 
1. O teste de unidade é considerado um auxiliar para a etapa de codificação. Podem 
ocorrer antes de começar a codificação ou depois que o código-fonte tiver sido gerado. Como 
cada componente não é um programa independente, deve ser construído um pseudocontrolador 
(driver) e/ou um pseudocontrolado (stub) para cada teste de unidade. 
2. Eles irão auxiliar no teste unitário, já que um pseudocontrolador representa o “programa 
principal” que aceita dados do caso de teste e passa esses dados para o componente a ser 
testado. Já o pseudocontrolado utiliza a interface dos módulos subordinados e pode fazer uma 
manipulação de dados mínima através de verificação de entrada e retorno do controle para o 
módulo que está sendo testado. 
3. Vale ressaltar que pseudocontroladores e pseudocontrolado representam despesas 
indiretas no projeto de desenvolvimento de software, pois são softwares que devem ser escritos e 
que não serão fornecidos com o produto final. 
 
5 
Aula 5: Teste na Implantação do Sistema: Teste de Unidade - Estácio de Sá 
 
 
Teste de unidade no contexto de Software orientado a objeto 
 Quando consideramos o software orientado a objeto, o conceito de unidade se modifica. 
Não podemos mais testar uma única operação isoladamente como no desenvolvimento 
convencional, mascomo parte de uma classe. Neste caso, uma classe encapsulada é 
usualmente o foco do teste de unidade e as operações (métodos) dentro da classe são as 
menores unidades testáveis. 
 Uma classe pode conter um conjunto de diferentes operações, e uma operação em 
particular pode existir como parte de um conjunto de diferentes classes. Assim, o teste de classe 
para software OO é o equivalente ao teste de unidade para software convencional e foca nas 
operações encapsuladas na classe e pelo estado de comportamento da classe. 
 
 
Para saber mais sobre os tópicos estudados nesta aula, pesquise na internet sites, vídeos e artigos relacionados ao 
conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os recursos disponíveis no 
ambiente de aprendizagem. 
http://www.alats.org.br/portal/missao-proposito.html 
http://www.bstqb.org.br/ 
 
Nesta aula, você: 
Compreendeu a estratégia de teste de software. 
Definiu os testes de interior do programa. 
Identificou os tipos de testes para o interior do programa. 
 
Tema: Teste na implantação do sistema. Teste de Integração e Teste de Validação 
Assunto 1: compreender técnicas de teste de integração de módulos do sistema. 
Assunto 2: definir estratégia de testes para a integração de módulos. 
Assunto 3: compreender técnicas de teste de validação e verificação de sistema. 
Assunto 4: definir estratégia de testes de validação e verificação do sistema no ambiente de desenvolvimento e no 
ambiente do usuário. 
 
6 
Aula 5: Teste na Implantação do Sistema: Teste de Unidade - Estácio de Sá

Continue navegando