Teste de Software Papéis e OportunidadesCamilo RibeiroThe Bug Bang Theory
Camilo Falcão RibeiroEngenheiro de Teste, Engenheiro de Processos e Recrutador na Squadra Tecnologia;
Mais de quatro anos atuando em Teste de Software e Processos;
Participação em mais de 40 projetos de Software;
Participação em projetos de implantação do CMMi (todos os níveis);
Graduado em Sistemas para Internet pela Faculdade Pitágoras;
Pós graduando em Engenharia de Software pela UFMG;
Certificado como especialista em Teste de Software pelo ISTQB e ALATS;
Membro do comitê de inovação em Teste de Software ALATS;
Mantedor do blog técnico www.bugbang.com.br;
Especialista em implementação e customização da ferramenta TestLink.No início: O programadorResponsá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. . .Resultado:Defeitos funcionais, baixa conformidade do produto com os verdadeiros requisitos, cronogramas irreais, baixa usabilidade, custo excessivo, entre outros problemas.
Engenharia de SoftwareEngenharia 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.
Rational Unified ProcessO 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.
Papéis
Defeitos!
Custo do DefeitoCusto 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).
Importante!Papel != CargoO 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
Papéis em Qualidade de SoftwareLiderança Gestão de projetosOrganizacionalNegócios e ProcessosTécnicaArquitetura de Software
TestadorO 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 carreiraO 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.
Analista de TesteSegundo 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 TestadoresCaracterí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.
Carreira em LiderançaGerente de TesteLíder de Teste Belo HorizonteLíder de Teste São PauloEquipeCoordenador de TesteNúcleo JavaCoordenador de TesteProjeto XCoordenador de TesteProjeto XEquipeEquipeEquipe“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
Carreira OrganizacionalProcesso AbstratoProcesso OrganizacionalGarantia de QualidadeProcesso AdaptadoProcesso AdaptadoProcesso AdaptadoProjeto AProjeto BProjeto 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
Carreira TécnicaProjeto XPlanejamento Estratégico do TesteRequisitos não funcionais(Testabilidade, eficiência, usabilidade, etc.)AutomaçãoOs 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.
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”
O Perfil do Analista de TestesSegundo 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.”
Mitos sobre TestadoresTestar é fácil: Entre 20 a 50% do esforço de um projeto é teste de softwareTestador é 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.
CertificaçõesCertificação Brasileira de Teste de Software:Associação Latino-Americada de Teste de Software www.alats.org.brCertified Tester Foundation Level;Certified Tester Advanced Level; International Software Testing Qualifications Boarder www.bstqb.org.brCertified Associate in Software Testing (CAST);Certified Software Quality Analyst (CSQA);Certified Software Tester (CSTE):Quality Assurance Institutewww.qaibrasil.com.br/Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008

Papéis em Teste e Qualidade de Software

  • 1.
    Teste de SoftwarePapéis e OportunidadesCamilo RibeiroThe Bug Bang Theory
  • 2.
    Camilo Falcão RibeiroEngenheirode Teste, Engenheiro de Processos e Recrutador na Squadra Tecnologia;
  • 3.
    Mais de quatroanos atuando em Teste de Software e Processos;
  • 4.
    Participação em maisde 40 projetos de Software;
  • 5.
    Participação em projetosde implantação do CMMi (todos os níveis);
  • 6.
    Graduado em Sistemaspara Internet pela Faculdade Pitágoras;
  • 7.
    Pós graduando emEngenharia de Software pela UFMG;
  • 8.
    Certificado como especialistaem Teste de Software pelo ISTQB e ALATS;
  • 9.
    Membro do comitêde inovação em Teste de Software ALATS;
  • 10.
    Mantedor do blogtécnico www.bugbang.com.br;
  • 11.
    Especialista em implementaçãoe customização da ferramenta TestLink.No início: O programadorResponsá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. . .Resultado:Defeitos funcionais, baixa conformidade do produto com os verdadeiros requisitos, cronogramas irreais, baixa usabilidade, custo excessivo, entre outros problemas.
  • 12.
    Engenharia de SoftwareEngenhariade 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 ProcessORUP, 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.
  • 14.
  • 15.
  • 16.
    Custo do DefeitoCustorelativo 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 != CargoORUP 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 Qualidadede SoftwareLiderança Gestão de projetosOrganizacionalNegócios e ProcessosTécnicaArquitetura de Software
  • 19.
    TestadorO 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 carreiraO 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 TesteSegundoo 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 TestadoresCaracterí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çaGerentede TesteLíder de Teste Belo HorizonteLíder de Teste São PauloEquipeCoordenador de TesteNúcleo JavaCoordenador de TesteProjeto XCoordenador de TesteProjeto XEquipeEquipeEquipe“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 OrganizacionalProcesso AbstratoProcessoOrganizacionalGarantia de QualidadeProcesso AdaptadoProcesso AdaptadoProcesso AdaptadoProjeto AProjeto BProjeto 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écnicaProjeto XPlanejamentoEstratégico do TesteRequisitos não funcionais(Testabilidade, eficiência, usabilidade, etc.)AutomaçãoOs 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 doAnalista 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 doAnalista de TestesSegundo 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 TestadoresTestaré fácil: Entre 20 a 50% do esforço de um projeto é teste de softwareTestador é 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çõesCertificação Brasileira deTeste de Software:Associação Latino-Americada de Teste de Software www.alats.org.brCertified Tester Foundation Level;Certified Tester Advanced Level; International Software Testing Qualifications Boarder www.bstqb.org.brCertified Associate in Software Testing (CAST);Certified Software Quality Analyst (CSQA);Certified Software Tester (CSTE):Quality Assurance Institutewww.qaibrasil.com.br/Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008