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.

Pesquisa Cargos e Salários 2010

Pessoal,

O Cristiano Caetano está realizando pela segunda vez, uma pesquisa a respeito de cargos e salários na área de Teste e Qualidade de Software. PARTICIPEM!!! 😀

Link para a pesquisa:

http://www.testexpert.com.br/?q=node/231

Segue abaixo, maiores detalhes retirados do e-mail enviado pelo Cristiano Caetano, na lista de discussão do grupo Validação e Verificação de Software (VV-SW-Brasil).

Com o objetivo de atualizar os dados da pesquisa realizada em 2007, disponível em http://www.testexpert.com.br/?q=node/231, criei uma nova versão para 2010.

Esta pesquisa se propõe a desenhar o mapa dos profissionais de teste e qualidade de software do Brasil. Considerando que a área de teste e qualidade de software é uma das áreas em franca expansão da atualidade, o resultado dessa pesquisa será de grande interesse para todos vocês.

A pesquisa não levará mais que dois minutos para ser preenchida. Sinta-se à vontade para repassar esse email para todos os seus colegas de trabalho e amigos que trabalham nesta área, afinal, quanto mais respostas melhor.

A pesquisa ficará aberta para preenchimento até março. Não perca tempo, preencha os dados agora. Os resultados da pesquisa serão divulgados portal TestExpert.

Para preencher a pesquisa, acesse o seguinte endereço:

(A pesquisa é 100% anônima)

http://www.testexpert.com.br/pesquisa/index.php?sid=35766&lang=pt

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.