Você está na página 1de 7

QA, não tenha medo do backend!

Cristhiane Jacques
Oct 26, 2020 · 6 min read

Testar o backend é um mundo novo para muitos QAs. E como tudo que é desconhecido,
dá um certo frio na barriga e criam-se um monte de questionamentos.

Será que eu consigo? Mas como vou testar sem olhar para a interface? Mas eu não
tenho muita habilidade em programação, como vou olhar para o código?

Calma! Não tenha medo, ninguém nasce sabendo! Tudo o que você sabe hoje um dia já
foi terreno desconhecido para você, concorda?

Eu posso te garantir, por experiência própria, que mergulhar no backend vai te


empoderar muito como QA. Vai te tornar muito mais técnico e valorizado pelo seu
time. Vai dar aquele up na autoestima :)
Empodere-se, QA! Você consegue!

Porém, como a vida nunca é fácil, esta será uma longa caminhada. E onde essa
jornada começa? Entendendo por que iniciá-la é tão importante!

Mas por que é importante testar também no backend?


Testar apenas no frontend é mais fácil pelo fato de interagirmos com uma interface
gráfica, assim como um usuário faria. É assim que muitos QAs iniciam na carreira.

Dessa forma, não entender muito de programação e não conhecer a arquitetura do


sistema não é um impeditivo para testar nesta camada (embora esses conhecimentos
sejam muito importantes, como veremos ao longo deste post).

Mas essa facilidade toda traz dois sérios problemas:

Problema 1: Redução da capacidade de investigação

Quando você encontra um comportamento inesperado na aplicação, a sua capacidade


de investigação fica muito restrita, porque você não sabe como as coisas funcionam
“por debaixo dos panos”. Dessa forma, você acaba sendo aquele QA que só reporta que
algo estranho aconteceu, sem conseguir trazer informações mais detalhadas e precisas.

Ou seja, você é o QA que só traz o problema, sem conseguir propor uma solução ou
trazer ideias para chegar a ela. Além disso, existe a chance de defeitos passarem
despercebidos justamente pelo fato de o QA não entender completamente o
funcionamento da aplicação.

Problema 2: Impossibilidade de antecipar testes

Enquanto o frontend não estiver pronto, não há o que testar se o QA não souber testar
no backend. E se o frontend ficar pronto primeiro, o QA acaba tendo que esperar o
backend também ficar pronto para conseguir testar, já que ele não entende como
funciona o fluxo de informações dentro do aplicativo, inviabilizando a criação de
mocks. Isso acarreta em descoberta tardia de defeitos e correria no final da sprint
para corrigi-los.
Resumindo: testar também o backend possibilita antecipar a descoberta de defeitos e
permite que a aplicação seja testada de forma mais profunda, porque o QA
compreende como o backend funciona e como ele se comunica com o frontend,
aumentando seu poder de descoberta de defeitos.

Além disso, em aplicações onde existe um backend que é consumido por mais de um
frontend (por exemplo, existe uma interface web e uma mobile), a descoberta de
defeitos já no backend evita a duplicidade de reports de defeitos que seriam detectados
em cada um dos frontends, mas que a causa está no backend.

Ok, entendi que é importante. Mas por onde começo? O que eu


preciso aprender?
Tempos atrás iniciei a minha jornada para me tornar capaz de testar também o
backend. Posso dizer que tem sido um período de muito aprendizado e crescimento.
Tenho estudado muito e aprendido muito com os devs do meu time e isso tem sido
transformador para mim.

Isso me motivou a escrever este post para dar algumas dicas para quem está no início
da jornada e se sente um pouco perdido. Aqui listo pontos que tem me ajudado muito
nessa caminhada. Essas dicas são totalmente baseadas na minha experiência pessoal.
Se você tem experiência em testes no backend e quiser contribuir com mais dicas nos
comentários, fique à vontade.

Dica 1: Entenda como o backend funciona


É fundamental que você entenda de que forma o backend funciona para que você
consiga planejar de forma adequada os seus testes. Se você não entende o que você
está testando, a chance de deixar algo passar é grande.

Aqui o apoio dos devs do seu time é fundamental. Não tenha vergonha de perguntar
uma, duas, três, quantas vezes for necessário. No início você terá muitas dúvidas, mas
aos poucos tudo vai ficando mais claro.
Outro ponto importante aqui é se familiarizar com a linguagem de programação
utilizada no backend. Não precisa ser um grande especialista, sabendo o básico já
ajuda muito a conseguir ler e entender os códigos.

Quanto mais você entender como o software funciona por dentro, maior será o
seu poder de descobrir defeitos.

Dica 2: Aprenda a usar as ferramentas de desenvolvedor de


navegadores web
Os navegadores web costumam ter algumas ferramentas que auxiliam os
desenvolvedores em várias tarefas, como inspeção de elementos da página e análise
das requisições enviadas, por exemplo.

Eu uso muito as ferramentas de desenvolvedor do Firefox, principalmente para


entender que requisições são enviadas quando eu clico em um determinado botão ou
realizo alguma outra ação na interface web. Isso me ajuda a entender como o
frontend conversa com o backend, além de auxiliar na investigação de problemas
encontrados no software.

Segue um exemplo abaixo. Abri o navegador Firefox, acionei a tecla F12 (que abre as
ferramentas do desenvolvedor), acessei o Google e comecei a digitar “automação de
testes”.

Acessando a aba “Rede”, pude ver que várias requisições estavam sendo enviadas
enquanto eu digitava! Ao clicar em uma delas, no quadro da direita são exibidos
maiores detalhes, divididos em diversas abas. Muito legal, não é? Imagina a mão na
roda que ferramentas desse tipo podem ser no seu dia a dia!
Exemplo de uso das ferramentas de desenvolvedor

Dica 3: Tenha o ambiente de desenvolvimento na sua máquina


Agora que você está se propondo a testar também o backend, não existirá a interface
gráfica para você interagir, já que o objetivo é verificar se o backend funciona
conforme o esperado, sem olhar para o frontend. Você terá que enviar requisições
para a camada de serviços e verificar se a resposta está de acordo com o esperado.

Dessa forma, é muito importante que você tenha na sua máquina um ambiente idêntico
ao que os devs usam. Isso também vai te ajudar na leitura dos códigos do backend.

Dica 4: Aprenda a usar ferramentas voltadas a testes no backend


Ao testar o backend, você enviará diretamente as requisições e irá verificar se a resposta
recebida está de acordo com o esperado. Lembre-se: aqui não temos o frontend para
interagir, nós é que estaremos mandando as requisições.

Então como mandar essas requisições e ver suas respostas se não temos a
interface gráfica para fazer isso? Aí é que entram as ferramentas específicas para
esse fim, como por exemplo o Insomnia e o Postman.

Abaixo mostro a interface do Postman, para exemplificar. À esquerda, são listadas as


requisições que estão salvas. À direita, são mostradas as informações sobre a requisição
(parte superior da tela) e sobre sua resposta (parte inferior da tela).
Interface do Postman

Conforme você for ganhando experiência e fluência nesta camada, será mais fácil
automatizar testes no backend. Desta forma, também será necessário que você conheça
ferramentas para este fim.

Dica 5: Nunca esqueça das técnicas de teste!


Muito provavelmente em seus testes no frontend, você usa alguma técnica de teste,
correto? Seja partição de equivalência, tabela de decisão, teste exploratório, entre
outras. No backend você também pode (e deve) usar! Elas serão fundamentais para
que você encontre os bugs mais críticos e realize os seus testes de forma mais
organizada e sistemática.

Depois de ler este post você deve estar pensando: mas é muita coisa para aprender! E é
mesmo! Como eu disse no começo, será uma longa caminhada.

Mas essa jornada nos tornará QAs mais técnicos, pró-ativos e conscientes. Dê um passo
de cada vez que você chega lá.

Isso eu te garanto :)
Colaboração e revisão: Vanessa Redes, Gabriel Santos, Bruno Pulis

Thanks to Gabriel Santos. 

QA Qualidade De Software Teste De Software Teste De Api Teste De Serviço

About Help Legal

Get the Medium app

Você também pode gostar