Baixe o app para aproveitar ainda mais
Prévia do material em texto
AVALIAÇÃO DE SOFTWARE Aula 8- Gerenciamento do Testaware Gerenciamento do Testaware - Aula 8 Avaliação de Software Gerenciamento do Testaware - Aula 8 Avaliação de Software Conteúdo Programático desta aula O conceito de Testware. Reconhecer a diferença entre os ambientes de desenvolvimento, Teste e homologação e ambiente de produção. Gerenciamento do Testaware - Aula 8 Avaliação de Software Gerenciamento do Testaware - Aula 8 Avaliação de Software Testware Engenheiros de software Engenheiros de teste Gerenciamento do Testaware - Aula 8 Avaliação de Software Checklist Planejamento e especificações de teste Rotinas automatizadas de execução de teste Casos de testes Massa de testes Relatórios finais de validação de testes Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambientes de testes A combinação entre os elementos de hardware (processadores, servidores, terminais) e software (sistema operacional, banco de dados), é chamada de infra-estrutura. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambientes de testes No processo de desenvolvimento de software, cada ciclo de vida do software necessita de uma infra-estrutura e requer um local físico adequado, denominado ambiente. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambientes de testes Mas o que é mesmo ambiente? Ambiente é um local físico onde existe uma infra-estrutura de hardware e software adequado a uma missão. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambientes de testes Desta forma cada ciclo do processo de desenvolvimento de software de software (desenvolvimento, teste, homologação e produção) irá requer uma infra-estrutura diferenciada, isto é, de um ambiente distinto. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Este ambiente deverá fornecer toda a infra-estrutura necessária de hardware e software para o desenvolvimento de um novo software e deverá atender: Atender as necessidades da equipe de desenvolvimento. Atender as necessidades de teste da própria equipe de desenvolvimento. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Quem utiliza este ambiente? Deve estar disponível para a equipe de desenvolvimento, ou seja os analistas e programadores. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Quais os testes que normalmente são aplicados neste ambiente? Teste de unidade Teste de integração Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Focaliza o pacote de software completo Verifica o programa como um todo Utiliza técnicas de projeto de casos de teste que enfocam as entradas e saídas, além de exercitar caminhos específicos. Mesmo que todos os módulos estejam funcionando individualmente, não se pode garantir que eles funcionarão em conjunto Gerenciamento do Testaware - Aula 8 Avaliação de Software Testes de Integração Não incremental (big-Bang) Incremental Integração descendente ou Top-down Integração ascendente ou Botton-up Teste de regressão Teste fumaça Ambiente de desenvolvimento Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Não incremental (big-Bang) Neste tipo de abordagem todos os componentes são combinados com antecedência e o programa inteiro é testado de uma vez. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Integração descendente ou Top-down Os módulos são integrados movendo-se de cima para baixo na hierarquia de controle. Começa-se pelo módulo de controle principal e os módulos subordinados são incorporados à estrutura. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Integração descendente ou Top-down Primeiro-em-profundidade (depth-first): Integra todos os componentes em um caminho de controle principal da estrutura do controle. A seleção do caminho é arbitrária. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Integração descendente ou Top-down Primeiro-em-largura (breadth-first): Incorpora todos os componentes diretamente subordinados em cada nível, movendo-se através da estrutura horizontalmente. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Integração ascendente ou Botton-up A integração do sistema começa a partir do nível mais baixo do software, ou seja, o módulo. O módulo é dito como o mais baixo nível se ele não depende de outro módulo. Neste tipo de teste assume-se que previamente todos os módulos foram individualmente testados. Os módulos são integrados movendo-se de baixo para cima na hierarquia de controle. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Teste de regressão Os testes de regressão geralmente são executados após a correção de algum defeito ou após a adição de uma nova funcionalidade. Seu objetivo é garantir que nenhum defeito foi acrescentado ao sistema após sua modificação. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Teste de regressão Toda vez que um novo módulo é adicionado como parte do teste de integração, o software se modifica e assim novos caminhos de fluxos de dados são estabelecidos, nova E/S pode ocorrer ou ainda nova lógica de controle pode ser adicionadas. Essas modificações podem causar problemas em funções que previamente funcionavam corretamente. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Teste de regressão Os casos de testes de regressão podem ser de três tipos: Casos de teste que abrangem todas as funcionalidades do sistema. Casos de teste apenas para as funcionalidades que foram modificadas. Novos casos de teste para as funcionalidades que provavelmente foram afetadas pela mudança. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Testes de Integração Incremental Teste fumaça Neste tipo de teste o software é reconstruído e testado diariamente para dar aos gerentes e desenvolvedores uma avaliação realística do progresso. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Teste de Unidade É realizado no estágio mais baixo da escala de teste, isto é, no código do programa; Normalmente é realizado pelo desenvolvedor; Concentra-se em cada unidade do software, de acordo com o que é implementado no código fonte. Utiliza as técnicas de teste de caixa branca e caixa preta. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Teste de Unidade Interface de módulo Estrutura de dados local Caminhos independentes da estrutura de controle Condições limite Caminhos de manipulação de erro Casos de testes deverão ser projetados para descobrir erros devido a computações errôneas, comparações incorretas ou fluxo de controle inadequado. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de desenvolvimento Teste de Unidade Mas como fazer o teste de unidade se os componentes não são programas independentes? Através da construção de pseudo-controladores; Agem como o programa principal Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de teste e homologação Ambiente mais semelhante possível do ambiente deProdução Possibilitar o maior número de testes possíveis nas condições mais próximas de um ambiente real. Fornece toda a infra-estrutura necessário de hardware e software para a execução dos teste de requisitos do software e garante o ambiente ideal de simulação. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de teste e homologação Quem utiliza este ambiente? Equipe de teste independente Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de teste e homologação Quais os testes que normalmente são aplicados neste ambiente? Nesse ambiente acontecem os testes de: Sistema e aceitação São realizados através da técnica da caixa-preta que não requerem um conhecimento interno do software. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de teste e homologação Testes de Sistema Comportamento de todo o sistema / produto definido pelo escopo de um projeto ou programa de desenvolvimento. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de teste e homologação Testes de Sistema Série de diferentes testes cuja finalidade é exercitar totalmente o sistema: Teste de recuperação Teste de segurança Teste de esforço Teste de desempenho Teste de disponibilização Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de teste e homologação Testes de Aceitação Última etapa de teste antes da implantação do software. Objetivo é verificar se o software está pronto e pode ser utilizado pelos usuários finais para executar as tarefas e funções para as quais foi criado. O software é disponibilizado para clientes e usuários com o objetivo de estes validarem todas as funcionalidades requisitadas no início do projeto. Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de Produção Fornece toda a infra-estrutura necessária de hardware e software para a o produto desempenhe totalmente as funcionalidades paras quais foi projetado. Neste ambiente é garantido o controle do ambiente e segurança contra invasões. Trabalho da equipe de qualidade mensurado através dos erros identificados neste ambiente Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de Produção Quem utiliza este ambiente? No ambiente de Produção também são realizados testes de aceite, que neste caso será o Beta-teste. Neste tipo de teste apenas um grupo de usuários selecionados terá acesso a uma “nova versão” do produto (ainda sob acompanhamento da equipe de testes de software). Gerenciamento do Testaware - Aula 8 Avaliação de Software Ambiente de Produção Quais os testes que normalmente são aplicados neste ambiente? Teste Beta É conduzido nas instalações de um ou mais usuários finais ou no próprio ambiente de produção e neste tipo de teste o desenvolvedor não deverá estar presente. O cliente registra todos os problemas encontrados durante o teste e vai relatando para o desenvolvedor em intervalos regulares. Com o resultado do teste beta, os desenvolvedores fazem as modificações necessárias e preparam a liberação do software para todos os clientes. Gerenciamento do Testaware - Aula 8 Avaliação de Software Equipe de teste independente Remover os problemas associados ao fato de deixar o desenvolvedor testar o software que ele mesmo criou. Evitar o conflito de interesses que, de outra forma, poderia estar presente. A equipe independente de teste faz parte da equipe de desenvolvimento de software Participa durante a análise, e o projeto e permanece envolvido (planejando e especificando procedimentos de teste) durante o projeto inteiro. Gerenciamento do Testaware - Aula 8 Avaliação de Software Equipe de teste independente É comum em muitos casos a equipe de teste responder a organização de garantia de qualidade de software para, desta forma, obter um grau de independência que poderia não ser possível se fizesse parte da organização de engenharia de software. Gerenciamento do Testaware - Aula 8 Avaliação de Software Gerência da qualidade Gerenciamento do Testaware - Aula 8 Avaliação de Software Gerência da Qualidade de software Área responsável pela garantia da qualidade do software. Responde pelo gerenciamento dos profissionais de qualidade envolvidos na verificação das diversas etapas de um processo de engenharia de software. Tem como objetivo verificar a aderência entre o processo de desenvolvimento estabelecido e as práticas dos diversos profissionais envolvidos no processo. Gerenciamento do Testaware - Aula 8 Avaliação de Software Gerência de teste de software Área responsável pelo gerenciamento de todo o processo de testes de software da organização. Está voltada especificamente à estruturação e condução de um processo de teste de software consistente Na validação do produto tecnológico que está sendo produzido e não em garantir a adequada realização do processo de engenharia de software. Gerenciamento do Testaware - Aula 8 Avaliação de Software Equipe de teste Gerenciamento do Testaware - Aula 8 Avaliação de Software Explorando o tema Não esqueça de consultar o material didático e a biblioteca virtual da Estácio! Gerenciamento do Testaware - Aula 8 Avaliação de Software Obrigada e até a próxima aula! * Assim como as organizações fazem a gestão de software, devem também preocupar-se com a gestão de testware, ou seja, com todos os cuidados existentes no desenvolvimento dos componentes que objetivam a automação dos procedimentos de teste. Nesta aula iremos discutir o conceito de Testware e seus produtos. A motivação desta discussão é que as organizações não devem encarar as atividades de testes como uma tarefa passageira realizada sem controle ou padrão. Iremos assim perceber que apesar do testware ser um subproduto do processo de desenvolvimento de software, ele é tão importante quanto o próprio software e que os processos de teste e de desenvolvimento de software estão ligados um no outro. Iremos reconhecer também a necessidade e as diferenças entre os ambientes de desenvolvimento, Teste e homologação e ambiente de produção, assim como os testes aplicados em cada ambiente. * * * * * * * * * * * * * Não incremental (big-Bang): Neste tipo de abordagem todos os componentes são combinados com antecedência e o programa inteiro é testado de uma vez. Segundo Pressman, usualmente, o resultado desta abordagem é o caos, pois normalmente são encontrados muitos erros tornando a correção difícil, pois fica complicado isolar as causas dos erros. Uma vez corrigidos os erros, novos erros aparecem e o processo parece não ter fim. Incremental: Este tipo de abordagem é a antítese da abordagem big-bang. O programa é construído e testado em pequenos incrementos. Os erros são mais fáceis de isolar e corrigir e pode ser aplicada uma interface sistemática de testes. Neste contexto existem várias estratégias incrementais de integração: * * * * * * * * * * * Interface de módulo é testada para assegurar que as informações fluam corretamente para dentro e para fora da unidade do programa que está 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. 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. As condições limite são testadas para garantir que o módulo opere adequadamente nas fronteiras estabelecidas para restringir ou limitar o processamento. Todos os caminhos de manipulação de erro 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.* * * * * * * * * * * * * * * * *
Compartilhar