Palestra Teste de Software: princípios, ferramentas e carreira

1.422 visualizações

Publicada em

A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.

Publicada em: Software
  • Seja o primeiro a comentar

Palestra Teste de Software: princípios, ferramentas e carreira

  1. 1. Teste de Software: princípios, ferramentas e carreira
  2. 2. • Formação acadêmica - Graduada em Engenharia da Computação - Pós-graduanda em Gerenciamento de Projetos • Experiência Profissional - Analista de Teste no Grupo Assessor Taís Dall’Oca
  3. 3. Agenda • Por que testar? • O que é Teste de Software • Processo de Teste • Níveis de Teste • Tipos de Teste • Ferramentas • Carreira
  4. 4. Os testes estão no nosso dia a dia
  5. 5. O que testar em um celular?
  6. 6. Mas por que testar? Somente o processo de desenvolvimento não garantirá que o produto esteja livre de defeitos; Os testes indicam a presença de defeitos no produto; Gastos com retrabalho; Maior tempo gasto devido à manutenção do produto; Insatisfação dos clientes; Imagem negativa da organização para presentes ou futuros clientes;
  7. 7. Os usuários querem USAR o produto e não ENTENDÊ-LO!
  8. 8. Motivação Bug faz usuários descobrirem se são populares no Facebook. Fonte: Olhar Digital
  9. 9. Motivação Falha no site da American Airlines permite passagens de graça para o Brasil. Fonte: Fábrica de Testes
  10. 10. Motivação Galaxy S6 Edge tem falhas de segurança, inclusive no E-mail; Google alerta. Fonte: Techtudo
  11. 11. Erro, defeito ou falha? • O ser humano está sujeito a cometer um erro (engano) Erro • Que produz um defeito (bug) no código ou documento Defeito • Se um defeito no código for executado, o sistema irá falhar Falha
  12. 12. A importância...
  13. 13. Ou seja,
  14. 14. FUNCIONALIDADE –> SATISFAÇÃO DAS NECESSIDADES EFICIÊNCIA –> RÁPIDO E ‘ENXUTO’ MANUTENIBILIDADE –> FACILIDADE DE MANUTENÇÃO CONFIABILIDADE –> IMUNIDADE A FALHAS USABILIDADE –> FACILIDADE DE USO PORTABILIDADE –> USO EM OUTROS AMBIENTES Dimensões da Qualidade
  15. 15. Teste de Software Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (Myers, 1979) Testar é qualquer atividade que, a partir da avaliação de um atributo ou capacidade, permita determinar se o programa ou sistema obtém resultados desejados (Hetzel, 1988)
  16. 16. Teste de Software Testes podem possuir objetivos diferentes: • Encontrar defeitos. • Ganhar confiança sobre o nível de qualidade. • Prover informações para tomada de decisão. • Prevenir defeitos. (Syllabus, 2011) Testar é verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e se não está fazendo o que não deveria fazer. (Rios, Cristalli, Moreira e Souza, 2003)
  17. 17. #1: Equipe de Testes X Desenvolvimento e Analistas A equipe de testes não é inimiga da equipe de desenvolvimento e nem dos analistas de requisitos. Alguns "pré-conceitos" e algumas dicas sobre testes de software #2: Pessoas menos qualificadas A equipe de testes não pode ser composta por pessoas menos qualificadas ou servir como um trabalho temporário. Teste de Software
  18. 18. Alguns "pré-conceitos" e algumas dicas sobre testes de software Teste de Software #3: No final do desenvolvimento Os testes não devem ser iniciados no final do desenvolvimento. #4: Não há mais nenhum defeito Não é o objetivo da equipe de testes garantir que o sistema não tenha mais nenhum defeito.
  19. 19. #5: Não somos programadores Os membros da equipe de testes não são programadores, portanto a equipe de desenvolvimento deve tentar nos explicar da melhor forma o que está acontecendo no sistema. Nos ajudem. :) #6: Comunicação entre as equipes é TUDO! Surgiu uma dúvida? Pergunte, esclareça, não deixe para depois. Isso serve para todas as equipes! Alguns "pré-conceitos" e algumas dicas sobre testes de software Teste de Software
  20. 20. Teste de Software As características de bons testadores: • Aprendizado contínuo; • Capacidade analítica (ler nas entrelinhas, ter opinião crítica e analítica sobre o assunto); • Boa comunicação (verbal e escrita); • Criativo; • Perfeccionista; • Observador; • Detalhista;
  21. 21. Processo de Teste Requisitos Implementação Design Verificação e Validação Operação e Manutenção Modelo em cascata (modelo antigo) Teste era custo!
  22. 22. Processo de Teste Teste é investimento! Desenvolvimento Testes
  23. 23. Verificação Validação Estamos desenvolvendo o produto corretamente? Estamos desenvolvendo o produto correto?
  24. 24. Estratégias Tipos de Teste (o que testar) Técnicas de Teste (como testar) Níveis de Teste (quando testar)
  25. 25. Níveis de Teste UNIDADE INTEGRAÇÃO SISTEMA ACEITAÇÃO Testes unitários. Explorar a menor unidade do projeto. Falhas associadas às interfaces entre os módulos. Verificar se o produto satisfaz seus requisitos. Realizado por grupo de usuários. Verificar se o produto está de acordo com o solicitado.
  26. 26. Técnicas de Teste ESTRUTURAL FUNCIONAL Garantir que os softwares sejam estruturalmente sólidos e funcionem no contexto técnico onde serão instalados. Garantir o atendimento aos requisitos, ou seja, que os requisitos foram corretamente codificados.
  27. 27. Tipos de Teste CARGA (STRESS) RECUPERAÇÃO SEGURANÇA CONFORMIDADE OPERAÇÃO EXECUÇÃO REGRESSÃOREQUISITOS SUPORTE MANUAL TRATAMENTO DE ERROS INTEGRAÇÃO CONTROLE PARALELOS EXPLORATÓRIO
  28. 28. O “Quadrante Mágico” do Teste Ágil Criado por Brian Marick que sugeriu uma série de técnicas de testes para diferentes categorias.
  29. 29. Artefatos Planos de teste Casos de teste Projetos de teste Roteiros de teste Checklists Relatórios Cenários de teste Incidentes Scripts automatizados
  30. 30. Categorização das ferramentas: 1. Ferramentas de automação de testes de regressão; 2. Ferramentas para gestão de defeitos; 3. Ferramentas para testes de Performance/Stress; 4. Ferramentas manuais; 5. Ferramentas de rastreabilidade; 6. Ferramentas de cobertura de código; 7. Ferramentas para gestão de testes; 8. Ferramentas de apoio à execução dos testes; Ferramentas
  31. 31. Ferramentas no ciclo de vida dos testes DEFINIÇÃO DOS REQUISITOS TESTEIMPLEMENTAÇÃOPROJETO IMPLANTAÇÃO Ferramentas de apoio Automação de testes Gestão de defeitos Gestão de testes Gestão de projetos Controle de versões
  32. 32. Ferramentas Atualmente, existem muitas ferramentas open source e gratuitas. Testes de performance •JMeter •OpenSTA Gestão de defeitos •Mantis •Bugzilla Testes funcionais •Selenium (WEB) •Watir (WEB) •SoapUI Gestão de testes •TestLink •TestMaster •Testitool Gestão de projetos •phpCollab •ProjectKoach Gestão de requisitos •OSRMT •Plandora
  33. 33. Ferramentas O TestComplete é uma solução completa para a automação de testes funcionais de aplicações desktop, mobile e aplicações Web para a plataforma Windows. Algumas vantagens: Os testes não consomem muito tempo. Os testes repetitivos podem ser executados com maior facilidade. Testes em vários ambientes, navegadores, entre outros. Testes funcionais, de desempenho, estresse, segurança e muitos outros podem ser realizados. Algumas desvantagens: Custo alto. Exige conhecimento em programação. Testes de usabilidade não serão possíveis.
  34. 34. Carreira Gerente de Teste Analista de Teste Líder de Teste Analista de Automação de Teste Arquiteto de Teste Tester
  35. 35. Certificações ALATS (Associação Latino Americana de Teste de Software) CBTS: Certificação Brasileira em Teste de Software ISTQB (International Software Testing Qualification Board) CTFL : Certified Tester, Foundation Level CTAL-TA: Advanced Level Test Analyst CTAL-TM: Advanced Level Test Manager CTAL-TTA: Advanced Level Technical Test Analyst QAI (Quality Assurance Institute) CAST : Certified Associate in Software Testing CSTE : Certified Software Tester CSQA : Certified Software Quality Analyst CSPM : Certified Software Project Manager
  36. 36. Certificações Quais são as vantagens? • Melhoria do prestígio e da imagem; • Aumento da competitividade e entrada em novos mercados; • Aumento da confiança dos trabalhadores, clientes e administração; • Redução de custos; • Melhoria das técnicas, conhecimentos e produtividade; • Mercados internacionais ou específicos;
  37. 37. Existem outros caminhos... Livros Lisa Crispin e Janet Gregory Emerson Rios Anderson Bastos Ricardo Cristalli Trayahú Moreira Alexandre Bartié
  38. 38. Existem outros caminhos... Eventos
  39. 39. Existem outros caminhos... Blogs Crowdtest -> crowdtest.me/blog Qualister -> www.qualister.com.br/blog Elias Nogueira -> eliasnogueira.com/blog Qualidade de Software -> qualidade-de- software.blogspot.com.br
  40. 40. taisdalloca.blogspot.com.br taisdalloca@assessorpublico.com.br
  41. 41. Pra descontrair!
  42. 42. OBRIGADA!

×