SlideShare une entreprise Scribd logo
1  sur  39
Teste de Aceitação:
Problemas, desafios e
     abordagens


 Luiz Carlos da Silva Luz
  luizluz@dcc.ufmg.br
Agenda


 Introdução
 Teste de aceitação
 Teste de aceitação durante o processo de
  desenvolvimento de software
 Estratégias de implementação dos testes de aceitação
 Preparação do teste de aceitação
 Execução do teste de aceitação
 Resultados do teste de aceitação
 Testes de aceitação em processos ágeis
 Conclusão
 Bibliografia

                                                         2
Introdução
Introdução




 Antes da implantação…
  – Será que o sistema em desenvolvimento está
    pronto e já pode ser utilizado pelos usuários
    finais para executarem tarefas que serão
    apoiadas por ele, como é esperado?
                                                    4
Introdução




 No recebimento de um produto que foi contratado via
  licitação ou por outros meios...…
   – Será que o produto atende as especificações
     técnicas e de negócio presente no edital ou
     na documentação, que serviu de base para a
     sua aquisição?

                                                        5
Introdução




 As estratégias adotadas para responder essas e outras
  questões relacionadas à verificação das características
  funcionais e não-funcionais de um software, segundo
  uma determinada documentação, podem ser
  denominadas de Teste de Aceitação


                                                            6
Teste de Aceitação
Teste de Aceitação


   Conceitos
     – “(...) começa no fim do teste de integração, quando componentes
       individuais já foram exercitados, o software está completamente
       montado como um pacote, e os erros de interface foram descobertos e
       corrigidos. (...)” O testes focaliza ações visíveis ao usuário e saídas do
       sistema reconhecidas pelo usuário. (Pressman)

     – É um teste formal relacionado às necessidades dos usuários, requisitos
       e processos de negócios. É realizado para estabelecer se um sistema
       satisfaz ou não os critérios de aceitação e para possibilitar aos usuários,
       aos clientes e às outras entidades autorizadas decidir aceitar ou não
       determinado sistema. (Glossário , ISTQB)

     – (...) é de responsabilidade do cliente ou do usuário do sistema; os
       interessados (stakeholders) também podem ser envolvidos. . (Syllabus ,
       ISTQB)


     – Garante a satisfação do cliente
         • Os clientes não querem se comprometer com sistemas inadequados;
Teste de Aceitação


 Objetivos
   – confirmar se o sistema está funcionando conforme o
     esperado, ou seja, prover a confiabilidade de que
     esteja de acordo com o requisito.
   – avaliar a qualidade do software, para prover
     informações sobre os riscos da implantação do
     sistema em um determinado momento aos gestores.
       • Procurar defeitos não é o principal foco do teste de aceite.
Teste de Aceitação


 Formas de Teste de Aceitação
   – Teste de Aceitação de usuário
       • Verifica se o sistema está apropriado para o uso por um
         usuário com perfil de negócio
   – Teste Operacional de Aceite
       • O aceite do sistema pelo administrador dos sistemas, que
         verifica:
          – Atendimento às configurações de ambiente.
          – Atendimento às rotinas administrativas: backup, gerenciamento
            de usuários, etc
Teste de Aceitação


 Formas de Testes de Aceitação
   – Teste de aceitação de contrato e regulamento
       • Teste de aceitação de contrato: verifica se os critérios de
         aceite incluso em contrato na produção de software
         encomendado.
           – Os critérios de aceite devem ser definidos quando o contrato é
             assinado.
       • Teste de aceitação de regulamento: verifica a necessidade
         de adesão a algum regulamento de acordo com
         determinadas normas (ex.: segurança, governamental,
         legislação).
Teste de Aceitação


 Formas de Testes de Aceitação
   – Alfa e Beta Teste (ou teste no campo)
       • Teste Alfa: é realizado no ambiente da organização em que o
         produto foi desenvolvido. É realizado pelos clientes ou por
         uma equipe de teste independente.
       • Teste Beta (ou teste no campo): é realizado pelas pessoas ou
         pelos clientes em seu próprio ambiente de trabalho.
       • O objetivo desses testes é obter um feedback dos clientes ou
         usuários do sistema antes do sistema entrar em produção ou
         ser disponibilizado para comercialização.
Teste de Aceitação durante o
desenvolvimento do software
Teste de aceitação durante o desenvolvimento do software


   Níveis de Teste




                                            Teste de Aceite pode ser
                                            realizado em mais de um
                                            único nível:
                                            •Processo de alteração;
                                            •Teste de aceitação de
                                            usabilidade;
                                            •Teste de aceite de uma nova
                                            funcionalidade
Estratégia de implementação
   do Teste de Aceitação
Estratégia de implementação do teste de aceitação


 Teste de Aceitação Formal
   – O teste de aceitação formal é um processo altamente
     gerenciado e costuma ser uma extensão do teste do
     sistema.
   – Os testes são planejados e projetados com o mesmo
     cuidado e nível de detalhe do teste do sistema.
   – Teste de aceitação de contrato ou regulamento
     geralmente são implementados como Teste de
     Aceitação Formal.
Estratégia de implementação do teste de aceitação


   Teste de Aceitação Informal
     – No teste de aceitação informal, os procedimentos para executar
       o teste e os critérios de aceitação não são definidos com tanto
       rigor como no teste de aceitação formal.
     – O testador individual determina o que fazer.
         • Teste Alfa
             – Essa abordagem de teste de aceitação não é tão controlada e é mais
               subjetiva.
             – As funções e as tarefas de negócios a serem exploradas são
               identificadas e documentadas, mas não há casos de teste específicos
               para seguir.
         • Teste Beta
             – Não há nenhum controle, a quantidade de detalhes, os dados e a
               abordagem adotada são de inteira responsabilidade do testador
               individual
             – Cada testador é responsável por criar o próprio ambiente, selecionar os
               dados correspondentes e determinar as funções, os recursos ou as
               tarefas a serem exploradas.
             – Cada um deles é responsável por identificar os próprios critérios que o
               levarão a aceitar ou rejeitar o sistema no seu estado atual.
Estratégia de implementação do teste de aceitação


– Pode ser implementada mais de uma estratégia de
  testes em um mesmo projeto, tendo como benefícios:
   • o aumento da possibilidade de identificar defeitos;
   • a redução dos riscos, e ;
   • o aumento da confiança no sistema e da satisfação do
     cliente.
Estratégia de implementação do teste de aceitação


– Qual estratégia de implementação de teste de
  aceitação eu devo adotar?
   • Essa decisão dependerá....
      – do compromisso com a qualidade do sistema;
      – da disponibilidade dos usuários;
      – das restrições de custo ou de prazo;
      – das características do processo de desenvolvimento de
        Software adotado pela organização.
      – da confiança que se tem na equipe independente de testes.
Preparação do Teste de
      Aceitação
Preparação do teste de aceitação


 Teste de Aceitação Formal
   – As atividades e os artefatos são os mesmos do teste
     do sistema.
   – A preparação consiste em escolher um subconjunto
     dos testes já realizados e de adaptar a linguagem e as
     informações presentes nas especificações de testes
     de sistema aos usuários que também participarão
     desses testes.
   – Exige recursos, planejamento e preparação do
     ambiente de testes.
Preparação do teste de aceitação


 Teste de Aceitação informal
   – Teste Alfa
       • Preparação do ambiente de teste;
       • Preparação da documentação sobre as partes do sistema
         que serão testadas;
       • Preparação de roteiros de testes ou descrição de possíveis
         cenários que serão testados;
       • Exige recursos, planejamento e preparação do ambiente de
         testes.
   – Teste Beta
       • Preparação da documentação sobre as partes do sistema
         que serão testadas
Execução do Teste de
     Aceitação
Execução do teste de aceitação


 Teste de Aceitação Formal
   – A execução pode ser manual ou os testes podem ser
     automatizados, permitindo teste de regressão.
   – Durante a execução o progresso dos testes pode ser
     medido ou monitorado;
Execução do teste de aceitação


   Teste de Aceitação informal
     – Teste Alfa
          • As funcionalidades e cenários que serão testados são conhecidos.
          • O progresso dos testes pode ser medido e monitorado, com base na nos
            roteiros ou cenários já exercitados.
          • Os recursos do teste de aceitação não estão sob o controle do projeto e
            podem ser limitados.
          • Não há controle sobre os testes que estão sendo realizados.
          • Exige acompanhamento para:
               – orientar quanto a execução dos roteiros;
               – orientar quanto ao uso do software;
               – e para apoiar no registro dos problemas identificados.
     – Teste Beta
          • É difícil medir o progresso do teste.
          • Os recursos do teste de aceitação não estão sob o controle do projeto e
            podem ser limitados.
          • Em alguns casos pode exigir acompanhamento para apoiar no registro dos
            problemas identificados.
     – Nos testes informais é importante apresentar os objetivos dos testes
       para os usuários
Execução do teste de aceitação


 Correção de defeito durante os testes
   – É possível que ocorram durante os testes defeitos que
     impedem a verificação de determinados critérios de
     aceitação.
       • Esses defeitos terão que ser corrigidos durante a fase de
         teste de aceitação;
       • Será necessário garantir, através de teste de sistema ou de
         teste de regressão, que a correção desses defeitos não gerou
         novos defeitos que inviabilizem a continuidade dos testes de
         aceitação;
 O teste de aceitação só é finalizado quando todos os
  defeitos críticos forem corrigidos e os critérios de
  aceitação forem devidamente verificados.
Resultados do Teste de
      Aceitação
Resultados do teste de aceitação


 Teste de Aceitação Formal
   – Os testes podem ser uma nova implementação dos
     testes do sistema.
       • Geralmente não são identificados novos problemas já que
         são procurados apenas os defeitos já esperados.
   – Os critérios de aceitação são conhecidos.
       • O relatório final consiste em informar se os critérios de
         aceitação foram ou não atendidos e qual é o impacto do não
         atendimento deles, quando eles falharem ou não puderem ser
         verificados.
Resultados do teste de aceitação


 Teste de Aceitação informal
   – Teste Alfa
       • Os usuários finais podem se adaptar à forma como o sistema
         funciona e não encontrar defeitos.
       • Os usuários finais podem se concentrar na comparação do
         novo sistema com um sistema antigo, em vez de procurar
         defeitos.
           – Identificação de melhorias ou alterações ao invés de defeito.
       • São revelados defeitos subjetivos.
       • Os critérios de aceitação são conhecidos e estão
         relacionados aos roteiros ou cenários exercitados durante os
         testes.
           – O relatório final consiste em informar se os critérios de aceitação
             foram ou não atendidos e qual é o impacto do não atendimento
             deles, quando eles falharem ou não puderem ser verificados
Resultados do teste de aceitação


 Teste de Aceitação informal
   – Teste Beta
       • Nem todas as funcionalidades podem ser testadas.
       • Os usuários finais podem se adaptar à forma como o sistema
         funciona e não encontrar defeitos.
       • Os usuários finais podem se concentrar na comparação do
         novo sistema com um sistema antigo, em vez de procurar
         defeitos.
           – Identificação de melhorias ou alterações ao invés de defeito.
       • Aumenta a satisfação do cliente para aqueles que participam.
       • São revelados defeitos subjetivos.
       • Os critérios de aceitação não são conhecidos.
           – O relatório final consiste na apresentação dos defeitos
             identificados pelos participantes durante os testes e da
             declaração deles quanto à satisfação e ao aceite do produto;
Teste de Aceitação em
   processos ágeis
Teste de aceitação em processos ágeis


 São escritos pelo cliente
   – Durante a escrita da histórias de usuários o cliente
     define pontos de verificação
       • O ponto de verificação permite verificar se o sistema atende
         determinada funcionalidade associada à história de usuário.
       • Os pontos de verificação são utilizados na escrita de testes
         de aceitação (ou Story Test, ou Customer Test) que
         descrevem cenários (de sucesso ou não) que contemplam a
         expectativa do cliente em relação a uma determinada
         funcionalidade ou à história de usuário.
   – Deve existir pelo menos um teste de aceitação para
     cada história de usuário.
   – Uma história de usuário só pode ser considerada
     acabada quando seus testes de aceitação executarem
     completamente.
Teste de aceitação em processos ágeis


 Pode ser automatizado
   – Permitindo a realização de testes de regressão
     durante todo o período de desenvolvimento do
     software e garantindo que as histórias de usuários
     continuam sendo atendidas apesar das modificações
     realizadas no sistema.
 Papel importante no refinamento da análise
   – Além de garantir o correto funcionamento do sistema o
     teste de aceitação pode ser utilizado para refinar a
     análise e garantir que a equipe esteja sempre
     trabalhando naquilo que é importante para o cliente.
Conclusão
Conclusão




                                                            Determinada falhas em
                                                             produção podem ser
                                                             dramáticas, podem ter
                                                             prejuízos irreversíveis e
                                                             podem apresentar um
                                                             custo muito alto para a
                                                             organização.



                                                            Invista na qualidade dos
                                                             testes de aceitação!

Falha de paraquedas a 1.500 metros de altura. (Mar/2012)
Referências
Referências Bibliográficas


 Pressman, R. S. (2006). Engenharia de Software. Mcgraw-Hill, 6 a
  edição edição.
 Filho, W. P. P. (2003). Engenharia de Software: Fundamentos,
  Métodos e Padrões. LTC, 2 a edição edição.
 Syllabus Fundation, BSTQB, versão 2011br. Disponível em
  http://www.bstqb.org.br
 Glossário de termos, BSTQB, versão 2.1.1br. Disponível em
  http://www.bstqb.org.br
 RUP,IBM, versão 2002.05.00 Português. Disponível em
  http://www.wthreex.com/rup/index.htm
?
Dúvidas
Obrigado

Contenu connexe

Tendances

Aulas - Gestão Da Qualidade - 2006 - Prof. Sergio.Jr
Aulas - Gestão Da Qualidade - 2006 -  Prof. Sergio.JrAulas - Gestão Da Qualidade - 2006 -  Prof. Sergio.Jr
Aulas - Gestão Da Qualidade - 2006 - Prof. Sergio.JrSergio Luis Seloti Jr
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testeselliando dias
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testesIsaias Silva
 
Apresentação | Gestão de QA | Modelo Human driven | Qualidade de software | ...
Apresentação | Gestão de QA |  Modelo Human driven | Qualidade de software | ...Apresentação | Gestão de QA |  Modelo Human driven | Qualidade de software | ...
Apresentação | Gestão de QA | Modelo Human driven | Qualidade de software | ...Rosa Sampaio
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Gestao do conhecimento e Gerencia de Projetos
Gestao do conhecimento e Gerencia de ProjetosGestao do conhecimento e Gerencia de Projetos
Gestao do conhecimento e Gerencia de ProjetosMauro Sotille, MBA, PMP
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 

Tendances (20)

Aulas - Gestão Da Qualidade - 2006 - Prof. Sergio.Jr
Aulas - Gestão Da Qualidade - 2006 -  Prof. Sergio.JrAulas - Gestão Da Qualidade - 2006 -  Prof. Sergio.Jr
Aulas - Gestão Da Qualidade - 2006 - Prof. Sergio.Jr
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Pr 2-auditoria-interna-rev2
Pr 2-auditoria-interna-rev2Pr 2-auditoria-interna-rev2
Pr 2-auditoria-interna-rev2
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Ferramentas de Gestão de Testes
Ferramentas de Gestão de TestesFerramentas de Gestão de Testes
Ferramentas de Gestão de Testes
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Apresentação | Gestão de QA | Modelo Human driven | Qualidade de software | ...
Apresentação | Gestão de QA |  Modelo Human driven | Qualidade de software | ...Apresentação | Gestão de QA |  Modelo Human driven | Qualidade de software | ...
Apresentação | Gestão de QA | Modelo Human driven | Qualidade de software | ...
 
Auditoria
AuditoriaAuditoria
Auditoria
 
Guia de Implantação da ISO 9001:2015
Guia de Implantação da ISO 9001:2015Guia de Implantação da ISO 9001:2015
Guia de Implantação da ISO 9001:2015
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Gestao do conhecimento e Gerencia de Projetos
Gestao do conhecimento e Gerencia de ProjetosGestao do conhecimento e Gerencia de Projetos
Gestao do conhecimento e Gerencia de Projetos
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Lista de verificação de gestão da qualidade
Lista de verificação de gestão da qualidadeLista de verificação de gestão da qualidade
Lista de verificação de gestão da qualidade
 
Sistemas de Gestao
Sistemas de GestaoSistemas de Gestao
Sistemas de Gestao
 

En vedette

Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Marcio iti lv3_4_transicao_deservicos
Marcio iti lv3_4_transicao_deservicosMarcio iti lv3_4_transicao_deservicos
Marcio iti lv3_4_transicao_deservicosfernandao777
 
Gerência de configuração de softwares
Gerência de configuração de softwaresGerência de configuração de softwares
Gerência de configuração de softwaresGrupoAlves - professor
 
Bh gp36-int-cluberecreativo
Bh gp36-int-cluberecreativoBh gp36-int-cluberecreativo
Bh gp36-int-cluberecreativoMarco Coghi
 
Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Emmanuel Neri
 
Desenvolvendo a auto aceitação
Desenvolvendo a auto aceitaçãoDesenvolvendo a auto aceitação
Desenvolvendo a auto aceitaçãoMarcio Duarte
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Softwareelliando dias
 
Diagrama de implantação
Diagrama de implantaçãoDiagrama de implantação
Diagrama de implantaçãoelliando dias
 
Sistema reprodutor masculino
Sistema reprodutor masculinoSistema reprodutor masculino
Sistema reprodutor masculinoElsa RITA
 
Como o corpo se organiza
Como o corpo se organizaComo o corpo se organiza
Como o corpo se organizaNathalia Fuga
 
Aula sistema respiratório
Aula sistema respiratórioAula sistema respiratório
Aula sistema respiratórioElyane Oliveira
 
Capítulo 5 aceitação e renúncia da herança
Capítulo 5   aceitação e renúncia da herançaCapítulo 5   aceitação e renúncia da herança
Capítulo 5 aceitação e renúncia da herançaDimensson Costa Santos
 
Aparelho reprodutor feminino e masculino
Aparelho reprodutor feminino e masculinoAparelho reprodutor feminino e masculino
Aparelho reprodutor feminino e masculinoNeuza Carvalho
 

En vedette (20)

Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Marcio iti lv3_4_transicao_deservicos
Marcio iti lv3_4_transicao_deservicosMarcio iti lv3_4_transicao_deservicos
Marcio iti lv3_4_transicao_deservicos
 
Reprodução humana 2
Reprodução humana 2Reprodução humana 2
Reprodução humana 2
 
Aceitação
AceitaçãoAceitação
Aceitação
 
Gerência de configuração de softwares
Gerência de configuração de softwaresGerência de configuração de softwares
Gerência de configuração de softwares
 
FastHotel
FastHotelFastHotel
FastHotel
 
Bh gp36-int-cluberecreativo
Bh gp36-int-cluberecreativoBh gp36-int-cluberecreativo
Bh gp36-int-cluberecreativo
 
Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3
 
Desenvolvendo a auto aceitação
Desenvolvendo a auto aceitaçãoDesenvolvendo a auto aceitação
Desenvolvendo a auto aceitação
 
Aceitação
AceitaçãoAceitação
Aceitação
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Aceitação
AceitaçãoAceitação
Aceitação
 
Diagrama de implantação
Diagrama de implantaçãoDiagrama de implantação
Diagrama de implantação
 
Sistema reprodutor masculino
Sistema reprodutor masculinoSistema reprodutor masculino
Sistema reprodutor masculino
 
Como o corpo se organiza
Como o corpo se organizaComo o corpo se organiza
Como o corpo se organiza
 
Aula sistema respiratório
Aula sistema respiratórioAula sistema respiratório
Aula sistema respiratório
 
Capítulo 5 aceitação e renúncia da herança
Capítulo 5   aceitação e renúncia da herançaCapítulo 5   aceitação e renúncia da herança
Capítulo 5 aceitação e renúncia da herança
 
Aparelho reprodutor feminino e masculino
Aparelho reprodutor feminino e masculinoAparelho reprodutor feminino e masculino
Aparelho reprodutor feminino e masculino
 

Similaire à Teste de Aceitação: Problemas, Abordagens e Estratégias

4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testesCristiano Caetano
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de SoftwareCloves da Rocha
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Apresentacao_TestesSW.ppt
Apresentacao_TestesSW.pptApresentacao_TestesSW.ppt
Apresentacao_TestesSW.pptDsAsdasd1
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de softwareFelipe Bugov
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processocrc1404
 
Testar é tão fácil que até minha mãe testaria!
Testar é tão fácil que até minha mãe testaria!Testar é tão fácil que até minha mãe testaria!
Testar é tão fácil que até minha mãe testaria!Laís Camargo
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Alain Ageev, SFPC
 

Similaire à Teste de Aceitação: Problemas, Abordagens e Estratégias (20)

4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testes
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Apresentacao_TestesSW.ppt
Apresentacao_TestesSW.pptApresentacao_TestesSW.ppt
Apresentacao_TestesSW.ppt
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
Testar é tão fácil que até minha mãe testaria!
Testar é tão fácil que até minha mãe testaria!Testar é tão fácil que até minha mãe testaria!
Testar é tão fácil que até minha mãe testaria!
 
Plano de testes
Plano de testesPlano de testes
Plano de testes
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
Qualidade
QualidadeQualidade
Qualidade
 
Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3
 
Qualidade
QualidadeQualidade
Qualidade
 

Plus de Synergia - Engenharia de Software e Sistemas

Plus de Synergia - Engenharia de Software e Sistemas (13)

Testes ágeis: saindo da zona de conforto
Testes ágeis: saindo da zona de confortoTestes ágeis: saindo da zona de conforto
Testes ágeis: saindo da zona de conforto
 
Desenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWTDesenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWT
 
Por que contratar projetos ágeis?
Por que contratar projetos ágeis?Por que contratar projetos ágeis?
Por que contratar projetos ágeis?
 
Estimativas em projetos de software
Estimativas em projetos de softwareEstimativas em projetos de software
Estimativas em projetos de software
 
Inspeções em desenvolvimento de software
Inspeções em desenvolvimento de softwareInspeções em desenvolvimento de software
Inspeções em desenvolvimento de software
 
Como os testes irão se modificar com o advento das metodologias ágeis
Como os testes irão se modificar com o advento das metodologias ágeisComo os testes irão se modificar com o advento das metodologias ágeis
Como os testes irão se modificar com o advento das metodologias ágeis
 
Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)
 
Controle estatístico de processos
Controle estatístico de processosControle estatístico de processos
Controle estatístico de processos
 
O retorno do investimento no projeto adequado de interfaces de usuário
O retorno do investimento no projeto adequado de interfaces de usuárioO retorno do investimento no projeto adequado de interfaces de usuário
O retorno do investimento no projeto adequado de interfaces de usuário
 
Gerenciamento de projetos usando corrente crítica
Gerenciamento de projetos usando corrente críticaGerenciamento de projetos usando corrente crítica
Gerenciamento de projetos usando corrente crítica
 
Aplicações Web Ricas e Acessíveis
Aplicações Web Ricas e AcessíveisAplicações Web Ricas e Acessíveis
Aplicações Web Ricas e Acessíveis
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Introdução a gerenciamento de projetos e PMBoK®
Introdução a gerenciamento de projetos e PMBoK®Introdução a gerenciamento de projetos e PMBoK®
Introdução a gerenciamento de projetos e PMBoK®
 

Teste de Aceitação: Problemas, Abordagens e Estratégias

  • 1. Teste de Aceitação: Problemas, desafios e abordagens Luiz Carlos da Silva Luz luizluz@dcc.ufmg.br
  • 2. Agenda  Introdução  Teste de aceitação  Teste de aceitação durante o processo de desenvolvimento de software  Estratégias de implementação dos testes de aceitação  Preparação do teste de aceitação  Execução do teste de aceitação  Resultados do teste de aceitação  Testes de aceitação em processos ágeis  Conclusão  Bibliografia 2
  • 4. Introdução  Antes da implantação… – Será que o sistema em desenvolvimento está pronto e já pode ser utilizado pelos usuários finais para executarem tarefas que serão apoiadas por ele, como é esperado? 4
  • 5. Introdução  No recebimento de um produto que foi contratado via licitação ou por outros meios...… – Será que o produto atende as especificações técnicas e de negócio presente no edital ou na documentação, que serviu de base para a sua aquisição? 5
  • 6. Introdução  As estratégias adotadas para responder essas e outras questões relacionadas à verificação das características funcionais e não-funcionais de um software, segundo uma determinada documentação, podem ser denominadas de Teste de Aceitação 6
  • 8. Teste de Aceitação  Conceitos – “(...) começa no fim do teste de integração, quando componentes individuais já foram exercitados, o software está completamente montado como um pacote, e os erros de interface foram descobertos e corrigidos. (...)” O testes focaliza ações visíveis ao usuário e saídas do sistema reconhecidas pelo usuário. (Pressman) – É um teste formal relacionado às necessidades dos usuários, requisitos e processos de negócios. É realizado para estabelecer se um sistema satisfaz ou não os critérios de aceitação e para possibilitar aos usuários, aos clientes e às outras entidades autorizadas decidir aceitar ou não determinado sistema. (Glossário , ISTQB) – (...) é de responsabilidade do cliente ou do usuário do sistema; os interessados (stakeholders) também podem ser envolvidos. . (Syllabus , ISTQB) – Garante a satisfação do cliente • Os clientes não querem se comprometer com sistemas inadequados;
  • 9. Teste de Aceitação  Objetivos – confirmar se o sistema está funcionando conforme o esperado, ou seja, prover a confiabilidade de que esteja de acordo com o requisito. – avaliar a qualidade do software, para prover informações sobre os riscos da implantação do sistema em um determinado momento aos gestores. • Procurar defeitos não é o principal foco do teste de aceite.
  • 10. Teste de Aceitação  Formas de Teste de Aceitação – Teste de Aceitação de usuário • Verifica se o sistema está apropriado para o uso por um usuário com perfil de negócio – Teste Operacional de Aceite • O aceite do sistema pelo administrador dos sistemas, que verifica: – Atendimento às configurações de ambiente. – Atendimento às rotinas administrativas: backup, gerenciamento de usuários, etc
  • 11. Teste de Aceitação  Formas de Testes de Aceitação – Teste de aceitação de contrato e regulamento • Teste de aceitação de contrato: verifica se os critérios de aceite incluso em contrato na produção de software encomendado. – Os critérios de aceite devem ser definidos quando o contrato é assinado. • Teste de aceitação de regulamento: verifica a necessidade de adesão a algum regulamento de acordo com determinadas normas (ex.: segurança, governamental, legislação).
  • 12. Teste de Aceitação  Formas de Testes de Aceitação – Alfa e Beta Teste (ou teste no campo) • Teste Alfa: é realizado no ambiente da organização em que o produto foi desenvolvido. É realizado pelos clientes ou por uma equipe de teste independente. • Teste Beta (ou teste no campo): é realizado pelas pessoas ou pelos clientes em seu próprio ambiente de trabalho. • O objetivo desses testes é obter um feedback dos clientes ou usuários do sistema antes do sistema entrar em produção ou ser disponibilizado para comercialização.
  • 13. Teste de Aceitação durante o desenvolvimento do software
  • 14. Teste de aceitação durante o desenvolvimento do software  Níveis de Teste Teste de Aceite pode ser realizado em mais de um único nível: •Processo de alteração; •Teste de aceitação de usabilidade; •Teste de aceite de uma nova funcionalidade
  • 15. Estratégia de implementação do Teste de Aceitação
  • 16. Estratégia de implementação do teste de aceitação  Teste de Aceitação Formal – O teste de aceitação formal é um processo altamente gerenciado e costuma ser uma extensão do teste do sistema. – Os testes são planejados e projetados com o mesmo cuidado e nível de detalhe do teste do sistema. – Teste de aceitação de contrato ou regulamento geralmente são implementados como Teste de Aceitação Formal.
  • 17. Estratégia de implementação do teste de aceitação  Teste de Aceitação Informal – No teste de aceitação informal, os procedimentos para executar o teste e os critérios de aceitação não são definidos com tanto rigor como no teste de aceitação formal. – O testador individual determina o que fazer. • Teste Alfa – Essa abordagem de teste de aceitação não é tão controlada e é mais subjetiva. – As funções e as tarefas de negócios a serem exploradas são identificadas e documentadas, mas não há casos de teste específicos para seguir. • Teste Beta – Não há nenhum controle, a quantidade de detalhes, os dados e a abordagem adotada são de inteira responsabilidade do testador individual – Cada testador é responsável por criar o próprio ambiente, selecionar os dados correspondentes e determinar as funções, os recursos ou as tarefas a serem exploradas. – Cada um deles é responsável por identificar os próprios critérios que o levarão a aceitar ou rejeitar o sistema no seu estado atual.
  • 18. Estratégia de implementação do teste de aceitação – Pode ser implementada mais de uma estratégia de testes em um mesmo projeto, tendo como benefícios: • o aumento da possibilidade de identificar defeitos; • a redução dos riscos, e ; • o aumento da confiança no sistema e da satisfação do cliente.
  • 19. Estratégia de implementação do teste de aceitação – Qual estratégia de implementação de teste de aceitação eu devo adotar? • Essa decisão dependerá.... – do compromisso com a qualidade do sistema; – da disponibilidade dos usuários; – das restrições de custo ou de prazo; – das características do processo de desenvolvimento de Software adotado pela organização. – da confiança que se tem na equipe independente de testes.
  • 20. Preparação do Teste de Aceitação
  • 21. Preparação do teste de aceitação  Teste de Aceitação Formal – As atividades e os artefatos são os mesmos do teste do sistema. – A preparação consiste em escolher um subconjunto dos testes já realizados e de adaptar a linguagem e as informações presentes nas especificações de testes de sistema aos usuários que também participarão desses testes. – Exige recursos, planejamento e preparação do ambiente de testes.
  • 22. Preparação do teste de aceitação  Teste de Aceitação informal – Teste Alfa • Preparação do ambiente de teste; • Preparação da documentação sobre as partes do sistema que serão testadas; • Preparação de roteiros de testes ou descrição de possíveis cenários que serão testados; • Exige recursos, planejamento e preparação do ambiente de testes. – Teste Beta • Preparação da documentação sobre as partes do sistema que serão testadas
  • 23. Execução do Teste de Aceitação
  • 24. Execução do teste de aceitação  Teste de Aceitação Formal – A execução pode ser manual ou os testes podem ser automatizados, permitindo teste de regressão. – Durante a execução o progresso dos testes pode ser medido ou monitorado;
  • 25. Execução do teste de aceitação  Teste de Aceitação informal – Teste Alfa • As funcionalidades e cenários que serão testados são conhecidos. • O progresso dos testes pode ser medido e monitorado, com base na nos roteiros ou cenários já exercitados. • Os recursos do teste de aceitação não estão sob o controle do projeto e podem ser limitados. • Não há controle sobre os testes que estão sendo realizados. • Exige acompanhamento para: – orientar quanto a execução dos roteiros; – orientar quanto ao uso do software; – e para apoiar no registro dos problemas identificados. – Teste Beta • É difícil medir o progresso do teste. • Os recursos do teste de aceitação não estão sob o controle do projeto e podem ser limitados. • Em alguns casos pode exigir acompanhamento para apoiar no registro dos problemas identificados. – Nos testes informais é importante apresentar os objetivos dos testes para os usuários
  • 26. Execução do teste de aceitação  Correção de defeito durante os testes – É possível que ocorram durante os testes defeitos que impedem a verificação de determinados critérios de aceitação. • Esses defeitos terão que ser corrigidos durante a fase de teste de aceitação; • Será necessário garantir, através de teste de sistema ou de teste de regressão, que a correção desses defeitos não gerou novos defeitos que inviabilizem a continuidade dos testes de aceitação;  O teste de aceitação só é finalizado quando todos os defeitos críticos forem corrigidos e os critérios de aceitação forem devidamente verificados.
  • 27. Resultados do Teste de Aceitação
  • 28. Resultados do teste de aceitação  Teste de Aceitação Formal – Os testes podem ser uma nova implementação dos testes do sistema. • Geralmente não são identificados novos problemas já que são procurados apenas os defeitos já esperados. – Os critérios de aceitação são conhecidos. • O relatório final consiste em informar se os critérios de aceitação foram ou não atendidos e qual é o impacto do não atendimento deles, quando eles falharem ou não puderem ser verificados.
  • 29. Resultados do teste de aceitação  Teste de Aceitação informal – Teste Alfa • Os usuários finais podem se adaptar à forma como o sistema funciona e não encontrar defeitos. • Os usuários finais podem se concentrar na comparação do novo sistema com um sistema antigo, em vez de procurar defeitos. – Identificação de melhorias ou alterações ao invés de defeito. • São revelados defeitos subjetivos. • Os critérios de aceitação são conhecidos e estão relacionados aos roteiros ou cenários exercitados durante os testes. – O relatório final consiste em informar se os critérios de aceitação foram ou não atendidos e qual é o impacto do não atendimento deles, quando eles falharem ou não puderem ser verificados
  • 30. Resultados do teste de aceitação  Teste de Aceitação informal – Teste Beta • Nem todas as funcionalidades podem ser testadas. • Os usuários finais podem se adaptar à forma como o sistema funciona e não encontrar defeitos. • Os usuários finais podem se concentrar na comparação do novo sistema com um sistema antigo, em vez de procurar defeitos. – Identificação de melhorias ou alterações ao invés de defeito. • Aumenta a satisfação do cliente para aqueles que participam. • São revelados defeitos subjetivos. • Os critérios de aceitação não são conhecidos. – O relatório final consiste na apresentação dos defeitos identificados pelos participantes durante os testes e da declaração deles quanto à satisfação e ao aceite do produto;
  • 31. Teste de Aceitação em processos ágeis
  • 32. Teste de aceitação em processos ágeis  São escritos pelo cliente – Durante a escrita da histórias de usuários o cliente define pontos de verificação • O ponto de verificação permite verificar se o sistema atende determinada funcionalidade associada à história de usuário. • Os pontos de verificação são utilizados na escrita de testes de aceitação (ou Story Test, ou Customer Test) que descrevem cenários (de sucesso ou não) que contemplam a expectativa do cliente em relação a uma determinada funcionalidade ou à história de usuário. – Deve existir pelo menos um teste de aceitação para cada história de usuário. – Uma história de usuário só pode ser considerada acabada quando seus testes de aceitação executarem completamente.
  • 33. Teste de aceitação em processos ágeis  Pode ser automatizado – Permitindo a realização de testes de regressão durante todo o período de desenvolvimento do software e garantindo que as histórias de usuários continuam sendo atendidas apesar das modificações realizadas no sistema.  Papel importante no refinamento da análise – Além de garantir o correto funcionamento do sistema o teste de aceitação pode ser utilizado para refinar a análise e garantir que a equipe esteja sempre trabalhando naquilo que é importante para o cliente.
  • 35. Conclusão  Determinada falhas em produção podem ser dramáticas, podem ter prejuízos irreversíveis e podem apresentar um custo muito alto para a organização.  Invista na qualidade dos testes de aceitação! Falha de paraquedas a 1.500 metros de altura. (Mar/2012)
  • 37. Referências Bibliográficas  Pressman, R. S. (2006). Engenharia de Software. Mcgraw-Hill, 6 a edição edição.  Filho, W. P. P. (2003). Engenharia de Software: Fundamentos, Métodos e Padrões. LTC, 2 a edição edição.  Syllabus Fundation, BSTQB, versão 2011br. Disponível em http://www.bstqb.org.br  Glossário de termos, BSTQB, versão 2.1.1br. Disponível em http://www.bstqb.org.br  RUP,IBM, versão 2002.05.00 Português. Disponível em http://www.wthreex.com/rup/index.htm