Processo Unificado Marcio de Carvalho Victorino Unidade VI

  • Slides: 16
Download presentation
Processo Unificado Marcio de Carvalho Victorino

Processo Unificado Marcio de Carvalho Victorino

Unidade VI: Teste

Unidade VI: Teste

Testes n n A tarefa de efetuar testes em software foi considerada secundária por

Testes n n A tarefa de efetuar testes em software foi considerada secundária por muito tempo. Geralmente era vista com o um castigo para o programador , ou como uma tarefa onde não se deveria gastar muito com tempo e investimentos. O tema esteve relegado a segundo plano, e, até alguns anos atrás não se encontrava muita literatura sobre o assunto. As coisas mudaram; com a globalização e o acirramento da competição entre as empresas de software está havendo uma grande preocupação em aprimorar e aperfeiçoar os processos de testes em desenvolvimento de software com vistas a reduzir custos com manutenção e em produzir um produto de melhor qualidade. 3

Testes n n "O teste consiste em executar o programa com a intenção de

Testes n n "O teste consiste em executar o programa com a intenção de encontrar erros (bugs)". Myers, 1979 Dentre os principais objetivos do processo de teste temos: (Beizer, 90) n n n foco na prevenção de erros (como outras fases da garantia da qualidade de software); descobrir sintomas causados por erros; fornecer diagnósticos claros para que os erros sejam facilmente corrigidos. 4

Testes n A disciplina Teste atua em vários aspectos como uma provedora de serviços

Testes n A disciplina Teste atua em vários aspectos como uma provedora de serviços para as outras disciplinas. 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. 5

Testes n Uma diferença entre o Teste e as outras disciplinas do RUP é

Testes n Uma diferença entre o Teste e as outras disciplinas do RUP é que a principal finalidade do Teste é localizar e expor os pontos fracos do software. Para obter o máximo benefício, ele precisa de uma filosofia geral diferente da usada nas disciplinas Requisitos, Análise e Design, e Implementação. A diferença sutil é que enquanto as outras disciplinas enfatizam a abrangência, o Teste enfatiza a deficiência. 6

Testes x outras Disciplinas · · · A disciplina Requisitos captura os requisitos do

Testes x outras Disciplinas · · · A disciplina Requisitos captura os requisitos do software, que representam uma das bases principais para a identificação dos testes que devem ser executados. A disciplina Análise e Design determina o design adequado para o software. Essa é outra base importante para a identificação dos testes que devem ser executados. A disciplina Implementação produz builds do software que são validados pela disciplina Teste. Em uma iteração, vários builds são testados, geralmente um por ciclo de teste. A disciplina Ambiente desenvolve e mantém os artefatos de suporte usados durante o teste, como o Guia de Teste e o Ambiente de Teste. A disciplina Gerenciamento planeja o projeto e o trabalho necessário em cada iteração. Descrito em um Plano de Iteração, esse artefato é uma base importante para definir a missão de avaliação correta para o esforço de teste. A disciplina Gerenciamento de Configuração e Mudança controla a mudança dentro da equipe de projeto. O esforço de teste verifica se cada mudança foi efetuada corretamente. 7

Testes n As principais medidas de um teste incluem a cobertura e a qualidade.

Testes n As principais medidas de um teste incluem a cobertura e a qualidade. n n A cobertura é a medida da abrangência do teste e é expressa pela cobertura dos requisitos e casos de teste ou pela cobertura do código executado. A qualidade é uma medida de confiabilidade, de estabilidade e de desempenho do objetivo do teste (sistema ou aplicativo em teste). Ela se baseia na avaliação dos resultados do teste e na análise das solicitações de mudança (defeitos) identificadas durante o teste. 8

Testes n Dimensão de Qualidade/Tipo Funcionalidade · · de Teste: Teste de função: Testes

Testes n Dimensão de Qualidade/Tipo Funcionalidade · · de Teste: Teste de função: Testes destinados a validar as funções do objetivo do teste conforme o esperado, fornecendo os serviços, métodos ou casos de uso necessários. Esse teste é implementado e executado em diferentes objetivos do teste, como unidades, unidades integradas, aplicativos e sistemas. Teste de segurança: Testes destinados a garantir que o objetivo do teste e os dados (ou sistemas) possam ser acessados apenas por determinados atores. Esse teste é implementado e executado em vários objetos de teste. 9

Testes n Funcionalidade · Teste de volume: Teste destinado a verificar a capacidade do

Testes n Funcionalidade · Teste de volume: Teste destinado a verificar a capacidade do objetivo do teste de lidar com um grande volume de dados, como entrada e saída ou residente no banco de dados. O teste de volume abrange estratégias de teste, como, por exemplo, a entrada de dados do volume máximo de dados em cada campo ou a criação de consultas que retornem todo o conteúdo do banco de dados ou que tenham tantas restrições que nenhum dado seja retornado. 10

Testes n Usabilidade · Teste de usabilidade: Testes que enfatizam: · fatores humanos, ·

Testes n Usabilidade · Teste de usabilidade: Testes que enfatizam: · fatores humanos, · estética, · consistência na interface do usuário, · ajuda on-line e contextual, · assistentes e agentes, · documentação do usuário e · material de treinamento. 11

Testes n Confiabilidade · · Teste de integridade: Testes destinados a avaliar a robustez

Testes n Confiabilidade · · Teste de integridade: Testes destinados a avaliar a robustez do objetivo do teste (resistência a falhas) e a compatibilidade técnica em relação a linguagem, sintaxe e utilização de recursos. Esse teste é implementado e executado em vários objetivos do teste, como unidades e unidades integradas. Teste de estrutura: Testes destinados a avaliar a adequação do objetivo do teste em relação a seu design e sua formação. Em geral, esse teste é realizado em aplicativos habilitados para a Web, garantindo que todos os links estejam conectados, que o conteúdo apropriado seja exibido e que não haja conteúdo órfão. 12

Testes n Confiabilidade · Teste de stress: Tipo de teste de confiabilidade destinado a

Testes n Confiabilidade · Teste de stress: Tipo de teste de confiabilidade destinado a avaliar como o sistema responde em condições anormais. O stress no sistema pode abranger cargas de trabalho extremas, memória insuficiente, hardware e serviços indisponíveis ou recursos compartilhados limitados. Normalmente, esses testes são executados para compreender melhor como e em quais áreas o sistema será dividido, para que os planos de contingência e a manutenção de atualização possam ser planejados e orçados com bastantecedência. 13

Testes n Desempenho · · Teste de avaliação de desempenho: Tipo de teste de

Testes n Desempenho · · Teste de avaliação de desempenho: Tipo de teste de desempenho que compara o desempenho de um objetivo do teste (novo ou desconhecido) a um sistema e uma carga de trabalho de referência conhecidos. Teste de contenção: Testes destinados a verificar se os objetivos do teste podem lidar de forma aceitável com as demandas de vários atores no mesmo recurso (registros de dados, memória, etc. ). Teste de carga: Tipo de teste de desempenho usado para validar e avaliar a aceitabilidade dos limites operacionais de um sistema de acordo com cargas de trabalho variáveis, enquanto o sistema em teste permanece constante. Perfil de desempenho: Teste em que o perfil de andamento do objetivo do teste é monitorado (inclusive fluxo de execução, acesso a dados e chamadas de função e de sistema), a fim de identificar e 14 lidar com gargalos de desempenho e processos ineficientes.

Testes n Suportabilidade · · Teste de configuração: Teste destinado a garantir que o

Testes n Suportabilidade · · Teste de configuração: Teste destinado a garantir que o objetivo do teste funcione conforme o esperado em diferentes configurações de hardware e/ou software. Esse teste também pode ser implementado como um teste de desempenho do sistema. Teste de instalação: Teste destinado a garantir que o objetivo do teste seja instalado conforme o esperado em diferentes configurações de hardware e/ou software e sob diferentes condições (como no caso de espaço insuficiente em disco ou interrupção de energia). Esse teste é implementado e executado em aplicativos e sistemas. 15

FIM

FIM