Papéis em Teste e Qualidade de Software

14,285 views

Published on

Palestra apresentada por Camilo Ribeiro para a PUC Minas na Semana de Sistemas de Informação 2010

Published in: Career
2 Comments
13 Likes
Statistics
Notes
No Downloads
Views
Total views
14,285
On SlideShare
0
From Embeds
0
Number of Embeds
256
Actions
Shares
0
Downloads
39
Comments
2
Likes
13
Embeds 0
No embeds

No notes for slide

Papéis em Teste e Qualidade de Software

  1. 1. Teste de Software <br />Papéis e Oportunidades<br />Camilo Ribeiro<br />The Bug Bang Theory<br />
  2. 2. Camilo Falcão Ribeiro<br /><ul><li>Engenheiro de Teste, Engenheiro de Processos e Recrutador na Squadra Tecnologia;
  3. 3. Mais de quatro anos atuando em Teste de Software e Processos;
  4. 4. Participação em mais de 40 projetos de Software;
  5. 5. Participação em projetos de implantação do CMMi (todos os níveis);
  6. 6. Graduado em Sistemas para Internet pela Faculdade Pitágoras;
  7. 7. Pós graduando em Engenharia de Software pela UFMG;
  8. 8. Certificado como especialista em Teste de Software pelo ISTQB e ALATS;
  9. 9. Membro do comitê de inovação em Teste de Software ALATS;
  10. 10. Mantedor do blog técnico www.bugbang.com.br;
  11. 11. Especialista em implementação e customização da ferramenta TestLink.</li></li></ul><li>No início: O programador<br />Responsável por: coletar requisitos, analisar e desenhar a solução, implementar o código, criar a massa de dados, negociar com os clientes, testar o produto. . .<br />Resultado:<br />Defeitos funcionais, baixa conformidade do produto com os verdadeiros requisitos, cronogramas irreais, baixa usabilidade, custo excessivo, entre outros problemas.<br />
  12. 12. Engenharia de Software<br />Engenharia de software é uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.<br />Segundo Friedrich Ludwig Bauer, "Engenharia de Software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais". <br />O próprio significado de engenharia já traz os conceitos de criação, construção, análise, desenvolvimento e manutenção.<br />
  13. 13. Rational Unified Process<br />O RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo proprietário de Engenharia de software criado pela Rational Software Corporation, adquirida pela IBM, tornando-se uma das principais referências na área de Software, fornecendo técnicas a serem seguidas pelos membros da equipe de desenvolvimento de software com o objetivo de aumentar a sua produtividade e qualidade.<br />
  14. 14. Papéis<br />
  15. 15. Defeitos!<br />
  16. 16. Custo do Defeito<br />Custo relativo para corrigir um defeito. Adaptado de (BOEHM, 1981).<br />Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996).<br />
  17. 17. Importante!<br />Papel != Cargo<br />O RUP usa uma analogia onde os colaboradores de um projeto trocam de “chapéus” várias vezes durante o processo de desenvolvimento de software.<br />Se assume o papel de gerente de Configuração, não quer dizer que é um Gerente<br />
  18. 18. Papéis em Qualidade de Software<br />Liderança <br />Gestão de projetos<br />Organizacional<br />Negócios e Processos<br />Técnica<br />Arquitetura de Software<br />
  19. 19. Testador<br />O Testador é o primeiro passo na carreira bem sucedida de qualquer profissional de teste de software.<br />Todos nós, independente do cargo, temos que usar o chapéu de Testador durante toda a nossa carreira<br />O papel de testador é o primeiro e mais representativo papel da disciplina de teste de software. O único completamente indispensável em um processo de software, seja lá qual for, desde a existência do teste dentro do ciclo de vida da produção de software. <br />Em suma, o Testador é o profissional que realiza a maior parte da execução dos testes, podendo ou não seguir procedimentos formais.<br />Mesmo um profissional que atue somente no papel de Testador, é muito importante que ele seja treinado, que estude a aplicação das técnicas e que entenda qual é a importância que o trabalho que ele está realizando tem para a equipe do projeto.<br />
  20. 20. Analista de Teste<br />Segundo o RUP, o Analista de testes possui atribuições mais relacionadas à criação dos testes e análise dos requisitos do que à execução dos testes. Ele é responsável por definir o que deve ser testado, quais os resultados são esperados para cada um dos testes, identificar mudanças necessárias na documentação dos testes e detalhar os testes que devem ser executados pelo Testador.<br />Analistas de teste trazem benefícios de testes melhor documentados, medidos e analisados do ponto de vista da cobertura, medições de defeitos, processo de teste melhor definido, maior probabilidade de atendimento dos requisitos (principalmente funcionais), senso crítico mais apurado, melhor auto-gerenciamento e consequentemente melhoria da eficácia e eficiência dos testes do que em organizações com apenas Testadores<br />Características importantes para um Analista de Teste:Boa habilidade analítica, uma mente desafiadora e curiosa, atenção aos detalhes e tenacidade, entendimento de falhas de software comuns, conhecimento do domínio, conhecimento do sistema ou aplicativo em teste, experiência em vários esforços de teste.<br />
  21. 21. Carreira em Liderança<br />Gerente de Teste<br />Líder de Teste Belo Horizonte<br />Líder de Teste São Paulo<br />Equipe<br />Coordenador de Teste<br />Núcleo Java<br />Coordenador de Teste<br />Projeto X<br />Coordenador de Teste<br />Projeto X<br />Equipe<br />Equipe<br />Equipe<br />“Planejar, acompanhar e organizar o trabalho da equipe, fazendo o controle de todos os projetos de testes, deixando o “caminho” do analista de teste livre para executar o seu trabalho, não se preocupando com assuntos extras, normalmente gerenciais.” – Robson Agapito<br />
  22. 22. Carreira Organizacional<br />Processo Abstrato<br />Processo Organizacional<br />Garantia de Qualidade<br />Processo Adaptado<br />Processo Adaptado<br />Processo Adaptado<br />Projeto A<br />Projeto B<br />Projeto C<br />"Podemos imaginar a seguinte analogia: Os engenheiros são os três poderes: O Engenheiro de Processos é o Legislativo, pois ele define o que deve ser feito e como deve ser feito o processo. O Engenheiro de Qualidade é o judiciário, pois ele avalia e julga como os projetos estão sendo realizados de acordo com o processo definido. E os engenheiros de software são o executivo, pois eles executam as atividades definidas pelo legislativo e julgadas pelo judiciário.” – Prof. Dr. Wilson de Pádua Paula Filho<br />
  23. 23. Carreira Técnica<br />Projeto X<br />Planejamento Estratégico do Teste<br />Requisitos não funcionais<br />(Testabilidade, eficiência, usabilidade, etc.)<br />Automação<br />Os engenheiros (Técnicos) de testes procuram qualificar-se de forma a atender projetos de forma analítica e sistemática, sempre ponderando as decisões técnicas e tecnologias usadas para melhor desempenho durante todas as atividades de teste no projeto. A escolha das ferramentas de automação, a análise dos requisitos não funcionais, o conhecimento das limitações das linguagens, frameworks e bancos dados também são pontos que um bom técnico de testes deve observar.<br />
  24. 24. O Perfil do Analista de Testes<br />Pesquisa realizada pelo Cristiano Caetano em 2007 (pesquisa 2010 em andamento www.testexpert.com.br)<br />Pesquisa Completa: “Cargos e Salários - Quanto ganha o profissional de teste e qualidade de software.pdf”<br />
  25. 25. O Perfil do Analista de Testes<br />Segundo o RUP: “O Analista de Teste identifica e define os testes exigidos, monitora o processo de teste em detalhes e os resultados em cada ciclo de teste e avalia a qualidade geral. Essa função também representa os investidores que não têm representação direta ou regular no projeto.”<br />
  26. 26. Mitos sobre Testadores<br />Testar é fácil: Entre 20 a 50% do esforço de um projeto é teste de software<br />Testador é aquele que não aprendeu a programar: E os engenheiros (Técnicos)? Analistas de requisitos, negócios, gerentes, coordenadores e outros envolvidos também não aprenderam a programar? Engenharia de software é trabalho em equipe!<br />O Teste é uma fase após todas as outras: Teste de Software deve participar desde a pré venda dos projetos de software até a produção e remoção.<br />Testadores são menos qualificados, ou podem ser estagiários: Tudo bem, se acredita que o seu cliente pode receber os defeitos provenientes de testes mal planejados, desenhados, executados e medidos. <br />Testes são dispensáveis em projetos com tempo e custo estourando: Além do tempo e do custo, a qualidade também ficará prejudicada?<br />Todo BUG é culpa do desenvolvedor: A literatura e a experiência nos mostram que menos da metade dos defeitos do software são provenientes de erros dos programadores.<br />
  27. 27. Certificações<br />Certificação Brasileira de Teste de Software:Associação Latino-Americada de Teste de Software <br />www.alats.org.br<br />Certified Tester Foundation Level;<br />Certified Tester Advanced Level; International Software Testing Qualifications Boarder <br />www.bstqb.org.br<br />Certified Associate in Software Testing (CAST);<br />Certified Software Quality Analyst (CSQA);<br />Certified Software Tester (CSTE):Quality Assurance Institute<br />www.qaibrasil.com.br/<br />Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008<br />
  28. 28. Atualização é Importante!<br />
  29. 29. Oportunidades para o Futuro<br />
  30. 30. Oportunidades Hoje!<br />
  31. 31. Esse material é fruto de trabalho em equipe!<br />•Adriel Moro<br />•Delson Flávio<br />•Eduardo Gomes<br />•Elias Nogueira<br />•Fabíola Lara<br />•Fabrício Campos<br />•Lucas Conde<br />•Marlon Lima<br />•Ricardo Antunes<br />•Robson Agapito<br />•Thais Sabará<br />
  32. 32. Esse material foi inspecionado!<br />Obrigado:<br />• Amanda Magalhães<br />• Raquel Furtado<br />• Vanessa Vaz<br />E ainda deve ter alguns bugs . . . <br />
  33. 33. Dúvidas?<br />camilo@camiloribeiro.com.br - www.bugbang.com.br<br />
  34. 34. Bibliografia<br />•Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1.<br />•BOEHM, B.W., 1981, Software Engineering Economics, Prentice Hall.<br />•WHEELER, D.A., BRYKEZYNSKI, B., MEESON, R.N., 1996, Software Inspections: AnIndustry Best Practice, IEEE ComputerSociety.<br />• PRESSMAN, R.S., 2001, Software Engineering: A Practitioner´s Approach, Fifth Edition, McGraw Hill.<br />•ISQTQB Glossário de termosusados no Teste de Software Versão 1.0<br />•FoundationLevel ISTQB Syllabus, ISTQB<br />•Analista de Teste, Qualidade BR – Fabrício Ferrari Campos, http://qualidadebr.wordpress.com/2010/04/02/analista-de-teste/ 2010.<br />•Cargos e Salários - Quanto ganha o profissional de teste e qualidade de software, http://www.testexpert.com.br/?q=node/231,Testexpert.com.br – Cristiano Caetano, 2007.<br />•RationalUnifiedProcess® Base Plug-in, Versão 7.0.1, Baseada em: Base ConceptsPlug-in Versão: 1.0.1. IBM Corporation 2000, 2007.<br />•PÁDUA FILHO (2003), Wilson. Engenharia de Software– Fundamentos, Métodos e Padrões. 3ª Edição. LTC Editora, 2009.<br />•RIOS, E., MOREIRA, T., SOUZA, A., CRISTALLI, R . Base de Conhecimento em Teste de Software 2ª Edição. Martins, 2007.<br />• Peter, Naur; Brian Randell (7–11 October 1968). "Software engineering: Report of a conference sponsored by the NATO Science Committee”. Garmisch, Germany: Scientific Affairs Division, NATO. Retrieved 2008-12-26<br />
  35. 35. Muito Obrigado!<br />

×