Foi-se a época em que o entendimento por profissional de TI era apenas a pessoa de desenvolvimento ou a “que arruma as máquinas e o Wi-Fi”. O avanço da inovação e da transformação digital vem fazendo com que as empresas demandem novos e diversos tipos de profissionais.

Um desses profissionais é o QA (quality assurance ou, muitas vezes, analista de testes). Temos visto que esse papel, responsável por promover a cultura de  qualidade dentro do processo de desenvolvimento de software, tem ganhado evidência dentro das empresas.

O mais interessante é que não é incomum vermos desenvolvedores que migraram para a área de QA, principalmente quando falamos na área específica de testes automatizados.

Você, que atua com desenvolvimento, já tinha pensado nesse caminho de carreira? Se sim, este artigo vai te ajudar! Se não, te convido a continuar lendo; talvez você descubra que o movimento pode fazer sentido pra você.

Aqui na Sofist temos um time robusto de profissionais de QA, muitos dos quais já passaram por essa transição de carreira. Pensando nisso, conversei com alguns deles e juntei alguns conselhos valiosos que podem ajudar você a esclarecer as ideias nesse momento.

Entender sobre qualidade de software é o requisito nº 1

Por unanimidade, isso foi o que todas as pessoas com as quais conversei falaram. Você precisa entender sobre as práticas e conceitos de qualidade de software

Em outras palavras, embora automatização de testes seja um projeto de código, as bases da qualidade precisam estar enraizadas em sua mentalidade, caso contrário dificilmente o resultado de seu trabalho terá o impacto desejado.

Ao migrar do desenvolvimento para a automatização, você já terá o “como” – ou seja, desenvolver os testes será a parte mais fácil. Contudo, você precisa saber o “porquê” de se realizar (ou não) um teste. E, nisso, os fundamentos da qualidade de software vão te ajudar bastante.

Faça cursos, leia artigos, tente colocar seus aprendizados em prática e, se tiver a oportunidade, aprenda com pessoas mais experientes (o que agregou muito foi muito importante para nossos QA’s que passaram por esse processo).

Por aqui, nós gostamos muito da bibliografia da Lisa Crispin e do Martin Fowler, mas sinta-se à vontade para aprender pelas vias e pelos autores que você mais se sentir confortável. O importante é assimilar os conhecimentos.

Falando especificamente em automatização de testes, entenda sobre a Pirâmide de Testes focando em testes unitários em um primeiro momento. Saber sobre testes unitários te dará a base para se aprofundar mais nas outras etapas da pirâmide conforme você escala seu conhecimento.

Seu histórico e skills de desenvolvimento vão te ajudar (muito!)

Não ache que sua bagagem será perdida na migração entre a área de desenvolvimento para a de testes automatizados. A verdade é que muito do que você já sabe e usa no seu dia a dia pode ser aproveitado.

Basicamente, você continuará desenvolvendo software. O que mudará é o objetivo final do trabalho que você está realizando: enquanto um desenvolvedor cria software para atender demandas de negócios e que serão usados pelo consumidor final, o automatizador desenvolve software para testar outros softwares de forma rápida e eficaz.

Logo, você poderá usar toda a sua experiência com boas práticas de desenvolvimento. Entender dos Princípios S.O.L.I.D, por exemplo, é de grande ajuda, pois quanto mais fácil for o entendimento e manutenção do seu código de testes, mais valor ele terá.

Os benefícios, contudo, vão além das habilidades técnicas e entram no campo das soft skills – como a de comunicação, por exemplo

Eu explico: desenvolvedores devem ser os principais parceiros dos QA’s em projetos de automatização, uma vez que eles serão os usuários do produto do seu trabalho. Logo, saber como se comunicar efetivamente com esse perfil é essencial na sua rotina como profissional da qualidade.

Já ter passado pelo lado do desenvolvimento pode te ajudar nessa interação. Ao entender a linguagem dos desenvolvedores e ter contexto prático de seus desafios, você será capaz de se comunicar com esses profissionais de uma forma mais profunda, podendo os engajar com as atividades relacionadas à automatização.

Você pode ter uma ideia nesse nosso artigo sobre como integrar melhor devs e QA’s no processo de desenvolvimento.

Entender sobre CI/CD será necessário na sua rotina

Como profissionais, temos que ter ciência de onde nosso trabalho gera mais valor. No caso do QA automatizador, um teste que roda apenas na sua própria máquina tem zero impacto. É preciso que o teste encontre problemas no mundo real, o mais próximo possível da realidade do usuário.

Dentro de um ambiente que trabalha com DevOps, os testes automatizados serão úteis na missão de liberar novas versões de um produto mais rápido e com mais qualidade. Entretanto, esses testes só serão realmente úteis se integrados ao pipeline de entregas.

Uma vez que esses testes estão integrados, eles servem como ponte entre o desenvolvimento e a operação, validando de forma automática se o código entregue pelo desenvolvedor quebra de alguma forma antes da liberação. Se sim, ele volta para correção com um relatório explicando a falha. Se não, é liberado para ir para produção sem a necessidade de uma aprovação manual.

Este processo, mesmo que explicado de modo simplista, diz o que é Continuous Integration e Continuous Delivery. Entender o papel do seu teste automatizado nesse contexto é essencial, assim como dominar as ferramentas que auxiliam nesse processo.

Você pode começar pelo Jenkins, uma ferramenta open-source de integração contínua que permite tanto rodar os testes automaticamente quanto prosseguir com o processo de liberação para produção, além de dar informações relevantes sobre os resultados dos testes, como relatório de falhas, tempo de execução, etc.

Cultive um perfil questionador

Essa é uma soft skill importante. O QA que vem do desenvolvimento precisa deixar de lado o mindset de execução e trabalhar com um olhar mais crítico no processo.

Isso serve tanto para os testes em si, mas também para outros aspectos voltados para a qualidade dentro do processo de desenvolvimento. Ou seja, você claramente tem que questionar qual é a importância de se testar determinado cenário, mas também tem que promover debates com outros profissionais acerca da qualidade do que eles produzem.

Aqui falo de sentar com o PO e entender se as histórias de uso estão sendo escritas da melhor maneira. Ou então questionar o designer se o fluxo que ele idealizou realmente preza pela melhor experiência do usuário. Ou, ainda, argumentar com um desenvolvedor se você entender que a estratégia de desenvolvimento não contribui para a geração de um produto de qualidade.

Tenha em mente que, antes de trabalhar com automatização, você deve ser um profissional da qualidade. E isso significa ser um guardião da qualidade dentro do processo de desenvolvimento.

Quer um exemplo de como isso é benéfico? Se você já recebeu de um PO uma história de uso difícil de compreender e isso impactou o desenvolvimento do produto e, eventualmente, até gerou bugs que foram para produção você teve que corrigir posteriormente, não vai ser difícil entender como olhar para a qualidade ao longo do processo pode impactar o trabalho de todos.

O Quality Assurance ideal é aquele que vai além dos testes, sendo capaz de olhar holisticamente para o ciclo de desenvolvimento e antever problemas de modo geral. Questionar sempre o status quo do processo é essencial nesse aspecto.

Permita-se o teste

Pode até ser um trocadilho bem ruim 🙂 mas, se você está considerando esse movimento de carreira, se permita testar o caminho. Afinal, você só terá certeza se colocar a mão na massa e aprender com o processo.

Uma das coisas que me disseram é que a parte mais legal é “trabalhar nos bastidores”, de modo a ajudar a garantir o bom funcionamento das coisas que antes era você quem criava. Entender esse outro lado é altamente importante e, caso você não se identifique e queira voltar para a programação, tenha certeza de que você será um desenvolvedor bem mais completo e estratégico.

Embora sejamos suspeitos para falar, a área da qualidade é realmente incrível e traz consigo grandes oportunidades. Seguindo os passos que eu trouxe nesse artigo você estará no caminho para adentrar esse universo.

Antes de terminar, um heads up da nossa área de pessoas: estamos com diversas vagas abertas. Se você já se sente preparado para assumir um desafio nessa nova área, confira nossas posições em aberto e veja se alguma delas fala com você!