Perfis técnicos de QA (SDET vs QAE vs QAA vs Tester)

Guilherme Castelo
4 min readJul 2, 2020

--

Existem diversos tipos de perfis técnicos na área de Quality Assurance (QA) mas a interpretação das funções e responsabilidades de cada um varia muito de pessoa para pessoa e de empresa para empresa.

O objetivo deste artigo é esclarecer as diferenças entre os vários perfis técnicos de QA com base na minha experiência pessoal e segundo a minha perspetiva.

Os 4 perfis técnicos de QA mais comuns são: Tester, Quality Assurance Analyst (QAA), Quality Assurance Engineer (QAE) e Software Development Engineer in Test (SDET).

Photo by John Schnobrich on Unsplash

Tester

O perfil de Tester está mais relacionado com a área de Quality Control (QC) do que com a área de Quality Assurance (QA).

Quality Assurance, em Português Garantia da Qualidade, é um conjunto de atividades focadas em transmitir confiança de que os requisitos irão ser cumpridos e o produto está a ser desenvolvido de acordo com as especificações. A principal função de QA é prevenir a ocorrência de possíveis bugs e está envolvida em todo o Software Development Life Cycle (SDLC).

Quality Control, em Português Controlo da Qualidade, é um conjunto de atividades focadas em garantir a qualidade do produto. A principal função de QC é explorar o produto com o intuito de encontrar bugs.

Posto isto, o foco do Tester é a exploração do sistema e a deteção de bugs. É orientado ao produto e possui função corretiva. Normalmente escreve a especificação dos casos de teste, executa testes manuais e reporta bugs.

Quality Assurance Analyst

Habitualmente o Quality Assurance Analyst (QAA) acumula todas as responsabilidades do Tester com as funções de Garantia da Qualidade.

O foco do QAA é o cumprimento dos requisitos. É orientado ao processo e possui ação preventiva. É responsável por fazer o levantamento dos requisitos, redigir planos de teste, produzir documentação e preparar dados de teste para os Quality Assurance Engineers.

Quality Assurance Engineer

Muitas empresas apenas contratam Quality Assurance Engineers (QAEs) para as suas equipas. Nestes casos, o Quality Assurance Engineer acumula as funções do Quality Assurance Analyst. Para além disso, também cria testes automáticos utilizando ferramentas e frameworks desenvolvidas por outrem.

Existem casos de QAEs que se especializam num subtipo de testes específico, por exemplo:

  • Testes a aplicações Web
  • Testes de performance
  • Testes a aplicações desktop
  • Testes a microserviços
  • Testes a serviços Web

Geralmente os testes desenvolvidos pelos QAEs possuem um âmbito contido e, como tal, não têm a necessidade de desenvolver as suas próprias frameworks de testes automáticos, pois não necessitam de integrar múltiplas ferramentas. Por este motivo utilizam de forma isolada ferramentas já existentes, tais como:

  • Selenium WebDriver
  • JMeter, BlazeMeter
  • SikuliX
  • Kafka REST Proxy, Strimzi Kafka Bridge
  • Jersey REST Client, SoapUI API

Software Development Engineer in Test

O Software Development Engineer in Test (SDET) acumula as funções do Quality Assurance Engineer. Para além disso desenvolve ferramentas e frameworks de testes automáticos para realizar o seu trabalho porque o âmbito de testes é mais alargado. Por exemplo, o SDET pode deparar-se com um cenário que requeira o desenvolvimento de um teste end-to-end, no qual necessite de automatizar aplicações Web, aplicações desktop e microserviços. De forma a atingir este objetivo, o SDET terá de desenvolver uma framework para integrar ferramentas como: Selenium WebDriver, SikuliX e Kafka REST Proxy.

Outras funções do SDET incluem a criação de infraestrutura (alojamento de serviços para testes) e a configuração de jobs/pipelines em ferramentas de CI/CD como o Jenkins.

Muitas empresas, especialmente em Portugal, consideram um SDET como sendo um “Developer que também testa”. No entanto, isto não corresponde à verdade. A grande diferença é que o Developer trabalha no desenvolvimento do produto e o SDET desenvolve software para testes: ferramentas, frameworks e testes automáticos.

De uma forma geral os testes unitários e de integração são responsabilidade dos Developers.

Contudo existe uma exceção no caso dos SDETs, uma vez que são Developers especializados numa área específica: testes.

O desenvolvimento dos testes unitários e de integração referentes aos componentes criados pelos Developers continua a ser uma responsabilidade dos próprios Developers.

Os SDETs deverão, porém, desenvolver testes unitários e de integração para as ferramentas e frameworks de testes automáticos por si criadas.

Todos os restantes subtipos de testes: a aplicações Web, a aplicações desktop, a microserviços, a serviços Web, de performance, etc. são da responsabilidade dos SDETs e QAEs.

O que você pensa sobre isto? Trabalha na área de QA? Qual é o seu perfil? Qual destes perfis considera mais interessante?

Escreva a sua opinião nos comentários :)

--

--

Guilherme Castelo

Quality Assurance Manager, Software Development Engineer in Test, Automation Engineer | Porto, Portugal