O que uma equipe de controle de qualidade faz no desenvolvimento de software se não encontra bugs diariamente?
Publicados: 2023-01-27Os engenheiros de garantia de qualidade (QA) costumam ouvir isso:
“Sua equipe detectou vinte bugs ontem, mas hoje você não detectou nenhum!”
Essa postura, por mais válida que pareça, contradiz o próprio propósito e objetivos da garantia de qualidade no desenvolvimento de software.
O que exatamente um QA faz no desenvolvimento de software?
Neste artigo, Andrey Gilyov, vice-chefe da unidade de controle de qualidade da ITRex, explica por que sua equipe de controle de qualidade não está ociosa, mesmo que encontre menos bugs. Além disso, você aprenderá por que sempre deve contratar engenheiros de controle de qualidade para aumentar sua equipe de TI interna ou terceirizada, em vez de ter o código testado por engenheiros de software.
Compreendendo os objetivos do controle de qualidade e por que eles não estão limitados ao rastreamento de bugs
Dependendo do tipo e da complexidade de uma solução de software que você deseja criar, pode ser necessário um especialista em controle de qualidade em meio período ou uma equipe dedicada de controle de qualidade designada para seu projeto. E suas responsabilidades vão muito além de identificar bugs e comunicá-los ao gerente de projeto e à equipe de desenvolvimento.
Em particular, as metas de garantia de qualidade abrangem:
- Prevenção de erros. Pesquisas recentes indicam que os engenheiros de software gastam cerca de 20% de seu tempo corrigindo bugs. Multiplique esse tempo pela taxa horária média do engenheiro de software e você perceberá quanto um código defeituoso pode custar à sua empresa. O preço da correção de erros também aumenta exponencialmente com o tempo no fluxo de trabalho de desenvolvimento de software — e isso sem mencionar as implicações de longo prazo de liberar software cheio de bugs para produção, como vulnerabilidades de segurança, diminuição da experiência do cliente e perdas de reputação. Portanto, o principal objetivo da garantia de qualidade no desenvolvimento de software gira em torno de encontrar bugs antes que eles causem danos significativos. Para realizar essa façanha, uma equipe de QA se prepara para o teste muito antes de colocar as mãos em uma solução de software. Essas atividades de preparação incluem revisar a documentação de teste, escrever um plano de teste e casos de teste, escolher ferramentas de teste apropriadas e configurar o ambiente de teste.
- Rastreamento e avaliação do status do software. Para tomar decisões bem informadas em projetos de software, o gerente de projeto e o cliente precisam de informações atualizadas sobre o produto de software em que estão trabalhando. As metas de garantia de qualidade, entre outras coisas, incluem o fornecimento dessas informações em qualquer período ao longo do cronograma do projeto de software. Vale a pena mencionar, no entanto, que os engenheiros de garantia de qualidade não escolhem o melhor momento para uma solução de software entrar em operação. Em vez disso, é o cliente quem toma a decisão final. Tendo consultado a equipe de QA, um cliente pode até mesmo decidir lançar uma solução de software contendo bugs e erros documentados! Por exemplo, você pode tomar essa decisão quando o prazo para lançar seu produto é relativamente curto e a compensação entre a recompensa – ou seja, superar a concorrência ou habilitar um recurso crítico – é maior do que o risco de lançá-lo com pequenos bugs. De qualquer forma, você precisa detectar, documentar e priorizar esses bugs, e esse também é um dos objetivos de sua equipe de controle de qualidade.
- Validação de requisitos. A principal função do controle de qualidade no desenvolvimento de software é confirmar que sua solução de software funciona conforme o esperado e atende a todos os critérios definidos pelo documento de especificação de requisitos de software (SRS). Quando os especialistas em garantia de qualidade realizam testes manuais ou automatizados e identificam bugs, eles criam um ticket em um sistema de software de rastreamento de bugs como Jira ou ClickUp para a equipe de desenvolvimento. Depois que a equipe de desenvolvimento corrige os erros, o ciclo de teste se repete. Portanto, encontrar bugs não é o objetivo da garantia de qualidade; em vez disso, é um produto secundário das atividades de controle de qualidade.
Às vezes, as equipes de controle de qualidade não conseguem encontrar nenhum bug. E tudo bem
Agora que você entendeu as metas e objetivos do controle de qualidade, vamos voltar à questão que levantamos no início deste artigo.

O que uma equipe de controle de qualidade faz no desenvolvimento de software se seus relatórios de erros contêm zero defeitos por dias a fio?
Existem várias razões pelas quais os especialistas de controle de qualidade podem não encontrar nenhum bug em seu software:
- O software foi exaustivamente testado. Se a solução de software passou por testes completos, é menos provável que os bugs estejam presentes quando o ciclo de controle de qualidade for repetido ou o produto entrar em produção.
- O software tem um design simples. Aplicativos com um conjunto limitado de recursos, integrações e interfaces de usuário simples têm menos probabilidade de conter bugs do que softwares com arquitetura e requisitos de desempenho mais complexos.
- O software é construído usando as melhores práticas. Equipes de engenharia de software que escrevem código limpo e bem documentado, seguem padrões de codificação e usam controle de versão geralmente entregam produtos de software com poucos erros. Esses bugs são detectados e corrigidos no início do processo de teste, e nenhuma outra falha se manifestará em estágios posteriores.
- O processo de teste poderia ter sido mais abrangente. A falta de tempo, recursos ou habilidades pode impedir que os especialistas de controle de qualidade testem sua solução de software completamente. Como resultado, alguns erros podem ser ignorados.
- Os bugs não são reproduzíveis. Às vezes, os especialistas de controle de qualidade podem não encontrar nenhum bug porque os erros não ocorrem de forma consistente. Vários fatores, incluindo a complexidade do software, o uso de bibliotecas de terceiros ou a presença de dependências externas, podem levar a tais situações.
Não importa a causa, você não deve subestimar a importância do controle de qualidade no desenvolvimento de software, muito menos brincar com a ideia de permitir que os desenvolvedores testem o código para você.
Não me interpretem mal: é normal que os desenvolvedores escrevam e executem testes automatizados em equipes ágeis multifuncionais. Ou até mesmo testar o software manualmente.
No entanto, nessas equipes, onde as funções do projeto são frequentemente compartilhadas, o objetivo principal é lançar software ou recursos funcionais mais rapidamente, reduzindo o tempo de retorno e obtendo feedback desde o início. Aqui podemos estar lidando com a questão de risco versus recompensa descrita na seção anterior. E seu projeto pode acumular dívida técnica, levando a problemas de desempenho e custos significativos de depuração no futuro.
Outras razões para contratar especialistas de controle de qualidade dedicados são as seguintes:
- Saber codificar não é igual a saber revisar o código em busca de possíveis erros
- Os desenvolvedores raramente gostam de testar, enquanto os especialistas em controle de qualidade gostam
- As taxas horárias dos engenheiros de software geralmente são mais altas do que as dos especialistas em garantia de qualidade
- Desenvolvedores e engenheiros de controle de qualidade normalmente têm habilidades interpessoais diferentes. Para QAs, a atenção aos detalhes, a capacidade de analisar sistemas complexos e multitarefa ocupam o centro do palco. Por outro lado, os engenheiros de software geralmente trabalham em ambientes colaborativos e se concentram em uma única tarefa por vez.
Portanto, mesmo que sua equipe de controle de qualidade não tenha encontrado nenhum bug hoje, não fique tentado a demitir especialistas em garantia de qualidade ou confiar tarefas de teste à equipe de desenvolvimento principal. Embora essa abordagem possa reduzir seu contracheque no curto prazo, o custo de perder seus clientes devido ao baixo desempenho do software ou a ataques cibernéticos relacionados a bugs pode ser muito maior.
E se você precisar de ajuda para validar que seu software funciona bem, atende a todos os requisitos especificados em seu SRS ou visão técnica e ajuda você a atingir seus objetivos de negócios, entre em contato com os especialistas em QA da ITRex!
Originalmente publicado em https://itrexgroup.com em 20 de janeiro de 2023.
