Antes de automatizar teste

Ou “Antes de automatizar, teste!”

Existe um folclore em torno dos testes automatizados que precisa ser desmistificado. E por mais doloroso que isso possa soar, estou aqui para lhe dizer que assim como papai Noel não existe, testes automatizados não garantem qualidade.

Vejo inúmeras vagas para analista de qualidade, cujo job description se restringe apenas a automação, e sendo mais especifica, automação de testes funcionais, como se isso fosse a principal atividade de um quality assurance, e como se apenas a automação deste tipo de teste garantisse a qualidade de um software.

Como já defendi em outros momentos e vale a pena repetir:

O papel de um Analista de Qualidade vai além de executar testes, escrever cenários ou automatizar, ele é responsável por encontrar mecanismos que viabilizem a estabilização da qualidade como cultura, e promover a melhoria contínua dos processos utilizados ao longo do ciclo de desenvolvimento […].

Citado de: Falando em qualidade

Alguns autores, como Ian Sommerville em seu livro “Engenharia de software”, 9º ed. 2011, ressalta que o fato da engenharia de software ser um assunto recente, faz com que muitos problemas que já foram solucionados em outras engenharias ainda sejam limitantes a este ramo. São fatores voltados principalmente para as estimativas de tempo, custo e qualidade. Dito isto, levanto algumas questões:

  • Será mesmo que apenas a automação de testes funcionais resolve a questão da qualidade?
  • Não seria isto um paradoxo? A medida que cobertura de testes cresce, o tempo e os custos aumentam.

Não tenho a intenção de desconstruir a ideia de automatizar testes, isso é ótimo na verdade. O ponto é que, a automação por si só, não é a chave do sucesso. A definição de qualidade, em qualquer ramo, é algo muito abrangente para ser atingido com apenas uma atividade, restrita a uma única fase de todo o ciclo de desenvolvimento.

Na literatura podem ser destacados dois importantes significados, entre os muitos possíveis, para a palavra ‘qualidade’:

1. Na ótica de investimento/retorno qualidade pode ser definida como
características que satisfaçam as necessidades do cliente e geram lucros. No entanto, elevar o nível exigido de qualidade implica em custos maiores de produção.

2. Qualidade quando orientada a custo requer defeito mínimo ou zero. Logo alta qualidade, implica em redução de desperdícios, tais como retrabalho o que resulta em custos menores. (JURAN, 1988, p.26).

Para Pan (1999):

Em um mundo computadorizado a qualidade e a confiança do software são uma questão de vida ou de morte.

Automação quando implantada com sabedoria, traz muitos resultados positivos. Porém, testes automatizados, por si só:

  • Não detectam gaps nos critérios de aceite;
  • Não identificam problemas de usabilidade;
  • Não se preocupam com a satisfação do usuário;
  • Não incentivam a colaboração entre o time;
  • Não garantem mapeamento completo de cenários.

Quero enfatizar que automatizar é uma atividade importante, porém, qualidade é um assunto muito abrangente, onde a figura do profissional de QA deveria ser mais estratégica do que operacional. Há muitas outras atividades envolvidas no processo de garantia de qualidade, que demandam atenção de um profissional especifico, e que muitas vezes, são subvalorizadas, ou até mesmo deixadas de lado, e este “descaso” pode ser percebido ao olhar para qualidade de uma maneira mais profunda.

Para entender se as definições acima sobre qualidade e as atividades esperadas de um QA estavam alinhadas com a visão de diferentes perfis profissionais do ramo de software (desenvolvedores — mobile, web, backend, PM e UX), participei recentemente de uma dinâmica onde, resumidamente, cada um era livre para responder duas perguntas: “o que é qualidade?” e “O que o QA faz?”.

As definições individuais foram agrupadas, a fim de criar uma visão única:

Na visão do time, qualidade é, entre muitas coisas, responsabilidade de todos, é olhar o produto como um todo, é se preocupar com a satisfação do cliente e promover a melhoria contínua. E o QA é visto como um ponto de apoio, o responsável por disseminar a qualidade dentro do time, auxiliar na definição dos cenários, identificar gaps nos critérios de aceite, e entre outras tantas atividades, o QA testa e automatiza também (não que apenas ele faça isso).

Voltando ao título deste post, que é ambíguo de propósito, antes de ser um bom automatizador de testes, seja um excelente analista de qualidade. Para escrever código já existem especialistas específicos, os desenvolvedores.

Aos recrutadores, antes de buscar um profissional para automatizar testes, busque um entusiasta, um agente capaz de disseminar a qualidade como cultura, e criar mecanismos para a estabilização e manutenção da mesma.

Antes de automatizar testes

Olhe para o todo, tenha os fluxos mais importantes mapeados, defina quais tipos de testes realmente são necessários, escute o cliente (o que ele sente, quais são suas dores), seja um usuário do seu produto.

Antes de automatizar, teste!

Teste o processo, colha e analise métricas, identifique os gargalos, priorize.

Bem vindos! Fóruns Antes de automatizar teste

Este tópico contém 0 resposta, possui 1 voz e foi atualizado pela última vez por  Eleandra Bruna 5 meses atrás.

Você deve fazer login para responder a este tópico.