QAs que não codificam e seus 12% de vagas

Antigamente, uma pessoa que testava aplicações não precisava saber programar. Executar testes manualmente quando a aplicação estivesse pronta era suficiente, considerando a realidade de um processo tradicional. Porém, com o advento da agilidade, é essencial que um QA tenha habilidades de programação.

Neste artigo, você vai entender o porquê ter habilidades de codificação vai te fazer um profissional de qualidade melhor; vai entender quais as vantagens que estas habilidades irão te proporcionar no seu dia a dia; e vai saber o que fazer pra não ter acesso a apenas 12% de vagas de emprego que se adequam com suas habilidades.

Existem dois grandes benefícios que uma pessoa que testa aplicações pode atingir quando ela tem habilidades de programação: mais insights e mais empatia.

Quando aprendemos a programar, desenvolvemos em nós o conhecimento sobre construção de software e como estes sistemas são executados por um computador; sobre como os dados são representados e armazenados; sobre controles de fluxo, pontos de decisão, loops, branchs, etc; e isto nos dá habilidades de entender como erros podem ser inseridos num sistema. Ao aprendermos sobre como os sistemas funcionam, nós vamos obter insights de como eles podem não funcionar.

Além de entendermos como os sistemas funcionam, ter habilidades de programação nos faz compreender o quão difícil a programação pode ser, quais os obstáculos que podem ser encontrados no desenvolvimento de uma funcionalidade, e isto nos torna profissionais mais humildes, gerando empatia e um respeito cada vez maior pelos desenvolvedores. Em ambientes ágeis em que a colaboração é a base de tudo, não há mais espaço para equipes que criticam as outras, ao invés disso, elas se juntam para atingir os objetivos e as metas da empresa. Empatia e respeito são características essenciais para um bom profissional de teste de software.

É importante frisar que, quando falamos que uma pessoa que testa aplicações precisa aprender a codificar, não significa que ela precisa saber codificar igual a um desenvolvedor, mas sim, que ela precisa ter um conhecimento avançado.

E isso, dá um novo super poder a quem testa, de antecipar problemas… de ajudar na aferição de ausência da qualidade sob a perspectiva de boas práticas… na colaboração para escrita de melhores testes… na facilidade em estimar estórias com base não só em teste, mas com base em desenvolvimento…

Ter habilidades de programação pode ajudar você em várias áreas e tarefas do dia a dia:

1. Vai ser mais fácil para você compreender as complexidades do desenvolvimento de um software, fazendo com que você identifique riscos, localize bugs, aponte problemas no código, fale a linguagem do desenvolvedor e possa contribuir significativamente com discussões técnicas;

2. Você deixará de ter uma visão superficial da aplicação e aprofundará cada vez mais os seus conhecimentos técnicos, podendo compreender melhor o que está acontecendo de errado na aplicação, facilitando seu trabalho na descrição de bugs e na reprodução dos mesmos;

3. Você poderá automatizar o processo de criação da massa de dados que necessita diariamente para a execução dos casos de teste;

4. Você poderá automatizar a execução de casos de testes, diminuindo o tempo de resposta necessário para poder concluir se o sistema está com o nível esperado de qualidade. Melhorar o desempenho dos seus processos é um dos benefícios mais vislumbrados pelas empresas quando buscam QAs que sabem codificar;

5. Você poderá fazer consultas nos bancos de dados para conferir o resultado da execução dos seus testes;

6. Você pode colaborar com o time de desenvolvimento na correção de pequenos bugs e na revisão do código.

Vou te contar a história do Gabriel…

Gabriel não se dava bem com programação, ele estava frustrado por não saber codificar, e então ele descobriu a área de testes e se deu bem, e isto o deixou muito feliz. Depois de alguns meses, seu time começou a atuar no ágil e ele passou a não ter mais tempo para escrever casos de testes… (Leia o post Casos de teste no ágil, da Cristhiane Jacques).

Gabriel passou a se sentir frustrado porque não sabia codar e não conseguia ajudar os devs, sem contar que seu time já não estava feliz com sua atuação… Percebendo isso, ele se propôs a aprender a codificar, se dedicou bastante e aprendeu bem! Gabriel começou a atuar de forma mais abrangente junto aos devs, e logo logo, ele passou a ser referência do time no tocante a qualidade, tanto em nível de código, como em nível de estratégia de testes e qualidade em geral.

A história de Gabriel é muito semelhante a de muitos QAs que vão passar a enfrentar uma escassez muito grande de vagas que não exigem esta habilidade.

Veja a pesquisa desenvolvida por Júlio de Lima, a qual relata que conhecimentos de automação de testes são requeridos em 60% das vagas para profissionais de nível Júnior, 84% das vagas para Plenos e 88% das vagas para Sênior.

Veja bem, se 88% das vagas pra sênior exigem automação de teste significa que APENAS 12% DAS VAGAS ACEITAM PROFISSIONAIS SENIORES QUE NÃO TEM HABILIDADE DE CODIFICAÇÃO!

Se você quer crescer dentro da área de qualidade, você precisa desta habilidade!

Se você ainda não tem esta habilidade, está boquiaberto em saber que pode só ter 12% de vagas que se encaixam com o seu perfil e não sabe por onde começar, calma que eu vou te ajudar! Você pode começar seguindo os passos abaixo:

  1. Descubra a linguagem de programação utilizada pelo seu time e estude ela. Usar a mesma linguagem que seu time é essencial pra facilitar o aprendizado e pra proporcionar mais colaboração no time. Se você não está trabalhando, escolha a linguagem mais pedida pelas empresas que você tem vontade de trabalhar.
  2. Identifique a forma que proporciona o melhor aprendizado pra você, seja através de cursos, tutoriais, livros etc;
  3. Faça muitos exercícios práticos durante a aprendizagem, existem sites apenas para exercícios focados nas etapas do aprendizado, outros com exercícios de algoritmos e estruturas de dados… Praticar vai te elevar a um outro patamar, não apenas pra desenvolver suas habilidades com a linguagem, mas também, com o raciocínio lógico que é algo essencial para qualquer pessoa que sabe codificar;
  4. Transicione o conhecimento da linguagem de programação que você aprendeu pra área de testes, buscando quais frameworks e bibliotecas vão te dar suporte para testes de frontend e backend, e crie pequenos projetos para automatizar cenários de teste. Existem diversos sites que foram feitos exclusivamente pra você praticar automação. Use e abuse!
  5. Continue praticando e se desafiando cada vez mais!

Outra forma que você pode buscar este conhecimento é com o apoio de mentores (pessoas mais experientes que você nesta área), que podem te guiar ao longo do caminho, para que você possa adquirir esta habilidade de maneira mais assertiva.

O mais importante de tudo é que se você não quiser ter apenas 12% de chance, você precisa desta habilidade! Comece hoje mesmo!

Referências:

--

--

Paulo Oliveira
Revista eQAlizando (antiga Revista TSPI)

Quality Assurance Engineer at Mindera (Portugal), with more than 13 years of experience in software testing.