Olá, Jessica! Tudo bem?
Muito interessante sua dúvida e depoimento de atuação na área. Em termos de aplicação profissional, está correto sim Jessica, pois como você mencionou devidamente, numa equipe de QA existe um QC, pois o Controle da Qualidade faz parte (está contido) na Garantia da Qualidade. Porém, quanto à terminologia em si e aos conceitos existe mesmo uma diferenciação.
Para facilitar o entendimento, vou dar um exemplo que presenciei trabalhando na área da qualidade em uma indústria metalúrgica, para depois compararmos com o universo de desenvolvimento de software:
Em uma indústria metalúrgica, por exemplo, o Controle da Qualidade está muito relacionado a atividades de inspeção/ amostragem. Existe uma análise laboratorial de amostras do produto final para constatar se a produção está atendendo os parâmetros exigidos pelo cliente. Estas atividades, tem caráter reativo, ou seja, a análise é feita quando o produto está acabado, tendo um objetivo de conhecimento de possíveis defeitos e caso seja necessária alguma correção, envolveria retrabalho do produto. Porém, na indústria também existem setores responsáveis pela Garantia da Qualidade, que irão rever os processos e otimizar a qualidade de todos os processos que estão envolvidos na fábrica até se chegar na produção final, procurando identificar pontos de melhoria (caráter proativo, procurando mitigar erros de processo para que não sejam repassados para o produto) e padronização, se apoiando em normas como as da ISO aplicáveis ao ambiente industrial. E ambas atividades não estão isoladas, ou seja, o Controle da Qualidade e a Garantia da Qualidade estão conectadas compondo uma grande área, que é o Sistema da Qualidade.
Trazendo estes conceitos para o cenário de desenvolvimento de software, o QA visa a prevenção (proativo) de defeitos, erros ou bugs, já o QC visa a identificação e correção (reativo) dos mesmos. Assim, o QA será responsável pela gestão de qualidade das etapas relacionadas ao processo de desenvolvimento de software e o QC se voltará para utilização de ferramentas de Teste de Software para identificação e eliminação das fontes de erro. Exemplificando essas atividades:
- Ao final de uma etapa de desenvolvimento, a equipe de QA faz uma verificação da etapa, visando otimizar o processo de desenvolvimento;
- Os Testes de Software, baseados nos requisitos que o cliente pede, são realizados pela equipe de QC no software já pronto, para saber se o software está em conformidade com o que foi exigido.
Dependendo do contexto da empresa, pode ser que não haja uma distinção de funções (um grupo só para QC e outro para QA), pode ser que exista um grupo de QA que terá a função de cuidar de todos os âmbitos de qualidade do software, e também acabe sendo responsável pelos testes/validação. Em outras organizações, pode ser que exista um grupo para QA e outro para QC, mas ambos em sintonia e englobados nas áreas responsáveis pela Qualidade do Software.
Fez sentido?
Qualquer dúvida sinta-se à vontade para compartilhar conosco aqui pelo fórum.
Te desejo ótimos estudos! :)