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.