1 / 36

Metodologia de Desenvolvimento de Software – RUP 5. Testes

Metodologia de Desenvolvimento de Software – RUP 5. Testes. Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br http:// si.lopesgazzani.com.br/docentes/marcio /. Conceitos de testes. Teste: É a execução controlada do software visando revelar falhas Falha: Desvio de comportamento

ide
Download Presentation

Metodologia de Desenvolvimento de Software – RUP 5. Testes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metodologia de Desenvolvimento de Software – RUP5. Testes Márcio Aurélio Ribeiro Moreira marcio.moreira@pitagoras.com.br http://si.lopesgazzani.com.br/docentes/marcio/

  2. Conceitos de testes • Teste: • É a execução controlada do software visando revelar falhas • Falha: Desvio de comportamento • Erro: Origem da falha (bug) • Teste de Regressão: • Execução repetida dos Casos de Testes que falharam, bem como dos Casos de Testes impactados por eles, após a correção dos erros (bugs) que causaram as falhas • Importância: • Testes não provam que o software está livre de falhas. Eles minimizam este risco, aumentam a confiança e agregam valor ao produto • São partes integrantes da qualidade

  3. Elementos de testes • De Planejamento: • Estratégia de Teste: Define como o esforço de teste será conduzido • Plano de Testes: Define objetivos, metas, abordagem e recursos testes de cada iteração • Idéias de Teste: Lista de idéias a serem utilizadas nos testes • De Desenvolvimento: • Casos de Testes: Entradas, passos e saídas esperadas de cada teste • Scripts de Testes: Códigos executados durante (preparação, execução, passos e geração de resultados) os Casos de Teste • Dados de Teste: Massa de dados usada para realização dos testes • Cenários de Teste: Variações que um mesmo Caso de Teste pode ter • De Execução: • Registro de Testes: Saída bruta da execução dos testes • Resultados de Testes: Avaliação dos resultados dos registros de testes

  4. Níveis de testes • Quanto às pessoas: • Desenvolvedores • Testes independentes: • Entidades verificadoras (certificadoras) ou Usuários chaves do cliente • Quanto a granularidade: • Testes de unidade (desenvolvedores) • Testes de integração (desenv.) (subsistemas) • Testes de sistema (ambos) • [Testes Integrados (ambos) (outros sistemas) ausente no RUP] • Testes de aceitação (cliente) (UAT: User Acceptance Test) • Quanto à forma: • Formal: Seguem os casos de testes • Informal: Não seguem roteiro (exploratórios, ad hoc ou aleatórios)

  5. Stubs Testes de Sistema Testes Integrados e UAT Sistema D Sistema D Stub Stub Stub Sistema A Sistema B Sistema A Sistema B Sistema C Sistema C

  6. Visões de testes • Quanto à visão do sistema: • Caixa preta (fora do sistema, sem visão interna) • Caixa branca (dentro do sistema) • Uso de testes nas dimensões da qualidade:

  7. Modelo V de testes Validação Verificação Modelagem de Negócio Teste de Aceitação Requisitos Teste Integrado Arquitetura Teste de Sistema Análise Teste de Integração Projeto Teste Unitário Implementação

  8. Tipos de testes • Funcionalidade: • Função: A parte testável funciona como foi projetada? • Segurança: Somente usuários autorizados têm acesso à funcionalidade? • Volume: A funcionalidade suporta o volume de dados especificado? • Utilidade: • Usabilidade: O software tem a usabilidade que é esperada dele? • Confiabilidade: • Integridade: O software tem a robustez (resistência a defeitos) esperada? • Estrutura: Os links, botões e opções de navegação funcionam corretamente? • Estresse: Como o software lidas com muitos dados, pouca memória, etc.? • Desempenho: • Tamanho real: O software tem o desempenho esperado quando com volume real? • Contenção: Como o software lida com solicitação excessiva de um recurso? • Carga: Aumentando o volume de transações, até onde o software suporta? • Perfil de desempenho: O software possui gargalos ou processos ineficientes? • Suportabilidade: • Configuração: Nosso software funciona em diferentes configurações (hw/sw)? • Instalação: O processo de instalação funciona em diferentes configurações?

  9. Objetivos dos testes • Localizar e documentar defeitos na qualidade do software • Dar sugestões sobre a qualidade do software • Validar e provar as suposições feitas nas especificações de projeto e requisitos através de demonstração concreta • Validar se o software funciona conforme o projeto • Validar se os requisitos estão implementados adequadamente

  10. Fluxo de trabalho de testes

  11. Objetivos das atividades • Definir missão de avaliação: • Identificar o foco apropriado do esforço de teste para a iteração e estabelecer consenso com os envolvidos sobre as metas que conduzirão o esforço de teste • Validar abordagem do teste: • Verificar por meio da demonstração que a abordagem de testes funcionará, produz resultados precisos e é apropriada para os recursos disponíveis • Validar a estabilidade da construção: • Validar que a construção esteja estável o suficiente, para que sejam iniciados o teste detalhado e o esforço de avaliação • Testar e avaliar: • Executar os testes e verificar se eles tem a amplitude e o detalhamento necessários para garantir que os testes atinjam seus propósitos • Realizar a missão aceitável (atingimos a missão de aceitação?): • Garantir a aceitação do produto através das avaliações dos testes • Aprimorar vantagens dos testes: • Manter e aprimorar os recursos de testes

  12. A: Definir missão de avaliação 1

  13. A: Definir missão de avaliação 2

  14. A: Validar abordagem do teste 1

  15. A: Validar abordagem do teste 2

  16. A: Validar a estabilidade da construção 1

  17. A: Validar a estabilidade da construção 2

  18. A: Testar e avaliar 1

  19. A: Testar e avaliar 2

  20. A: Testar e avaliar 3

  21. A: Realizar a missão aceitável

  22. A: Aprimorar vantagens dos testes 1

  23. A: Aprimorar vantagens dos testes 2

  24. Essência dos testes

  25. P: Estratégia de testes • Seções típicas do documento: • Contexto: • Missão de Avaliação (foco dos testes) e Motivadores de Testes (razões de existir dos testes) • Abordagem: • Extensão: Cobertura que será utilizada • Medição: Como serão medidos os testes • Técnicas: Quais técnicas serão utilizadas • Ambiente: • Hardware: Hardwares necessários aos testes • Software: Softwares necessários aos testes • Ferramentas: Utilizadas na medição e avaliação • Configuração: Configuração final do ambiente • Responsabilidades: • Funções: Papéis necessários aos testes • Pessoal: Pessoas necessárias para realizar os testes • Responsabilidades: Que pessoa é responsável por qual papel • Outros: • Riscos, dependências, premissas, restrições, processo e procedimento de gestão dos testes

  26. P: Plano de testes • 2. Requisitos de Testes: • Quais tipos de testes serão utilizados • ... • 2.6. Teste de carga 2.7. Teste de estresse 2.8. Teste de volume • ... • 3. Estratégia de testes: • 3.1. Descrever para cada tipo de teste: objetivo, técnica, critérios e detalhes • ... • 2.6. Teste de carga: • Objetivo: Verificar o tempo de resposta do sistema para alguns casos de negócio • Técnica: Utilizar Casos de Testes prontos, com variações que simulem o volume real de dados • Critérios: Metas de transações e acessos concorrentes atingidos • Detalhes: Para medição exata, utilizar máquina dedicada por um tempo dedicado • 3.2. Ferramentas utilizadas • Outros: funções x recursos x responsabilidades, marcos, datas, etc.

  27. P: Idéias de teste • Exemplo 1: • Exemplo 2:

  28. P: Caso de teste • Fase: GL1 Build: 1 • Ciclo: Catálogo de Produtos ID do TC: 149 • Nome TC: Criação de Produtos Simples Prioridade: Baixa • Passos:

  29. P: Resultados de testes 1

  30. P: Resultados de testes 2

  31. P: Avaliação dos testes 1 % de Sucesso Densidades Resultado EstratégiaX Legenda: Exec = Execução Suc = Sucesso CT = Caso de Teste PT = Passos de CT Falhas / C.T.Executado Bugs / C.T.Executado

  32. P: Avaliação dos testes 2 Severidade final Severidade Média Severidade

  33. P: Avaliação dos testes 3 100% em 7/7/2010

  34. Exercício 3: Contexto • Considerando o mesmo projeto dos exercícios 1 e 2, e além disto: • A empresa de consultoria tem fábricas de software em: • São Paulo no Brasil: que fará a interface com o cliente • A língua utilizada para fazer modelagem, análise e projeto é o português • 2 cidades na Índia: que farão a maior parte do desenvolvimento • A língua oficial da consultoria na Índia é o inglês • A empresa de consultoria é parceira da Oracle e participou das validações das customizações propostas feita com a Oracle • A empresa de consultoria utilizará uma unidade deles especializada em testes, que fica em Brasília • As responsabilidades de testes ficaram combinadas da seguinte forma: • Testes Unitários e Testes de Integração (internos): Responsabilidade da consultoria • Testes de Sistema e Testes Integrados (externo, ou seja, com outros sistemas): • A consultoria: Desenvolve os Casos de Teste • A empresa: Valida os Casos de Teste • A consultoria: Executa os Casos de Teste e fornece evidências da execução • A empresa: Verifica as evidências e registra as rejeições • A consultoria: Corrige as rejeições e fornece novamente para a empresa • Teste de Aceitação: Responsabilidade integral da empresa

  35. Exercício 3: Questões • Que Atividades e Tarefas de Implementação & Testes do RUP vocês recomendam que sejam utilizadas neste caso? • Justifique porque vocês incluíram ou excluíram cada Atividade e Tarefa. • Vocês recomendam alguma tarefa adicional para as Atividades selecionadas? Quais e por que? • A Construção está prevista para 4 meses e a consultoria tomou algumas decisões não muito assertivas nas etapas anteriores. O que você pode fazer para: • Ter maior assertividade na entrega da Construção? • Ter mais confiança no software nos Testes de Sistema?

  36. Referências

More Related