Quais as diferenças entre Analista de Qualidade e Analista de Teste?

O tema da 28ª Mesa Redonda DFTestes foi “Quais as diferenças entre Analista de Qualidade e Analista de Teste?”. A discussão teve 7 respostas e 7 participantes, sendo eles: eu, Ricardo Henrique, Felipe Silva, Adriano Martins, Bruno Rojo, Janaina Trilles e Luis Barros.

Abaixo segue o resumo (antes tarde do que mais tarde rs) dessa mesa redonda que teve como tema uma pergunta aparentemente simples, mas que costuma gerar confusões.

Quais as diferenças entre Analista de Qualidade e Analista de Teste?

Para o Ricardo Henrique a diferença é:

Analista de teste seria aquele envolvido especificamente na área de testes de software elaborando casos de testes e executando. Já o analista de qualidade seria aquela pessoa envolvida no trabalho que define um processo de desenvolvimento de software e depois certifica esse processo.

O Felipe Silva concordou com a diferença apresentada pelo Ricardo e levantou uma questão pertinente:

Eu concordo com você.

– Mas é realmente esse profissional que as empresas procuram quando abrem uma vaga para Analista de Qualidade?

Pergunto isso já vi várias vagas por ai com nome de Analista de Qualidade pedindo requisitos de Analista de Testes.

Alguém ai é Analista de Qualidade ou  participou de um processo seletivo destes? Caso sim, por favor compartilhe um pouco do que é esperado do profissional e quais seriam suas atividades do dia a dia.

Na minha opinião, a confusão já começa na distinção do que é Teste de Software e o que é Garantia de Qualidade do Software (SQA). O artigo do Fábio Martinho nos ajuda a perceber as diferenças e vai mais afundo nas diferenças entre Qualidade, Qualidade do Software e SQA.

Um agravante ainda, é que em empresas pequenas/médias, geralmente o profissional acaba exercendo algumas funções tanto de Analista de Qualidade, quanto de Teste.

Ao me ver, o Analista de Qualidade é um profissional da área de SQA, já o Analista de Teste é um profissional da área de Teste de Software.

O QAI faz essa diferenciação, tanto que há a Certified Software Quality Analyst (CSQA), para profissionais de SQA e a Certified Software Tester (CSTE), para profissionais de Teste de Software.

Resumindo, as atividades de uma Analista de Qualidade são diferentes da do Analista de Teste, portanto são cargos diferentes, embora seja comum a sobreposição de funções em muitas empresas.

O Adriano resumiu muito bem a diferença entre Analista de Teste e Analista de Qualidade dizendo:

Analista de Teste: Valida o produto
Analista de Qualidade: Valida o processo

O Luis Barros compartilhou uma experiência que ilustra a diferença entre o Analista de Teste e o de Qualidade:

Já fui Analista de Testes dentro de umas área de Qualidade.

Como “funcionava”:

Meu superior direto era o mesmo superior do Analista de Qualidade.

Mas eu trabalhava mesmo era envolvido no projeto de desenvolvimento, inclusive era auditado pelo meu colega ao lado.

De certa forma isso me ajudou bastante a amadurecer a disciplina dos processos que a empresa seguia, pois era assunto constante nas reuniões com nosso gerente. Mas os detalhes dos testes dos projetos acabavam sendo discutidos com outros gerentes.

Era estranho mas sempre se aproveita algo.

Bem pessoal é isso. Continuem de olho na lista do DFTestes, pois sempre há assuntos bem interessantes lá.

Fique por dentro das novidades, assine o feed do QualidadeBR.

Analista de Teste

O Camilo Ribeiro, autor do excelente The Bug Bang Theory e como o Elias Nogueira definiu bem “uma das poucas pessoas que conheço na área de Teste que conhece muito bem o lado da qualidade e o lado técnico, tornando-se assim um profissional completo”, está elaborando um artigo sobre os papéis relacionados a qualidade em uma fábrica de software.

E dentre as etapas da elaboração do artigo, ele está colhendo depoimentos de profissionais atuantes e representativos em cada papel. E eu fui honrado com o convite do Camilo para falar sobre o papel de Analista de Teste. 😀

A seguir, compartilho com vocês o artigo que enviei para o Camilo, que fala sobre o papel de Analista de Teste e conta um pouco do dia-a-dia desse profissional, que é fundamental para uma área de Teste de Software.

O que é?

É um profissional da área de Teste de Software, cujo principal objetivo é realizar a análise do sistema, do ponto de vista dos testes, a fim de modelar e elaborar os casos de testes.

Essa breve descrição do objetivo do Analista de Teste pode dá a falsa impressão de que esse papel é simples, porém veremos ao longo do artigo que exercer essa função não é tão simples assim e que são necessários diversos conhecimentos para pode exercê-la.

O que ele faz?

De acordo com o RUP[1] Rational Unified Process (ou Processo Unificado da Rational) o Analista de Teste é responsável por:

  • Identificar os Itens de Teste-alvo a serem avaliados pelo esforço de teste
  • Definir os testes apropriados necessários e quaisquer Dados de Teste associados
  • Coletar e gerenciar os Dados de Teste
  • Avaliar o resultado de cada ciclo de teste

Continuando com a referência do RUP, encontramos as habilidades que são necessárias para exercer esse papel:

  • 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 (muito desejável);
  • Conhecimento do sistema ou aplicativo em teste (muito desejável);
  • Experiência em vários esforços de teste (desejável).

É difícil destacar uma das habilidades citadas, pois todas são destaques e importantes para se tornar um bom Analista de Teste.

Além das habilidades e conhecimentos apresentados outros conhecimentos técnicos são importantes:

  • Conhecer as técnicas de modelagem de testes: baseada em especificação, estrutura e experiência;
  • Conhecimento sobre todo o processo de Teste de Software;
  • UML;
  • Modelos;
  • Normas (com destaque para IEEE 829);
  • Banco de dados;
  • Ferramentas de teste.

Como chego lá?

Assim como para atuar em outros papéis na área de Teste de Software, o comum é atuar primeiro como testador, que é uma excelente oportunidade de conhecer a área, o sistema, o processo e adquirir os conhecimentos necessários para se tornar um Analista de Teste.

Podemos perceber pelas habilidades citadas no RUP, que exercendo a função de Testador, acaba se tornando um processo natural a evolução para Analista de Teste, uma vez que todas as habilidades citadas costumam ser adquiridas, durante a experiência como Testador.

Além da experiência, uma outra forma que pode ser combinada à experiência como Testador é a obtenção de certificações de Teste de Software, pois durante os estudos é possível adquirir muitos conhecimentos que não são vistos no trabalho, e assim poderemos ampliar a nossa visão sobre a área de Teste de Software e ter um leque de conhecimentos que poderão ser colocados em prática no nosso trabalho.

Na prática

O dia-a-dia de um Analista de Teste pode variar muito de acordo com a empresa na qual ele trabalha. Por exemplo, em empresas com uma área de Teste de Software grande e bem definida, a sua atuação costuma está dentro das atividades exercidas pelo seu papel, já em empresas com uma área de Teste de Software pequena ou recente, é comum a atribuição de atividades de outros papéis para o Analista de Teste, como: preparação do ambiente de teste, automatização de testes, etc.

O Analista de Teste é um profissional que precisa está sempre em contato com outras áreas, é natural sentar ao lado do desenvolvedor para entender melhor certa funcionalidade, conversar com o Arquiteto sobre a testabilidade da arquitetura, se reunir com o gerente do projeto/gerente de teste para priorizar os testes. Por isso é necessário o profissional manter uma postura ética, amistosa e de compromisso com os demais profissionais, pois eles precisam te enxergar como alguém que está lá para ajudá-los e não, como alguém que irá apenas criticar o trabalho deles.

[1] Rational Unified Process

Fique por dentro das novidades, assine o feed do QualidadeBR.

Carreira – Teste de Software

A área de Testes é uma das que mais tem crescido, nos últimos anos, para se ter idéia em média há umas 50 a 70 vagas da área de Testes no Apinfo, site dedicado a vagas de TI, tendo como base o estado de São Paulo.

Esse resultado dá-se, devido a importância da execução dos testes, durante o ciclo de desenvolvimento. Principalmente, com o “boom” das práticas de outsourcing e de offshoring, que exigiu das empresas uma maior garantia da qualidade de seus produtos.

Recentemente saiu uma lista dos empregos de TI à prova de recessão, feita pela empresa de recrutamento online JobFox, na qual se encontra na 12º posição os profissionais especialistas em testes e controle de qualidade.

A carreira nesta área geralmente respeita a seguinte hierarquia:

  • Tester (Testador) – é a posição de entrada na área. O Tester é responsável pela execução dos testes, que em muitas vezes incluem as seguintes atividades: testar configurações de hardware e software, executar scripts simples de teste, reproduzir e reportar bugs. Alguns trabalhos podem se tornar chatos e repetitivos, mas com certeza o aprendizado obtido será muito recompensador e dará condições de galgar novas posições. É nesta fase que o profissional poderá ir para o “lado negro da força” (Desenvolvimento), caso seja notada habilidade e vocação para a programação. No Desenvolvimento o Tester será responsável por realizar os testes de Caixa Branca, principalmente os de nível unitário. E poderá preencher um gap existente na área de programação, que é a habilidade e conhecimento em testes, podendo assim ser tornar um excelente e requisitado programador.
  • Analista de Teste – é o profissional responsável pela modelagem e elaboração dos casos de teste e pelos scripts de teste. Em algumas vezes, ele também é o responsável pela execução de testes mais específicos, por exemplo testes de desempenho, estresse e homologação, nos quais exige um maior conhecimento e maior responsabilidade. Este profissional tem bons conhecimentos em Análise de Sistemas, UML, modelos, normas, processos, banco de dados, ferramentas de teste e principalmente tem pleno conhecimento do software que está sendo testado.
  • Analista de Automação de Teste – é o cargo mais recente da área de Testes. O Analista de Automação de Teste é um profissional que tem como objetivo principal, buscar a automatização de testes, sempre que ela for possível e viável. Utilizando para isso ferramentas, como por exemplo: JMeter, Marathon, Selenium, SoapUI, WebLOAD, entre outras. O profissional deverá estar atento ao aparecimento de novas ferramentas, ter bons conhecimentos de programação e buscar novas soluções para a melhoria dos testes. Ele necessita conhecer bem o processo de Teste e a realidade da empresa para que possa automatizar os testes de acordo com a necessidade da empresa, afinal a automatização de testes não é uma tarefa tão simples e se feita de forma equivocada poderá trazer prejuízos ao invés de benefícios.
  • Arquiteto de Teste – é o responsável pela montagem da infra-estrutura de teste, monta o ambiente de teste, escolhe as ferramentas de teste e capacita a equipe para executar seu trabalho nesse ambiente de teste. É uma função que exige um bom conhecimento em redes, sistemas operacionais (Linux, Windows Server, etc), servidores Web, banco de dados e principalmente conhecimento da infra-estrutura do ambiente de produção, na qual o software que vai ser testado será futuramente instalado, para que o ambiente de teste seja o mais próximo do de produção.
  • Líder de Teste –  é o profissional responsável pela condução dos testes e pela equipe de Testes. Geralmente é um profissional com alto grau de conhecimento em ciclos de vida de testes, automação de testes, ambientes de testes e documentação de testes. Ele ajuda o Gerente de Teste a elaborar os três relatórios básicos para o acompanhamento do projeto: Relatório de Status, Relatório de Progresso e Relatório de Desempenho.
  • Gerente de Teste – o Gerente de Teste tem como função primordial a iniciação do projeto de teste a ser realizado no produto a ser testado. Suas qualificações e competências se assemelham a um gerente de projetos típico: elaborar o plano do projeto de teste, aquisição de novos recursos, orçamento, riscos, prazos, elaboração de relatórios, limitações do escopo do projeto de teste e outras atividades gerenciais como constante comunicação com sua equipe, controle e monitoração das atividades, geração de métricas para alimentar indicadores, etc.
Hierarquia da área de Testes

Hierarquia - área de Testes

Os cargos e as tarefas dos cargos podem variar de empresa para empresa, principalmente devido ao porte da empresa. E é muito comum o acúmulo de papéis, por exemplo: o Analista de Teste também ser responsável pelas ferramentas de automação de teste e da montagem do ambiente de teste.
A área de Testes está a pleno vapor e os seus profissionais cada vez mais valorizados, exemplo disso é o surgimento de vários cursos, certificações e até MBA na área. Que mostram que o mercado está à caça de profissionais qualificados.

Fique por dentro das novidades, assine o feed do QualidadeBR.

Fonte:
Bastos, A.; Rios, E.; Cristalli, R. & Moreira, T. Base de conhecimento em teste de software. São Paulo, Martins Fontes, 2007.