Baixe o app para aproveitar ainda mais
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á
Compartilhar