O documento discute a carreira em teste de software, apresentando diferentes papéis como testador, analista de teste e liderança. Também aborda conceitos como engenharia de software, Rational Unified Process e mitos sobre testadores. Por fim, lista certificações e bibliografia sobre o tema.
12. Engenharia de Software 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. 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". O próprio significado de engenharia já traz os conceitos de criação, construção, análise, desenvolvimento e manutenção.
13. Rational Unified Process 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.
16. Custo do Defeito Custo relativo para corrigir um defeito. Adaptado de (BOEHM, 1981). Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996).
17. Importante! Papel != Cargo 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. Se assume o papel de gerente de Configuração, não quer dizer que é um Gerente
18. Papéis em Qualidade de Software Liderança Gestão de projetos Organizacional Negócios e Processos Técnica Arquitetura de Software
19. Testador O Testador é o primeiro passo na carreira bem sucedida de qualquer profissional de teste de software. Todos nós, independente do cargo, temos que usar o chapéu de Testador durante toda a nossa carreira 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. Em suma, o Testador é o profissional que realiza a maior parte da execução dos testes, podendo ou não seguir procedimentos formais. 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.
20. Analista de Teste 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. 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 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.
21. Carreira em Liderança Gerente de Teste Líder de Teste Belo Horizonte Líder de Teste São Paulo Equipe Coordenador de Teste Núcleo Java Coordenador de Teste Projeto X Coordenador de Teste Projeto X Equipe Equipe Equipe “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
22. Carreira Organizacional Processo Abstrato Processo Organizacional Garantia de Qualidade Processo Adaptado Processo Adaptado Processo Adaptado Projeto A Projeto B Projeto C "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
23. Carreira Técnica Projeto X Planejamento Estratégico do Teste Requisitos não funcionais (Testabilidade, eficiência, usabilidade, etc.) Automação 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.
24. O Perfil do Analista de Testes Pesquisa realizada pelo Cristiano Caetano em 2007 (pesquisa 2010 em andamento www.testexpert.com.br) Pesquisa Completa: “Cargos e Salários - Quanto ganha o profissional de teste e qualidade de software.pdf”
25. O Perfil do Analista de Testes 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.”
26. Mitos sobre Testadores Testar é fácil: Entre 20 a 50% do esforço de um projeto é teste de software 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! 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. 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. 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? 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.
27. Certificações Certificação Brasileira de Teste de Software:Associação Latino-Americada de Teste de Software www.alats.org.br Certified Tester Foundation Level; Certified Tester Advanced Level; International Software Testing Qualifications Boarder www.bstqb.org.br Certified Associate in Software Testing (CAST); Certified Software Quality Analyst (CSQA); Certified Software Tester (CSTE):Quality Assurance Institute www.qaibrasil.com.br/ Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008
31. Esse material é fruto de trabalho em equipe! •Adriel Moro •Delson Flávio •Eduardo Gomes •Elias Nogueira •Fabíola Lara •Fabrício Campos •Lucas Conde •Marlon Lima •Ricardo Antunes •Robson Agapito •Thais Sabará
32. Esse material foi inspecionado! Obrigado: • Amanda Magalhães • Raquel Furtado • Vanessa Vaz E ainda deve ter alguns bugs . . .
34. Bibliografia •Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1. •BOEHM, B.W., 1981, Software Engineering Economics, Prentice Hall. •WHEELER, D.A., BRYKEZYNSKI, B., MEESON, R.N., 1996, Software Inspections: AnIndustry Best Practice, IEEE ComputerSociety. • PRESSMAN, R.S., 2001, Software Engineering: A Practitioner´s Approach, Fifth Edition, McGraw Hill. •ISQTQB Glossário de termosusados no Teste de Software Versão 1.0 •FoundationLevel ISTQB Syllabus, ISTQB •Analista de Teste, Qualidade BR – Fabrício Ferrari Campos, http://qualidadebr.wordpress.com/2010/04/02/analista-de-teste/ 2010. •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. •RationalUnifiedProcess® Base Plug-in, Versão 7.0.1, Baseada em: Base ConceptsPlug-in Versão: 1.0.1. IBM Corporation 2000, 2007. •PÁDUA FILHO (2003), Wilson. Engenharia de Software– Fundamentos, Métodos e Padrões. 3ª Edição. LTC Editora, 2009. •RIOS, E., MOREIRA, T., SOUZA, A., CRISTALLI, R . Base de Conhecimento em Teste de Software 2ª Edição. Martins, 2007. • 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