O que é garantia da qualidade de software?

A qualidade do software é avaliada por seus atributos externos e internos. A qualidade externa diz respeito ao desempenho em condições reais de operação e à utilidade para quem usa o software. A qualidade interna diz respeito ao código que sustenta o sistema. Os usuários percebem principalmente o comportamento externo, cuja qualidade depende de um código claro e bem escrito.

External and Internal Software QualityTest External Quality(Visible)ReliabilityEfficiencyMaintenanceCostReview Internal Quality (Invisible)ComplexityProgramStructureFlexibilityReadabilityReusabilityTestabilityCodingPractices
Abrir diagrama em tamanho real

Qualidade de software

O que é garantia da qualidade de software?

Duas abordagens importantes para avaliar a qualidade do software são apresentadas a seguir.

  1. Abordagem de gerenciamento de defeitos
  2. Abordagem de atributos de qualidade
Tudo o que não atende aos requisitos do cliente pode ser considerado um defeito. Requisitos mal compreendidos podem levar a erros de projeto. Lógica funcional inadequada, código incorreto e tratamento impróprio de dados também podem causar defeitos. A abordagem de gerenciamento de defeitos registra cada ocorrência, classifica os defeitos por gravidade e acompanha sua quantidade. A equipe toma as medidas correspondentes à gravidade atribuída. Cartas de controle podem ajudar a medir a capacidade do processo de desenvolvimento.

Defect Management ApproachMetricsDevelopmentProcessQAProcessQA1. RiskAnalysis2. DefectDetection3. AnalysisSoftwareDevelopmentAssign Severityand PrioritySoftwareDevelopmentConductImpactAnalysisfor HighPriorityDefect Management Approach
Abrir diagrama em tamanho real

Abordagem de gerenciamento de defeitos


Um modelo anterior de qualidade de produtos de software, a ISO/IEC 9126-1, agrupa os atributos de qualidade em seis características.

Quality Attribute ApproachFunctionalitySuitabilityAccuracyInteroperabilityComplianceSecurityReliabilityMaturityRecoverabilityUsabilityUnderstandabilityLearnabilityEfficiencyTime Behavior(Time Taken)Resource UtilizationMaintainabilityAnalyzabilityChangeabilityStabilityTestabilityPortabilityAdaptabilityInstallabilityConformanceReplaceability
Abrir diagrama em tamanho real

Abordagem de atributos de qualidade

1. Funcionalidade Conjunto das funções essenciais que o software oferece.

  • Adequação. As funções do software atendem à sua finalidade?
  • Exatidão. As funções foram implementadas corretamente?
  • Interoperabilidade. Como o software interage com os outros componentes do sistema?
  • Conformidade. O software cumpre as leis e diretrizes aplicáveis?
  • Segurança. O software consegue processar transações de dados com segurança?
2. Confiabilidade Capacidade de operar sob condições especificadas durante um período definido, inclusive diante de falhas de componentes.
  • Maturidade. Com que frequência o software falha?
  • Recuperabilidade. Em que medida o sistema consegue retomar toda a operação após uma falha?
3. Usabilidade Facilidade de uso de uma função.
  • Inteligibilidade. Os usuários conseguem entender as funções com facilidade?
  • Facilidade de aprendizado. Quanto esforço pessoas com diferentes níveis de experiência precisam para entender as funções?
4. Eficiência Geralmente depende da arquitetura e das práticas de programação adotadas no desenvolvimento.

5. Manutenibilidade Também chamada de capacidade de manutenção. Depende muito da legibilidade e da complexidade do código e abrange a capacidade de identificar e corrigir defeitos.
  • Analisabilidade. Com que facilidade se identifica a causa principal de uma falha?
  • Modificabilidade. Quanto esforço é necessário para alterar o código e corrigir um defeito?
  • Estabilidade. O comportamento do sistema se mantém estável após as mudanças?
  • Testabilidade. Quanto esforço é necessário para testar o sistema?
6. Portabilidade Capacidade do sistema de se adaptar a mudanças no ambiente.
  • Adaptabilidade. Com que facilidade o sistema se adapta a mudanças em suas especificações?
  • Capacidade de instalação. Com que facilidade se instala o sistema?
  • Conformidade. Equivale à conformidade da categoria de funcionalidade.
  • Capacidade de substituição. Com que facilidade se substitui um componente do sistema em um determinado ambiente?

Custo da qualidade de software Testar exige tempo, dinheiro e esforço. Analisar o custo da qualidade de software ajuda a entender o retorno sobre esse investimento (ROI).

Cost of Software QualityCost ofSoftwareQualityPreventionCostsTestabilityAutomation Testing(Unit and Integration)ContinuousIntegrationAppraisal CostsQA Test PlansUATManual TestingInternal FailureCostsOperationalDowntimeExternal FailureCostsFinancial LossesLoss of Business
Abrir diagrama em tamanho real

Custo da qualidade de software

O custo da qualidade inclui custos de conformidade e de não conformidade. Os custos de conformidade abrangem as categorias a seguir.
  1. Custos de prevenção. Custos de aplicar corretamente as práticas de garantia da qualidade, incluindo treinamento da equipe, revisão de código e outras atividades de garantia da qualidade.
  2. Custos de avaliação. Custos de planejar e realizar testes, incluindo a criação e a execução de casos de teste.
Os custos de não conformidade decorrem das situações a seguir.
  1. Falhas internas. Custos incorridos quando os testes internos iniciais falham. Incluem o esforço dos desenvolvedores para corrigir defeitos encontrados nos testes unitários ou de componentes.
  2. Falhas externas. Custos incorridos quando os clientes descobrem defeitos que passaram pelos testes. São muito maiores do que os custos de falhas internas, especialmente quando há insatisfação ou quando uma falha precisa ser encaminhada a um nível superior.
Custo das falhas de software Vários fatores podem contribuir para falhas de software.
  1. Dificuldade de acompanhar as mudanças. À medida que o software envelhece, adicionar recursos sem revisar o código existente pode aumentar seu tamanho e dificultar a manutenção. Com o tempo, fica difícil identificar as partes que precisam mudar.
  2. O desempenho pode cair quando o software, a carga de trabalho ou os dados mudam. Por exemplo, um vazamento de memória pode aumentar o consumo de memória durante a execução. Meça o problema e investigue sua causa antes de decidir se deve corrigir, atualizar ou substituir o software.
  3. Uma correção pode introduzir uma regressão, especialmente quando outros componentes dependem do código alterado. Confirme que a correção resolve o problema original e teste o comportamento afetado. Use os resultados, o custo de manutenção e o impacto no negócio para decidir como prosseguir.
Teste de software e garantia da qualidade No setor de TI, é comum confundir garantia da qualidade com teste de software. Às vezes, testadores são chamados de profissionais de garantia da qualidade, pois as duas atividades têm o mesmo objetivo de produzir software de qualidade.
A garantia da qualidade desenvolve e implanta os processos necessários para atender aos requisitos de qualidade do cliente e seguir os procedimentos do ciclo de vida do desenvolvimento. Ela é proativa e se concentra nos pontos a seguir.
  1. Prevenção de defeitos
  2. Processos
  3. Melhoria contínua desses processos
Os testes de software identificam defeitos e erros por meio de uma análise rigorosa. Eles verificam desvios em relação aos requisitos do cliente que precisam ser corrigidos. O teste é uma atividade de controle da qualidade voltada ao produto. Ele identifica defeitos. A correção faz parte da depuração.

Garantia da qualidade e controle da qualidade A garantia da qualidade e o controle da qualidade estão relacionados e têm funções diferentes. A garantia da qualidade se concentra na prevenção por meio dos processos. O controle da qualidade se concentra nas atividades que identificam e tratam problemas de qualidade no produto.
Os testes fazem parte do controle da qualidade. A garantia da qualidade e o controle da qualidade contribuem para a gestão da qualidade. A garantia da qualidade estabelece e melhora os processos que ajudam as equipes a atender aos requisitos do cliente.

Quality Management, Assurance and ControlQuality ManagementQuality AssuranceQuality Control
Abrir diagrama em tamanho real

Garantia da qualidade e controle da qualidade

O controle da qualidade inclui atividades para verificar e controlar as características do produto e conferir se o desenvolvimento atende aos requisitos definidos. Examinar e testar o produto são suas atividades mais importantes.

Uma equipe de controle da qualidade identifica produtos ou serviços que não atendem aos padrões da empresa. Se encontrar um problema, pode interromper a produção até que seja resolvido.

Importância da auditoria e da inspeção

Uma auditoria examina de forma sistemática como uma organização testa seu software. Os auditores analisam os processos documentados e verificam se a organização ou a equipe segue os padrões definidos.

Uma inspeção é uma revisão formal de um produto de trabalho, como requisitos, projeto ou código. Revisores que não são os autores procuram defeitos e desvios em relação aos padrões acordados. Uma inspeção típica inclui as atividades a seguir.

  1. Planejamento
  2. Visão geral e preparação individual
  3. Reunião de inspeção
  4. Retrabalho
  5. Acompanhamento




Garantimos que, com a sua formação gratuita online, passará no exame de certificação em testes de software!

  1. 01

    Inscreva-se online

    Escolha a sua certificação acreditada e conclua a inscrição.

  2. 02

    Receba o código de acesso

    O seu código pessoal de acesso ao exame é enviado imediatamente por e-mail.

  3. 03

    Prepare e faça o exame

    Estude com a sua formação gratuita e responda online a 50 perguntas de escolha múltipla.

  4. 04

    Obtenha uma certificação vitalícia

    Receba o seu certificado válido em todo o mundo e o distintivo digital verificável.

Exemplo de certificado Accredited Software Test Manager Certification™
Inscrever na certificação

A SUA FORMAÇÃO PREMIUM GRATUITA ONLINE

A segunda edição de Software Testing Revealed já está disponível para si.

Criámos a sua formação com um grupo de líderes empresariais e de equipas reconhecidos, formadores de testes de software, mentores e especialistas de referência nos principais setores. Qualquer pessoa que visite International Software Test Institute™ pode aceder à formação. Encontre os materiais nas secções O seu livro gratuito de testes de software e A sua formação premium gratuita em testes de software do menu principal.

Estes materiais são propriedade intelectual de International Software Test Institute™ e estão protegidos por direitos de autor. Partilhamo-los gratuitamente com todos porque divulgar a nossa experiência apoia os profissionais de testes de software e ajuda a desenvolver a área.

O exame de certificação é composto por perguntas de escolha múltipla. Estude com a formação online para adquirir os conhecimentos de que precisa para passar no exame e obter a sua certificação em testes de software.

Garantimos que, com a sua formação premium gratuita online, passará no exame de certificação em testes de software!