Colocando uma Fábrica de Testes para funcionar

Neste artigo, vamos explorar as soluções que uma fábrica de testes oferece, as particularidades deste modelo e os estágios de maturidade e implantação.

Uma fábrica de testes pode funcionar como uma função independente no ciclo de vida de desenvolvimento de sistemas (CVDS), delimitando claramente as funções de testes e de build. Ela pode funcionar como um QA centralizado que uniformiza diversos processos, sendo mais fácil gerenciar que um QA descentralizado.

Não há um modelo único. Uma fábrica de testes pode (e deve) ser modelada conforme as necessidades da empresa demandantes. Contudo, há certas semelhanças nos estágios evolutivos do modelo, conforme a cultura de testes e quality assurance se instala em todo o ciclo de desenvolvimento.

Implementando uma Fábrica de Testes

A implementação de uma fábrica de testes possui três principais fases:

  • Definição da solução
  • Design da solução
  • Implementação da solução

Etapa de definição da solução

Tudo começa definindo em conjunto com a empresa contratante os processos de testes que serão envolvidos. Neste momento inicia a verificação do grau de maturidade e robustez dos testes existentes, observando se há alguma lacuna. Uma entrevista com gerentes, analistas, engenheiros e outras pessoas envolvidas pode ajudar a entender a visão de membros da empresa quanto aos prós e contras dos processos existentes. Usar um questionário pertinente ao tema também é uma possibilidade para orientar e documentar mais informações. Para definir o grau de maturidade, são rodados Modelos de Maturidade de Testes e que encaixam os testes em um dos 5 estágios:

  1. Estágio Inicial – Neste estágio a empresa está usando métodos ad hoc para os testes. Os resultados não são repetíveis e não existe um padrão de qualidade.
  2. Estágio de Definição – Neste estágio os testes são definidos como processos, estratégias, planos e casos de testes. Os testes só começam quando o produto está pronto e o objetivo é comparar o produto final com o requisito prévio.
  3. Estágio de Integração – Neste estágio os testes estão integrados ao ciclo de vida dos softwares. A necessidade de testar é adequada ao risco do negócio e os testes são rodados com certa independência da área de desenvolvimento.
  4. Estágio de gerenciamento e mensuração – Neste estágio os testes estão presente em todas as etapas do ciclo de vida, incluindo revisão dos requisitos e arquitetura. É estabelecido um padrão de qualidade para todos os produtos da empresa.
  5. Estágio de otimização – Neste estágio o próprio processo de teste em si é testado e aperfeiçoado a cada iteração. Isso é alcançado com ajuda de ferramentas e introduz objetivos como prevenção de erros ao longo do ciclo de vida, ao invés de detecção de erros.

Etapa de design da solução

Esta etapa é o componente principal no processo da fábrica de testes e envolve processos de planejamento com base em três dimensões dos modelos de maturidade de testes:

  • Engenharia dos testes – áreas como estipular requisitos, estratégias de teste, ferramentas de teste, dados de testes e ambiente.
  • Gerenciamento dos testes – áreas como estimativas, planejamento de teste, comunicações, gerenciamento de erros e gerenciamento de conhecimento.
  • Administração dos teste – áreas como metodologias de teste, políticas de teste, estrutura organizacional e métricas de teste.

Durante o design da solução, os seguintes pontos são os principais:

Metodologia dos teste

Definir os vários tipos de teste que serão executados, técnicas de estimativa, critério de entrada e saída para cada fase de testes, configurar os ambientes de teste, modelos de operação e várias informações de input e output.

Administração dos testes

Definir como será a estrutura de administração do processo. Delegar e atribuir claramente o papel de cada profissional de qualidade e as responsabilidades envolvidas.

Estrutura da fábrica de testes

Definir os canais de comunicação internos e externos da fábrica. Garantir que as informações necessárias estejam sendo transmitidas corretamente.

Métricas, KPIs e SLAs

Definir as diversas métricas de teste, além de garantir os acordos de KPIs e SLAs para cada processo e função na fábrica.

Gerenciamento do framework de conhecimento

Estabelecer um framework centralizado que ofereça um forma de compartilhar conhecimento sem esforço entre as equipes, através dos conhecimentos ativos.

No mais, as equipes podem criar processos de gerenciamento dos dados de testes, catálogo de teste e políticas e diretrizes de testes.

A etapa de design da solução é um processo bastante colaborativo que requer participação das equipes de design e entrega, seja otimizando alguns processos existentes ou redesenhando outros. Se a implantação da solução for feita da maneira correta, trará diversos benefícios para a empresa.

Etapa de implementação da solução

Dependendo do grau de maturidade que a empresa almeja atingir, esta etapa pode precisar de bastante tempo. Os prazos necessários para amadurecer e aperfeiçoar os processos podem variar bastante, indo de 6 meses até 2 anos. De acordo com a quantidade de tempo e recursos disponíveis, a implementação da solução pode ser feita de forma escalonada ou mais direta. Geralmente, é recomendado que a implementação seja feita de forma escalonada, assim as equipes da fábrica e da empresa contratante podem fazer os devidos ajustes e implementações com base na experiência e nas particularidades da empresa. No final desta etapa uma pesquisa pode ser feita com os contratantes, para determinar os êxitos e falhas na implementação, além de auxiliar em melhorias futura.

Existem alguns desafios comuns nesta etapa, são eles:

Medo da mudança

Muitas equipes estão numa zona de conforto e gostariam de continuar como tal. Isso atrapalha adaptação a novos processos e metodologias.

Processos e comunicações desleixados

Esse sintoma é uma indicação que as equipes não foram treinadas bem e não compreenderam as novidades. Deve haver um cuidado especial com a comunicação. Ela é fundamental para o sucesso da implementação. Estabeleça rotinas de follow-up bem claras.

Transferir todos os testes para a fábrica

A empresa contratante escolheu esse serviço com um objetivo, se transferir funções além do que foi determinado, as equipes podem ficar complacentes e perder o conhecimento e o know-how das ferramentas e processos.

A implementação das mudanças propostas por uma fábrica de testes é responsabilidade das equipes de lideranças, dos analistas e engenheiros. Um plano de treinamento precisa ser elaborado, bem como a criação de manuais de usuário e diretrizes para consultas futura. O papel da gerência nesse processo é o de garantir que os canais de comunicação funcionem, assegurando que todos os envolvidos estejam recebendo as informações devidas, no formato e momento adequados.

Benefícios de uma Fábrica de Teste

Os benefícios colhidos após a contratação de uma fábrica de teste são tanto qualitativos e quantitativos.

Vamos começar com os qualitativos:

  • Garante um alto nível de repetibilidade, previsibilidade e cobertura de teste.
  • Entrega testes end-to-end com base nos requisitos da empresa – Isto permite prever erros críticos e as lacunas que geralmente são identificados durante os testes de aceitação.
  • Definição de métricas chave – Ter essas informações estabelecidas permite a gerência acompanhar o andamento da qualidade com mais clareza.
  • Conjuntos de artefatos e design de testes reutilizáveis, ajudando no escopo de planejamento e design.
  • Reduz a etapa dos testes de aceitação, poupando tempo e recursos.
  • Compreensão dos processos chave da empresa e a construção de uma biblioteca de regressão.
  • Uso eficaz das ferramentas, permitindo total rastreabilidade dos requisitos durante os testes e averiguações ao longo do projeto.
  • Automação de testes acelerada, reduzindo tempo do ciclo de desenvolvimento e custo de execução.
  • Fornece uma base para mais entregas – Isso beneficiará a empresa e os usuários finais, visto que reduz o tempo entre as entregas, menos de tempo espera para atualizações e correções.
  • Estabelece uma plataforma para diversos testes – Teste de performance, teste de segurança, teste de aceitação, etc.

Benefícios quantitativos incluem:

  • Uma economia estimada de 50% devido a reutilização de artefatos de design de testes.
  • Com uma camada de automação de testes há redução média de 40% do custo de execução.
  • Vazamento de erros praticamente zero durante a transição do teste de integração de sistema e do teste de aceitação, garantindo uma produção e entrega mais rápida.

Conclusão

Configurar e implementar as soluções de uma fábrica de testes pode trazer vários benefícios para uma empresa, permitindo que ela continue inovando. Uma fábrica de testes estabelece uma cultura orientada por QA, melhorando toda a qualidade dos processos e até a felicidade dos funcionários.

Com todo o conhecimento adquirido dessa experiência, a empresa pode começar a inovar e oferecer serviços e produtos novos com muito mais qualidade e time to market. Isso permite a adoção de novas tecnologias mais rapidamente, garantindo uma posição mais sólida e competitiva no mercado.

Newsletter

Assine nossa newsletter e seja avisado sobre novos artigos, cases, eventos e muito mais.

E-books e Relatórios

Conheça nossa base de ebooks, artigos, relatórios e cases. Aprenda sobre as boas práticas de testes, qualidade de software e muito mais.

Tudo disponível para download gratuitamente.