A garantia da qualidade do software (SQA) é um processo sistemático que visa impedir que os defeitos de software ocorram em primeiro lugar e garante que o software atenda aos requisitos especificados e padrões de qualidade ao longo de seu ciclo de vida. É uma abordagem proativa, diferentemente do controle de qualidade (CQ), que é reativo e se concentra em encontrar defeitos * após * o software for construído.
O SQA abrange uma ampla gama de atividades, incluindo, entre outros,:
1. Planejamento e padrões: *
Definindo padrões de qualidade: Definir metas específicas, mensuráveis, alcançáveis, relevantes e limitadas (inteligentes) para os atributos de qualidade do software (por exemplo, desempenho, segurança, usabilidade).
*
Criando um plano de garantia de qualidade: Descrevendo os processos, métodos e recursos necessários para alcançar os padrões de qualidade definidos. Isso inclui a definição de papéis e responsabilidades.
*
Estabelecendo um processo de revisão: Definição de procedimentos para revisões de código, revisões de design e outras formas de verificações de qualidade.
*
Definindo e gerenciando métricas: Rastreando os principais indicadores de desempenho (KPIs) para monitorar a eficácia do processo SQA.
2. Prevenção e detecção precoce: *
Análise e revisão de requisitos: Garantir que os requisitos sejam claros, consistentes, completos e testáveis.
*
Revisões de design: Avaliando a arquitetura e o design do software para possíveis falhas antes do início da codificação.
*
Revisões de código (revisões por pares): Ter outros desenvolvedores examinando o código para bugs, vulnerabilidades e aderência aos padrões de codificação.
* Análise estática: Usando ferramentas automatizadas para identificar possíveis problemas no código sem realmente executá -lo.
*
Estratégias e planejamento de teste: Definindo uma estratégia de teste abrangente que abrange diferentes níveis de teste (unidade, integração, sistema, aceitação) e tipos de teste (funcional, desempenho, segurança, usabilidade).
3. Teste e verificação: *
Teste de unidade: Testando componentes individuais ou módulos do software.
*
Teste de integração: Testando a interação entre diferentes módulos.
*
Teste do sistema: Testando todo o sistema de software como um todo.
*
Teste de aceitação do usuário (UAT): Ter os usuários finais testam o software para garantir que ele atenda às suas necessidades.
*
Teste de desempenho: Avaliando a velocidade, escalabilidade e estabilidade do software sob diferentes cargas.
*
Teste de segurança: Identificando e mitigando vulnerabilidades de segurança.
*
Teste de usabilidade: Avaliando a facilidade de uso do software e a experiência do usuário.
*
Teste de regressão: Garantir que novas alterações não introduzissem novos bugs ou funcionalidade existente quebrada.
4. Melhoria contínua: *
Rastreamento e análise de defeitos: Identificar as causas radiculares dos defeitos para impedir que problemas semelhantes aconteçam no futuro.
*
Melhoria do processo: Avaliando e melhorando regularmente os processos SQA para aumentar a eficácia e a eficiência.
* Análise de métricas
: Analisando os dados coletados durante todo o processo para identificar áreas para melhorar.
Em essência, o SQA é sobre a qualidade da qualidade do software desde o início, em vez de tentar corrigi -lo depois. Envolve um esforço colaborativo em toda a equipe de desenvolvimento e se concentra na prevenção de defeitos, na garantia de conformidade e, finalmente, fornecendo software de alta qualidade que atenda às necessidades e expectativas do usuário.