UNIINFO 2010
           Mini-curso: Introdução
            ao Teste de Software




           UNIINFO - Semana da Informá...
UNIINFO 2010
           Mini-curso: Introdução
            ao Teste de Software       Apresentação
                       ...
UNIINFO 2010
           Mini-curso: Introdução
            ao Teste de Software       Apresentação
                       ...
UNIINFO 2010
                      Mini-curso: Introdução
                       ao Teste de Software       Apresentação
 ...
UNIINFO 2010
                      Mini-curso: Introdução

                                                              A...
UNIINFO 2010
               Mini-curso: Introdução
                ao Teste de Software




           Módulo I – Processo...
UNIINFO 2010
           Mini-curso: Introdução
            ao Teste de Software       O que é “teste de
                  ...
UNIINFO 2010
                        Mini-curso: Introdução
                         ao Teste de Software    O que é “test...
UNIINFO 2010
                   Mini-curso: Introdução
                    ao Teste de Software    O que é “teste de
     ...
UNIINFO 2010
                    Mini-curso: Introdução
                     ao Teste de Software         O que é “teste d...
UNIINFO 2010
                     Mini-curso: Introdução
                      ao Teste de Software     O que é “teste de
...
UNIINFO 2010
                         Mini-curso: Introdução
                          ao Teste de Software    Processo de...
UNIINFO 2010
                       Mini-curso: Introdução
                        ao Teste de Software    Processo de Tes...
UNIINFO 2010
                              Mini-curso: Introdução
                               ao Teste de Software     ...
UNIINFO 2010
                          Mini-curso: Introdução
                           ao Teste de Software    Processo ...
UNIINFO 2010
                          Mini-curso: Introdução
                           ao Teste de Software    Processo ...
UNIINFO 2010
                             Mini-curso: Introdução
                              ao Teste de Software    Pro...
UNIINFO 2010
                          Mini-curso: Introdução
                           ao Teste de Software    Processo ...
UNIINFO 2010
                          Mini-curso: Introdução
                           ao Teste de Software    Processo ...
UNIINFO 2010
                          Mini-curso: Introdução
                           ao Teste de Software    Processo ...
UNIINFO 2010
           Mini-curso: Introdução
            ao Teste de Software    Processo de Teste de
                  ...
UNIINFO 2010
                   Mini-curso: Introdução
                    ao Teste de Software    Processo de Teste de
  ...
UNIINFO 2010
            Mini-curso: Introdução
             ao Teste de Software    Processo de Teste de
                ...
UNIINFO 2010
                  Mini-curso: Introdução
                   ao Teste de Software    Processo de Teste de
    ...
UNIINFO 2010
                   Mini-curso: Introdução
                    ao Teste de Software    Processo de Teste de
  ...
UNIINFO 2010
                 Mini-curso: Introdução
                  ao Teste de Software    Processo de Teste de
      ...
UNIINFO 2010
                Mini-curso: Introdução
                 ao Teste de Software    Processo de Teste de
        ...
UNIINFO 2010
             Mini-curso: Introdução
              ao Teste de Software




           Módulo II – Técnicas de...
UNIINFO 2010
                 Mini-curso: Introdução
                  ao Teste de Software    Técnicas de Teste de
      ...
UNIINFO 2010
                Mini-curso: Introdução
                 ao Teste de Software    Técnicas de Teste de
        ...
UNIINFO 2010
                Mini-curso: Introdução
                 ao Teste de Software       Teste de Caixa
           ...
UNIINFO 2010
                 Mini-curso: Introdução
                  ao Teste de Software      Teste de Caixa
          ...
UNIINFO 2010
                  Mini-curso: Introdução

                                             Teste de Caixa Preta
 ...
UNIINFO 2010
                 Mini-curso: Introdução

                                          Teste de Caixa Preta
     ...
UNIINFO 2010

                                          Teste de Caixa Branca
                 Mini-curso: Introdução
    ...
UNIINFO 2010
                    Mini-curso: Introdução
                     ao Teste de Software         Teste de
       ...
UNIINFO 2010
                    Mini-curso: Introdução
                     ao Teste de Software      Teste de
          ...
UNIINFO 2010
                      Mini-curso: Introdução
                       ao Teste de Software      Teste Baseado e...
UNIINFO 2010
                     Mini-curso: Introdução

                                               Teste de Regressã...
UNIINFO 2010
                     Mini-curso: Introdução

                                              Teste Automatizado...
UNIINFO 2010
                       Mini-curso: Introdução

                                                     Teste Exp...
UNIINFO 2010
               Mini-curso: Introdução
                ao Teste de Software




           Módulo III – Recurs...
UNIINFO 2010
                 Mini-curso: Introdução

                                          Recursos Físicos
         ...
UNIINFO 2010
                   Mini-curso: Introdução

                                                 Ferramentas
     ...
UNIINFO 2010
                  Mini-curso: Introdução

                                                  Ferramentas
     ...
UNIINFO 2010
                    Mini-curso: Introdução

                                                  Equipe de Teste...
UNIINFO 2010
                 Mini-curso: Introdução

                                              Equipe de Teste
      ...
UNIINFO 2010
                Mini-curso: Introdução

                                         Equipe de Teste
            ...
UNIINFO 2010
                  Mini-curso: Introdução

                                                     Equipe de Test...
UNIINFO 2010
                Mini-curso: Introdução

                                         Equipe de Teste
            ...
UNIINFO 2010
            Mini-curso: Introdução
             ao Teste de Software




           Considerações Finais
UNIS...
UNIINFO 2010
           Mini-curso: Introdução

                                         Visão geral
            ao Teste ...
UNIINFO 2010
                 Mini-curso: Introdução

                                          Considerações finais
     ...
UNIINFO 2010
                Mini-curso: Introdução

                                         Considerações finais
       ...
UNIINFO 2010
                   Mini-curso: Introdução
                    ao Teste de Software       Leis de Teste
      ...
UNIINFO 2010
           Mini-curso: Introdução
            ao Teste de Software




                      OBRIGADA!


    ...
UNIINFO 2010
                        Mini-curso: Introdução

                                                             ...
UNIINFO 2010
                      Mini-curso: Introdução

                                                 Alguns sites d...
Próximos SlideShares
Carregando em…5
×

Uniinfo2010 introdução teste de software - priscila coelho blauth2

3.780 visualizações

Publicada em

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.780
No SlideShare
0
A partir de incorporações
0
Número de incorporações
47
Ações
Compartilhamentos
0
Downloads
261
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Uniinfo2010 introdução teste de software - priscila coelho blauth2

  1. 1. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software UNIINFO - Semana da Informática UNISINOS – Mini-curso – UNISINOS 24 de maio de 2010 Priscila Coelho dos Santos Blauth (priscila.coelho.blauth@gmail.com) 1
  2. 2. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Apresentação Instrutora e Turma UNISINOS 2
  3. 3. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Apresentação Instrutora e Turma UNISINOS 3
  4. 4. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Apresentação Instrutora e Turma • Nome • Empresa em que trabalha, papel/atividades • O que sabes sobre qualidade de software? E sobre testes de software? • Qual expectativa do mini-curso? UNISINOS 4
  5. 5. UNIINFO 2010 Mini-curso: Introdução Agenda ao Teste de Software Módulo I – Processo de Teste de Software O que é teste de software, seus benefícios, vantagens e objetivos. Apresentação de conceitos básicos de qualidade de software e alternativas para garantir a qualidade do produto dentro do processo de desenvolvimento de software Módulo II – Técnicas e Estratégias de Teste de Software Visão geral das de uma seleção principais técnicas e estratégias de teste de software existentes no mercado, para contextualização. Módulo III – Recursos para o Teste na Organização UNISINOS Apresentação dos recursos humanos e físicos para a inserção de um processo de testes na organização, tipos de ferramentas essenciais. 5
  6. 6. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Módulo I – Processo de Teste de Software UNISINOS 6
  7. 7. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software O que é “teste de software”? “Teste de software é o processo de executar o programa com a intenção de encontrar bugs.” Glendford Myers, 1979 UNISINOS 7
  8. 8. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software O que é “teste de software”? "Os testes são técnicas de controle de qualidade que avaliam diretamente o produto que está sendo construído, atuando, basicamente, na identificação e remoção de erros. Devem ser conduzidos de forma sistemática, para que os mesmos sejam bem sucedidos.” PRESSMAN, 1992 “Testar o software é verificar se ele está fazendo o que deveria fazer, de acordo com os seus requisitos, e se não está fazendo o que não deveria fazer.” Emerson Rios, 2006 UNISINOS 8
  9. 9. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software O que é “teste de software”?  O teste prova que o software tem erros, e não que o software está livre deles! Os principais objetivos do teste são: Revelar as falhas do sistema, preferencialmente antes de entrar em produção Avaliar a qualidade do produto baseado em critérios objetivos UNISINOS 9
  10. 10. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software O que é “teste de software”? Porém, é impossível achar todos os bugs: Impossível testar todas as formas e alternativas de entrada de dados Impossível testar as diversas possibilidades e condições criadas pela lógica do programador UNISINOS Se não se pode descobrir todos os erros do sistema e não se poder afirmar que ele estará 100% correto, então... Por que testar? 10
  11. 11. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software O que é “teste de software”? Teste é uma abordagem de controle da qualidade – diferente da garantia da qualidade, que preocupa-se com implementação e melhoria dos processos de software em geral. Os testes de software devem ser realizados de forma sistemática, com seu processo definido e monitorado, perfis de profissionais e feramentas adequadas. O teste não deve ser uma atividade isolada no processo de desenvolvimento. Ele deve ocorrer em vários pontos, trazendo maior valor à empresa. UNISINOS 11
  12. 12. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software O que é um processo? É um conjunto de atividades interligadas entre si, que recebe entradas e gera saídas com valor agregado. Entradas Atividades Saídas UNISINOS 12
  13. 13. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • Um processo definido não tem o objetivo de engessar, mas sim de direcionar o esforço da organização para tarefas mais complexas; • Paraum processo ser maduro, deve ser institucionalizado, documentado, utilizado por todos e continuamente melhorado; UNISINOS • Modelos de melhoria de processo servem para guiar, e não para certificar. 13
  14. 14. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • Um processo serve para: • Direcionar atividades de uma equipe; • Especificar quais os artefatos devem ser elaborados e quando; • Definir responsabilidades e papéis e dirigir as tarefas de cada indivíduo e da equipe toda (incluindo cliente); • Definir critérios para monitoramento e medição dos produtos de cada fase e atividades do projeto. UNISINOS 14
  15. 15. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • O esquema a seguir mostra uma proposta de processo de testes genérico: Retirado de “Teste de Software”, Emerson Rios, 2006 Planejamento Procedimentos Especificação Execução Entrega iniciais Preparação UNISINOS Elaboração documento que sela acordo entre partes envolvidas – externas e internas da empresa. Possui informações sobre objetivos, equipe, avaliações de riscos 15
  16. 16. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • O esquema a seguir mostra uma proposta de processo de testes genérico: Retirado de “Teste de Software”, Emerson Rios, 2006 Planejamento Procedimentos Especificação Execução Entrega iniciais Preparação UNISINOS Elaboração/revisão do Plano de Testes, incluindo as estratégias que serão adoradas. 16
  17. 17. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • O esquema a seguir mostra uma proposta de processo de testes genérico: Retirado de “Teste de Software”, Emerson Rios, 2006 Planejamento Procedimentos Especificação Execução Entrega iniciais Preparação UNISINOS Preparação/manutenção do ambiente de testes, incluindo equipamentos, versões e ferramentas. 17
  18. 18. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • O esquema a seguir mostra uma proposta de processo de testes genérico: Retirado de “Teste de Software”, Emerson Rios, 2006 Planejamento Procedimentos Especificação Execução Entrega iniciais Preparação UNISINOS Elaboração e revisão dos casos de teste, testes estáticos 18
  19. 19. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • O esquema a seguir mostra uma proposta de processo de testes genérico: Retirado de “Teste de Software”, Emerson Rios, 2006 Planejamento Procedimentos Especificação Execução Entrega iniciais Preparação UNISINOS Execução dos testes conforme os casos de teste com registros desta execução 19
  20. 20. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software • O esquema a seguir mostra uma proposta de processo de testes genérico: Retirado de “Teste de Software”, Emerson Rios, 2006 Planejamento Procedimentos Especificação Execução Entrega iniciais Preparação UNISINOS Conclusão do processo de testes com a entrega do sistema em produção 20
  21. 21. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software UNISINOS Priscila Coelho Blauth - Software Process Consultoria Retirado de www.lgcnsglobal.com/Testing/Testing-Models.html 21
  22. 22. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software Na especificação/elicitação de requisitos: Revisar documentação (incoerência, ambigüidades, padrões) Verificar se todas os processos de negócio foram abordados Verificar se os requisitos estão corretos, completos, consistentes, testáveis... UNISINOS 22
  23. 23. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software UNISINOS Na análise: Verificar se todos os requisitos foram abordados Verificar inconsistência de regras Verificar testabilidade 23
  24. 24. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software Na arquitetura/projeto: Verificar possível incoerência na junção dos componentes Verificar completa comunicação entre as partes do software Verificar faltas/sobras na integração Verificar se “bate” com regras determinadas na análise UNISINOS 24
  25. 25. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software Na codificação: Verificar se está de acordo com o especificado Verificar se atende aos requisitos Verificar padrões de codificação e de usabilidade Verificar possíveis problemas de documentação UNISINOS 25
  26. 26. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software “A qualidade do produto de software depende da qualidade do processo para desenvolvê-lo.” Watts Humphrey UNISINOS 26
  27. 27. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Processo de Teste de Software Identifique os defeitos do produto e melhore o seu processo! UNISINOS Fonte: www.defectmanagement.com 27
  28. 28. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Módulo II – Técnicas de Teste de Software UNISINOS 28
  29. 29. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Técnicas de Teste de Software Técnicas de teste são formas sistemáticas de exercitar o produto de software com o intuito de identificar seus defeitos As técnicas de teste podem ser usadas independentemente dos paradigmas ou metodologias de desenvolivmento UNISINOS 29
  30. 30. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Técnicas de Teste de Software Existem várias técnicas atualmente. A seguir serão apresentadas as principais cujos conceitos básicos acabam gerando outras técnicas mistas Existem 2 principais abordagens das técnicas: estrutural e funcional UNISINOS 30
  31. 31. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Teste de Caixa Branca Também conhecido como glass box, white box ou caixa aberta É o teste estrutural do software Trabalha diretamente sobre o código-fonte do componente de software O testador (outro desenvolvedor) tem acesso ao código fonte da aplicação e pode construir códigos para efetuar a ligação de bibliotecas e componentes Técnica normalmente utilizada no teste de unidade, onde uma unidade do software (classe, método, função) é testado Também pode ser usada no teste de integração Pode ser necessária criação de drivers e stubs para apoiar na execução do teste - mocks UNISINOS Driver: exercita a unidade que se está testando – envio de valores, coleta e comparação de resultados Stub: quando é necessário substituir uma outra unidade ao qual a unidade que está sendo testada depende 31
  32. 32. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Teste de Caixa Branca No teste estrutural pode ser combinado critérios de seleção Normalmente se utiliza ferramenta para auxiliar nos testes Como é avaliado o código fonte, existem ferramentas específicas para cada linguagem Ex.: JUnit para Java UNISINOS 32
  33. 33. UNIINFO 2010 Mini-curso: Introdução Teste de Caixa Preta ao Teste de Software Também conhecido como black box Analisa apenas funcionalidade (entrada-saída) do programa Não analisa código Tipos de defeitos encontrados: Falhas de interface; Funções incorretas ou ausentes; Acesso a banco de dados; Erros de desempenho; Erros de inicialização e término. Baseado na especificação e em padrões definidos UNISINOS Procura verificar se todas as funcionalidades previstas foram implementadas e se respondem como esperado 33
  34. 34. UNIINFO 2010 Mini-curso: Introdução Teste de Caixa Preta ao Teste de Software Principais técnicas: Valor limite; Classes de equivalência; Tabelas de decisão; Baseada em estados. A aplicação das técnicas: Podem ser utilizadas isoladamente ou em conjunto; UNISINOS Auxiliam na identificação de um conjunto de casos de teste potencialmente revelador de falhas. 34
  35. 35. UNIINFO 2010 Teste de Caixa Branca Mini-curso: Introdução ao Teste de Software ou Caixa Preta? Técnicas se complementam. A escolha depende de uma série de fatores, como: Tipo do sistema Padrões que devem ser adotados Requisitos contratuais Objetivo dos testes Documentação disponível Conhecimentos dos testadores UNISINOS Investimentos disponíveis (tempo, recursos) Ciclo de vida de desenvolvimento Etc. 35
  36. 36. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Teste de Desempenho Tem como objetivo avaliar o comportamento da aplicação em condições de sobrecarga (com um determinado número de usuários interagindo simultaneamente com a aplicação), para identificar gargalos de hardware e software. Vantagens: Melhorar a qualidade das aplicações implantandas Identificar gargalos de software UNISINOS Dimensionar corretamente o hardware das suas aplicações Reduzir o risco de problemas no ambiente de produção Prever o comportamento da aplicação numa condição de carga 36
  37. 37. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Teste de Desempenho Pode-se gerar uma curva de degradação da aplicação, que é o comparativo do tempo de resposta em relação ao número de usuários simultâneos. Ex.: UNISINOS 37
  38. 38. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Teste Baseado em Riscos Os testes baseados em riscos são baseados nos riscos do negócio da aplicação Baseia-se na premissa de que se os defeitos mais “importantes” são achados mais cedo quando se tem um melhor planejamento e efetividade nos esforços despendidos para testar Uma boa análise de risco da aplicação permite tomar melhores decisões sobre a cobertura do teste, focando o esforço nos módulos/funcionalidades mais importantes. Algumas perguntas podem ser feitas no momento do levantamento: Que funcionalidades e atributos são críticos para o sucesso do produto? Quão grave é um problema numa funcionalidade ou atributo (para clientes, usuários, pessoas de fora)? UNISINOS Em que frequência esta funcionalidade é utilizada? Podemos “sobreviver” sem isso? 38
  39. 39. UNIINFO 2010 Mini-curso: Introdução Teste de Regressão ao Teste de Software É o re-teste do software após alguma modificação (como na correção de um defeito) Objetivos: Verificar se o problema foi efetivamente corrigido Verificar se outros erros não surgiram onde antes não havia Dificuldade: saber o quanto re-testar UNISINOS Dicas: Combinar casos de teste Automatizar o que for possível 39
  40. 40. UNIINFO 2010 Mini-curso: Introdução Teste Automatizado ao Teste de Software Servem para automatizar uma ou mais técnicas em um ou mais níveis de teste Não é milagroso – deve existir estrutura na organização “Um tolo com uma ferramenta continua sendo um tolo” Exemplos de usos: Teste de interface de unidades e verificação de assertivas Teste de GUI (capture/replay) Teste de carga e estresse Teste de desempenho/deteccção de gargalos UNISINOS Exemplos: TestComplete (Automated QA), Selenium, Mercury TestRunner, IBM Funciotnal Tester. 40
  41. 41. UNIINFO 2010 Mini-curso: Introdução Teste Exploratório ao Teste de Software Baseia-se na experiência, “feeling” do testador Quando aliado a outras técnicas formais ajuda a identificar testes especiais não identificados pelas abordagens formais A eficiência do teste dependerá muito da experiência e habilidade do testador Teste exploratório é, ao mesmo tempo, o design do teste, a execução e registro e aprendizado (do próprio software) O teste exploratório pode ser aplicado: Executar testes quando requisitos não estão completamente documentados Executar testes quando existe pouco tempo disponível Executar testes quando não se conhece o aplicativo a ser testado Executar testes em ambientes pouco testados pelos testes convencionais UNISINOS Identificação dos passos para tentar reproduzir um defeito aleatório Investigação de efeitos colaterais Investigação de defeitos semelhantes. 41
  42. 42. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Módulo III – Recursos para o Teste na Organização UNISINOS 42
  43. 43. UNIINFO 2010 Mini-curso: Introdução Recursos Físicos ao Teste de Software Ambiente de testes dedicado Sistema(s) operacional(is) adequado(s) Banco de dados em separado Atualizações de versões Máquinas Aparelhos externos – celular, automações, periféricos em geral UNISINOS Ferramentas de testes 43
  44. 44. UNIINFO 2010 Mini-curso: Introdução Ferramentas ao Teste de Software Todo o processo de software necessita de ferramentas de apoio Para o processo de testes, existem alguns tipos de ferramentas básicas: Ferramenta para registro e gestão de defeitos Ferramenta para documentação (plano de testes, casos de testes, casos de teste padrões) Ferramenta para controle do andamento do teste em relação ao seu escopo Outras: UNISINOS Ferramenta para registro de execução e gerenciamento de testes Ferramenta que contém o processo de teste (workflow) Ferramentas para teste automatizado e outros tipos de testes de requisitos não-funcionais 44
  45. 45. UNIINFO 2010 Mini-curso: Introdução Ferramentas ao Teste de Software Planilhas e processadores de texto servem como ferramentas básicas Ferramenta deve fornecer mínimas possibilidades de se extrair métricas Existem centenas de ferramentas no mercado, pagas e free, para vários tipos de utilidades (ex.: Bugzilla e Mantis – gestão de defeitos) Sites com indicações de ferramentas: http://www.testingfaqs.org/ http://www.opensourcetesting.org/ UNISINOS E-book “Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas”, de Cristiano Caetano. 45
  46. 46. UNIINFO 2010 Mini-curso: Introdução Equipe de Teste ao Teste de Software Ainda não há uma “padronização” de funções usualmente utilizada pelas empresas no Brasil Os papéis atualmente utilizados são: Executor de Teste Automatizador de Teste Em algumas empresas, a função Analista de Teste “Testador” executa 1 ou mais desses papéis Arquiteto de Teste Engenheiro de Teste Gerente de Teste UNISINOS Gerente Especialista Gerente Consultor Consultor Especialista em QA 46
  47. 47. UNIINFO 2010 Mini-curso: Introdução Equipe de Teste ao Teste de Software Alguns requisitos técnicos que podem ser avaliados: Conhecimentos gerais sobre as práticas e princípios de engenharia de software Conhecimento das práticas e princípios de teste de software Conhecimentos básicos sobre métodos e estratégias de teste Conhecimentos em Planejamento, Design e Execução de testes Habilidade de redação clara e objetiva, boa comunicação Facilidade de leitura e intrerpretação de textos Ter bom raciocínio lógico Conhecimentos de redes de computadores, banco de dados, sistemas operacionais UNISINOS Conhecimentos de gestão de configuração Habilidades para definir, coletar e analisar medidas de teste de software Conhecimentos básicos em ferramentas de automação 47
  48. 48. UNIINFO 2010 Mini-curso: Introdução Equipe de Teste ao Teste de Software Além da questão técnica, o profissional da área de testes deve ser: Detalhista, observador Pró-ativo Crítico Bom relacionamento interpessoal com vários papéis da equipe inclusive cliente UNISINOS 48
  49. 49. UNIINFO 2010 Mini-curso: Introdução Equipe de Teste ao Teste de Software Atualmente existem 4 principais certificações em teste de software disponíveis no Brasil: Internacionais: QAI (Quality Assurance Institute) - www.qaiworldwide.org CAST – Certified Associate in Software Testing CSTE - Certified Software Tester ISBTQ (International Software Testing Qualifications Boarding) - www.istqb.org, no Brasil representado pelo BSTQB (Brazilian Software Testing Qualification Board) - www.bstqb.org.br CTFL – Certified Tester, Foundation Level CTAL – Certified Tester Advanced Level Nacionais: UNISINOS IBQTS (Instituto Brasileiro de Qualidade em Testes de Software) - http://www.ibqts.com.br/ ALATS (Associação Latino-Americana de Teste de Software) - http://www.alats.org.br CBTS (Certificação Brasileira de Teste de Software) 49
  50. 50. UNIINFO 2010 Mini-curso: Introdução Equipe de Teste ao Teste de Software Modelos organizacionais: Por projeto – parte da equipe ou por área em separado; Por habilidades – alocados de acordo com a necessidade do projeto; Fábrica de teste – teste tratado como um projeto em separado, por equipe especializada. UNISINOS 50
  51. 51. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Considerações Finais UNISINOS 51
  52. 52. UNIINFO 2010 Mini-curso: Introdução Visão geral ao Teste de Software Existem diferentes técnicas e aplicabilidades que dependem do objetivo do negócio e das características do sistema Os testes podem ser aplicados nas diferentes fases do desenvolvimento do software A equipe responsável não deve estar diretamente subordinada ao projeto UNISINOS Como para o desenvolvimento de software, a atividade de testes requer um processo definido com atividades, ferramentas, papéis e responsabilidades... 52
  53. 53. UNIINFO 2010 Mini-curso: Introdução Considerações finais ao Teste de Software O processo de teste deve ser documentado Ferramentas para controle são essenciais Os critérios de qualidade do testador deve ser o mesmo do início ao fim do projeto. A decisão de corrigir ou não um bug que pareça “bobo” no final do projeto não cabe ao testador, deve ser de responsabilidade da gerência; Não confie na memória – nem na sua, nem na do desenvolvedor. Documente, cadastre todas as falhas mesmo que ele diga “Peraí que eu já corrijo isso!”. Não esqueça que a documentação da falha é essencial para UNISINOS o testador, e o reteste pode acontecer horas ou dias depois da detecção. 53
  54. 54. UNIINFO 2010 Mini-curso: Introdução Considerações finais ao Teste de Software Os objetivos do teste são: Verificar as regras de negócio Verificar padrões Verificar usabilidade... MAS também: não deixar o usuário fazer “bobagens”. O testador deve se colocar no lugar do usuário. E lembre-se: NUNCA SUBESTIME UM USUÁRIO! UNISINOS 54
  55. 55. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software Leis de Teste (incluindo Murphy) Se alguma coisa pode dar errado, ela dará Qualquer programa não-trivial contém pelo menos 1 bug Sempre haverá mais 1 bug Qualquer erro pode se esconder, não antes da aplicação já estar em produção durante 6 meses é que será descoberto o pior dos bugs Nada é tão fácil quanto parece Não existe nenhum trabalho tão simples que não possa ser feito errado Todos superam sua capacidade de incompetência, porém, nunca haverá testadores suficientes. UNISINOS Se construtores construíssem prédios do modo como programadores constróem software, então o primeiro pica- pau destruiria uma civilização. 55
  56. 56. UNIINFO 2010 Mini-curso: Introdução ao Teste de Software OBRIGADA! Priscila Coelho Blauth priscila.coelho.blauth@gmail.com UNISINOS 56
  57. 57. UNIINFO 2010 Mini-curso: Introdução Referências ao Teste de Software Emerson Rios e Trayahú Moreira – Teste de Software -2ª edição. Alta Books, 2006. Cem Kaner – Improve the Power of Your Tests with Risk-Based Test Design. Conferência de Testes Baseados em Riscos, Florida, 2008. Rajnikant Puranik – The Art of Creative Destruction. SPD, 2005. Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler – The Art of Software Testing. Wiley, 1979 Kleber G. Greco, Ricardo Cristalli – Referência Complementar – CBTS. 2007 Alexandre Bartie – Garantia da Qualidade de Software. Campus, 2002. Taisy Silva Weber – Tolerância a falhas: conceitos e exemplos. Programa de Pós-Graduação em Computação - Instituto de Informática – UFRGS. Juliana Herbert – Formação em Teste de Software. UNISINOS, 2004. Fábio Oliveira – Capacitação em Técnicas de Teste de Software. PUCRS, 2003. Cristiano Caetano – Testes Exploratórios de A a Z. Retirado de http://www.linhadecodigo.com.br/Artigo.aspx?id=1102. Driving Software Quality – Lisa Crispin. Revista IEEE Software – dez/2006. Volume 3 número 6. UNISINOS IEEE Standard for Software Test Documentation - IEEE Std 829-1998. IEEE, 1998 KOOMEN, Tim et al. Tmap Next, for result-driven testing. UTN Publishers, 2006. POL, Martin; TEUNISSEN, Ruud & VEENENDAAL, Erik. Software Testing: A Guide to the Tmap® Approach. Addison-Wesley Professional, 2001. KOOMEN, Tim & POL, Martin. Test Process Improvement: A Practical Step-by-Step Guide to Structured Testing. Addison-Wesley Professional, 1999. 57
  58. 58. UNIINFO 2010 Mini-curso: Introdução Alguns sites da área ao Teste de Software Sites: www.testexpert.com www.badsoftware.com www.stickyminds.com www.testing.com Software Quality Institute: http://lifelong.engr.utexas.edu/sqi/index.cfm ALATS: www.alats.org.br http://www.testingcraft.com http://testinggeek.com/ Blogs: http://guts-rs.blogspot.com/ UNISINOS http://sembugs.blogspot.com http://gtsw.blogspot.com/ http://testbugs.blogspot.com/ 58

×