O que é documentação de controle de qualidade e como podemos reduzir seus custos de criação e manutenção?

Publicados: 2023-08-01

Andrii Hilov, líder da equipe de controle de qualidade da ITRex, escreveu outro artigo discutindo os desafios e as armadilhas da garantia de qualidade em projetos de software. Desta vez, Andrii investiga a documentação de controle de qualidade e o papel que ela desempenha no desenvolvimento de software de alto desempenho - dentro do prazo, do orçamento e de acordo com suas metas de negócios.

Aqui está o que ele tem a dizer sobre isso.

Como líder da equipe de controle de qualidade em uma empresa de desenvolvimento de software empresarial ITRex, estou perfeitamente ciente das aspirações de nosso cliente de reduzir os custos de desenvolvimento de software enquanto lançamos um produto totalmente funcional no prazo e com valor máximo.

Embora esses objetivos sejam compreensíveis, desaconselho dispensar sua equipe de controle de qualidade no início do projeto, mesmo que eles não encontrem bugs diariamente, embora isso possa parecer uma opção fácil para cortar o contracheque e acelerar os ciclos de lançamento de software.

Além disso, recomendo que você siga as práticas recomendadas de garantia de qualidade ao longo do projeto para validar se sua solução e todos os seus recursos funcionam conforme o esperado e não comprometem sua segurança cibernética.

E uma dessas práticas é criar e manter a documentação de controle de qualidade adequada.

O que é exatamente a documentação de garantia de qualidade? Como isso pode ajudá-lo a obter o máximo benefício de usar os serviços de controle de qualidade e teste? E existe uma maneira de otimizar os custos e o esforço associados à preparação da documentação de controle de qualidade, minimizando o risco de desenvolver um aplicativo mal arquitetado e cheio de bugs e ter que reconstruir tudo desde o início?

Vamos descobrir!

Introdução à documentação de controle de qualidade

A documentação de controle de qualidade é uma coleção de documentos e artefatos criados e mantidos por uma equipe de garantia de qualidade durante o processo de desenvolvimento e teste de software.

Pode incluir vários documentos que descrevem a estratégia de teste, planos de teste, casos de teste, scripts de teste, dados de teste, logs de teste, relatórios de bugs e qualquer outra documentação relacionada às atividades de controle de qualidade. Esses documentos facilitam a comunicação entre os membros da equipe de controle de qualidade, fornecem diretrizes para testes e ajudam a identificar e resolver problemas com eficiência.

Assim, a documentação de controle de qualidade desempenha um papel vital na garantia da qualidade e confiabilidade dos produtos de software — e esse é o principal objetivo que nossos clientes perseguem.

Quais documentos de QA são usados ​​em projetos de software

Para o objetivo deste artigo, forneceremos uma breve visão geral dos documentos de garantia de qualidade que formam a espinha dorsal da documentação de teste em um projeto de desenvolvimento de software:

  • Um plano de teste é um documento de controle de qualidade que descreve a abordagem geral, objetivos, escopo, recursos e cronograma das atividades de teste de software. Simplificando, abrange:
  1. O nome e a descrição de um projeto, incluindo os tipos de aplicativos em teste e sua funcionalidade principal
  2. Os métodos de teste preferidos (manual, automatizado, misto) e os tipos de teste (novos recursos, integrações, compatibilidade, regressão, etc.)
  3. Os recursos que precisam ser testados, juntamente com um cronograma aproximado para cada atividade de teste
  4. Composição ideal da equipe
  5. Uma visão geral dos riscos e problemas que podem surgir durante o processo de teste
  6. Uma lista de documentos de teste que sua equipe de controle de qualidade usará durante o projeto

Uma regra prática é escrever um plano de teste no início de um projeto de software quando sua equipe de TI define requisitos funcionais e não funcionais para uma solução de software, escolhe uma pilha de tecnologia apropriada e metodologia de gerenciamento de projeto e cria um roteiro de projeto.

Normalmente, leva até três dias para criar e revisar um plano de teste simples sem casos de teste.

  • Os casos de teste descrevem cenários de teste específicos, incluindo dados de entrada, resultados esperados e etapas a serem executadas. Os casos de teste são projetados para verificar a funcionalidade, desempenho ou outros aspectos de um produto de software. Observe que os casos de teste são usados ​​pelos serviços de teste manual e pelas equipes de serviços de automação de controle de qualidade. Dessa forma, você garantirá a cobertura máxima do teste, o que significa que nenhum bug se manifestará no código de produção.

Mesmo que um engenheiro de controle de qualidade qualificado possa escrever um caso de teste de alto nível em apenas dez minutos, o número de casos de teste para um projeto de tamanho médio pode facilmente exceder 4.000 (e continua crescendo). Multiplique esse número pela taxa horária média do engenheiro de controle de qualidade médio (US$ 65 por hora-homem para o mercado norte-americano) e você chegará a um número impressionante.

  • As listas de verificação são listas concisas e detalhadas de ações ou tarefas que precisam ser concluídas ou verificadas durante o processo de teste. Assim, uma lista de verificação na documentação de controle de qualidade geralmente inclui um resumo completo dos módulos funcionais, seções, páginas e outros elementos de um aplicativo ou sistema ciberfísico que requerem a atenção de uma equipe de controle de qualidade.

Em projetos menores, as listas de verificação podem substituir com sucesso os casos de teste detalhados (falaremos mais sobre isso posteriormente).

  • Os scripts de teste são blocos de código escritos usando ferramentas ou estruturas de teste específicas, como Selenium, Appium e Cucumber. Esses scripts automatizam a execução de casos de teste, tornando o processo de teste mais eficiente — especificamente, em projetos de software grandes e complexos, como sistemas SaaS multilocatários e aplicativos B2C populares, que são atualizados com frequência e onde até mesmo os menores bugs podem afetar negativamente a experiência do usuário .
  • Os dados de teste são os dados usados ​​pelos engenheiros de controle de qualidade para avaliar o desempenho, a funcionalidade, a confiabilidade e a segurança de uma solução de software sob várias condições. Pode incluir valores de entrada de amostra, condições de contorno e vários cenários. Por exemplo, sua equipe de controle de qualidade pode usar dados de teste positivos e negativos para validar que apenas as credenciais de login corretas podem ser usadas para entrar em um sistema de software. Da mesma forma, os dados de teste podem ser usados ​​para implementar restrições de idade em determinados tipos de aplicativos ou investigar como um aplicativo lida com cargas de trabalho maiores.
  • Os logs de teste documentam o processo de execução do teste, incluindo a data e a hora do desempenho do teste, o resumo dos casos de teste executados, os resultados alcançados pela equipe de controle de qualidade, capturas de tela e quaisquer problemas ou observações observados durante o teste. Um log de teste é uma fonte vital de informações para rastrear o progresso do teste, identificar padrões ou tendências nos resultados do teste e fornecer um registro histórico das atividades de teste. Ele ajuda a identificar e resolver problemas com eficiência e serve como referência para futuros esforços de teste ou auditorias.
  • Relatórios de defeitos ou bugs são documentos de teste que detalham defeitos e problemas encontrados durante as atividades de controle de qualidade. Especificamente, eles descrevem os bugs detectados, sua gravidade e prioridade e as condições sob as quais os defeitos ocorrem. Um gerente de controle de qualidade usa relatórios de bugs para atribuir tarefas a especialistas em teste de software e rastrear seu status.
  • Uma matriz de rastreabilidade mapeia o relacionamento entre casos de teste e requisitos ou outros artefatos. Isso ajuda a garantir que todos os requisitos sejam cobertos adequadamente pelos casos de teste, permite rastrear a cobertura do teste em todo o projeto e elimina atividades de teste redundantes.
  • Um relatório de conclusão de teste resume as atividades de teste realizadas em um projeto, incluindo o status de execução do teste, o número de casos de teste executados, defeitos encontrados e quaisquer tarefas pendentes.

Por que a documentação de controle de qualidade é importante?

Ter documentação de garantia de qualidade ajuda a obter os resultados exatos que o cliente e a equipe de engenharia de software esperam.

Isso é alcançado por uma combinação de fatores, incluindo os seguintes:

  1. A documentação de controle de qualidade fornece instruções e diretrizes claras que os especialistas em teste de software podem seguir para executar tarefas de forma consistente, reduzindo as variações e melhorando a qualidade geral dos produtos ou serviços.
  2. A documentação de garantia de qualidade reduz a probabilidade de detecção de defeitos e erros críticos em soluções de software no final do processo de desenvolvimento, desempenhando assim um papel fundamental no controle do orçamento. Os especialistas em QA sugerem que o custo de correção de bugs aumenta exponencialmente a cada estágio do projeto, variando de 3X para a fase de design/arquitetura a 30X e mais para a fase de implantação.
  3. A documentação de garantia de qualidade ajuda a garantir a conformidade com os requisitos e padrões regulamentares que sua organização deve atender, simplificando as auditorias e fornecendo evidências de processos, procedimentos e controles de qualidade estabelecidos.
  4. Ao documentar procedimentos, controles e processos de avaliação de riscos, a documentação de teste de software ajuda as organizações a identificar riscos potenciais e tomar medidas preventivas para minimizar seu impacto nos negócios e na satisfação do cliente.
  5. Novos contratados podem consultar sua documentação de controle de qualidade para entender os processos e procedimentos de qualidade em um projeto de software, reduzindo a curva de aprendizado e garantindo treinamento consistente em toda a organização.
  6. Ao documentar não conformidades, ações corretivas e lições aprendidas, as empresas podem identificar áreas de melhoria e implementar mudanças para aumentar a eficiência e a qualidade.
  7. Ter processos e procedimentos de controle de qualidade bem documentados pode aumentar a confiança do cliente nos produtos ou serviços de sua empresa. A extensa documentação de teste de software demonstra um compromisso com a qualidade e garante que a organização tenha sistemas robustos para fornecer resultados consistentes e confiáveis.
  8. Em situações em que surgem disputas legais ou recalls de produtos, a documentação do controle de qualidade pode servir como evidência importante. Pode demonstrar que sua organização seguiu os processos de qualidade estabelecidos, tomou as precauções necessárias e cumpriu suas obrigações.

Quanto tempo leva para criar a documentação de controle de qualidade?

Uma resposta honesta a esta pergunta será: “Depende”.

Especificamente, o cronograma e os custos associados dependem de vários fatores, como o tamanho de sua organização e a complexidade de seus processos, o setor em que você atua e o tipo de software que está desenvolvendo.

Se você já embarcou em projetos de desenvolvimento de software e possui uma equipe interna de controle de qualidade, poderá reutilizar a documentação existente de controle de qualidade para novos projetos. Usar modelos e ferramentas especializadas para criar e manter documentação de teste de software, como gerenciamento de projetos e software wiki, também é útil.

Você sempre precisa de documentação de controle de qualidade — e é possível reduzir seus custos de criação e manutenção?

Por mais útil que seja, a documentação de garantia de qualidade pode aumentar os custos do projeto de software devido ao esforço adicional e ao pessoal necessário para sua criação e manutenção.

Isso pode ser um problema para startups que operam com pouco dinheiro ou empresas passando por transformação digital em tempos de recessão.

Então, todo tipo de projeto de software precisa de uma documentação de controle de qualidade superdetalhada - e é possível reduzir os custos associados a ela?

Para determinar a melhor abordagem para a criação de documentos de controle de qualidade, considere os seguintes fatores:

  • Tamanho e orçamento do projeto . No caso de projetos de baixo orçamento e curto prazo (a menos que falemos de projetos altamente inovadores e técnicos executados por grandes equipes de TI), não há necessidade de complicar demais o processo de documentação, então sua equipe de QA pode optar por listas de verificação em vez de detalhadas casos de teste. Em relação ao documento do plano de testes, que determina a estratégia geral de testes, também podemos abrir mão de escrevê-lo nos casos em que não haja orçamento para isso ou se o projeto for de curto prazo e não envolver tecnologias de ponta.
  • Tamanho e experiência da equipe de controle de qualidade . Quanto mais engenheiros de controle de qualidade no projeto e menos experiência eles tiverem em garantia de qualidade, mais desafiador será controlar o processo de teste. Portanto, você precisa de extensa documentação de garantia de qualidade para manter os membros da equipe na mesma página. Nesses casos, é aconselhável inclinar-se para casos de teste em vez de listas de verificação para distribuir as tarefas de maneira mais eficaz entre os engenheiros com base em sua experiência e conhecimento, e envolver especialistas de controle de qualidade mais experientes, que normalmente têm taxas horárias mais altas, na criação de casos de teste.
  • Abordagem Agile vs. Waterfall para gerenciamento de projetos . Embora a equipe ITRex tenha resumido as principais diferenças entre as metodologias Agile e Waterfall neste post do blog, vale a pena mencionar o que diferencia as duas abordagens em termos de garantia de qualidade. No Waterfall, o teste de software é salvo para o final, o que significa que sua equipe de controle de qualidade realizará testes somente quando a parte de codificação estiver 100% concluída. Por razões óbvias, eles não podem fazer isso sem a documentação de garantia de qualidade adequada, que deve ser preparada durante a fase de elicitação de requisitos. No Agile, onde as equipes de TI tendem a construir peças menores de software de forma iterativa e testar o código no final de cada ciclo, a documentação de controle de qualidade abrangente e criativa de antemão não é preferida. Ainda assim, recomendo que você escreva um plano de teste para alinhar melhor a situação atual com as expectativas do cliente e dos engenheiros de software.

No geral, ter documentação de controle de qualidade pode beneficiar qualquer projeto de desenvolvimento de software, independentemente da complexidade e tamanho.

No entanto, como uma empresa orientada para o cliente, estamos sempre prontos para sugerir soluções alternativas, considerando seus objetivos e orçamento.

Se você não tem certeza se precisa preparar uma extensa documentação de garantia de qualidade para o seu projeto e procura engenheiros qualificados de controle de qualidade para confiar a tarefa, entre em contato com a ITRex! Garantiremos que você lance uma solução de software livre de bugs e de alto desempenho no prazo, dentro do orçamento e dentro das especificações!


Originalmente publicado em https://itrexgroup.com em 30 de junho de 2023.