Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Papéis em Teste e Qualidade de Software

14,811 views

Published on

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

Published in: Career

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 />

×