Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos e Fundamentos da Qualidade de Software — INSTITUTO AOCP 2024

Engenharia de SoftwareConceitos e Fundamentos da Qualidade de Software
Código
qa631676
Banca
INSTITUTO AOCP
Órgão
MPE PR
Ano
2024
Cargo
Ana ( )

Qualidade de software é um aspecto crucial no desenvolvimento de sistemas eficazes e eficientes. Acerca da qualidade de software, assinale a alternativa correta.

  1. AA Garantia da Qualidade de Software (GQS) se concentra exclusivamente na realização de testes automatizados para detectar defeitos no software.
  2. BO teste de regressão é utilizado para verificar se o software atende aos requisitos especificados pelo cliente.
  3. CO processo de verificação valida se o software está em conformidade com os requisitos de negócio, enquanto a validação verifica se o software foi construído corretamente de acordo com as especificações técnicas.
  4. DO modelo CMMI (Capability Maturity Model Integration) não está relacionado à melhoria de processos de software, focando apenas métricas de desempenho.
  5. EA norma ISO/IEC 25010 define um modelo de qualidade de software que inclui características como funcionalidade, confiabilidade, usabilidade, eficiência, manutenção e portabilidade.
Revelar gabarito e comentário

GabaritoE — A norma ISO/IEC 25010 define um modelo de qualidade de software que inclui características como funcionalidade, confiabilidade, usabilidade, eficiência, manutenção e portabilidade.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Qualidade de Software: Conceitos e Normas

Gabarito: letra E. A norma ISO/IEC 25010 (SQuaRE) define um modelo de qualidade de software que inclui características como funcionalidade, confiabilidade, usabilidade, eficiência, manutenção e portabilidade — exatamente o que a alternativa E afirma. As demais alternativas distorcem conceitos fundamentais da qualidade de software, como o papel da Garantia da Qualidade (GQS), o propósito do teste de regressão, a diferença entre verificação e validação, e o objetivo do modelo CMMI.

A qualidade de software é um conceito multifacetado que envolve tanto a qualidade do processo quanto a qualidade do produto. A qualidade do processo foca na prevenção de defeitos, garantindo que as etapas de desenvolvimento sejam seguidas corretamente, enquanto a qualidade do produto foca na detecção de defeitos, verificando se o software final atende aos requisitos especificados. Essa distinção é fundamental para entender o papel de cada atividade e norma no contexto da engenharia de software.

A norma ISO/IEC 25010, que faz parte da família SQuaRE (Software product Quality Requirements and Evaluation), é a sucessora da ISO/IEC 9126 e define um modelo de qualidade mais abrangente. Ela organiza a qualidade em características e subcaracterísticas, que servem como base para avaliar e medir a qualidade do software. As características principais incluem funcionalidade, confiabilidade, usabilidade, eficiência de desempenho, manutenibilidade e portabilidade, entre outras. Essa norma é amplamente cobrada em concursos, e é essencial conhecer suas características e subcaracterísticas.

A Garantia da Qualidade de Software (GQS ou SQA) é uma atividade gerencial e preventiva que visa assegurar que os processos de desenvolvimento estejam sendo seguidos corretamente, a fim de prevenir defeitos. Ela não se concentra exclusivamente em testes automatizados, mas sim em auditorias, revisões, e na definição de padrões e procedimentos. Já o Controle de Qualidade (QC) é uma atividade de detecção, que envolve a execução de testes para encontrar defeitos no software. Essa distinção é crucial e frequentemente explorada em provas.

O teste de regressão é uma técnica utilizada para garantir que as alterações no software não introduziram novos defeitos em funcionalidades já existentes. Ele não é utilizado para verificar se o software atende aos requisitos do cliente — essa é a função do teste de aceitação. A verificação e a validação são dois processos distintos: a verificação confirma se o software foi construído corretamente, de acordo com as especificações técnicas, enquanto a validação confirma se o software atende às necessidades e expectativas do cliente, ou seja, se é o produto certo.

O CMMI (Capability Maturity Model Integration) é um modelo de maturidade que visa a melhoria contínua dos processos de software. Ele não está focado apenas em métricas de desempenho, mas sim em estabelecer práticas e processos maduros que levem a uma maior previsibilidade e qualidade nos projetos. A confusão entre esses conceitos é a base das pegadinhas desta questão.

Guarde a fronteira entre os conceitos de qualidade de processo e qualidade de produto, e entre verificação e validação: é exatamente nesses pares que as alternativas se dividem.

Qualidade de software
  • 1Qualidade de processo
    • Prevenção de defeitos
    • GQS (garantia)
  • 2Qualidade de produto
    • Detecção de defeitos
    • QC (controle)
  • 3Verificação × Validação
    • Verificação: construímos certo?
    • Validação: construímos o produto certo?
  • 4Testes
    • Regressão: não introduzir novos defeitos
    • Aceitação: atende aos requisitos do cliente
  • 5Normas e modelos
    • ISO/IEC 25010 (SQuaRE)
      • Funcionalidade
      • Confiabilidade
      • Usabilidade
      • Eficiência
      • Manutenção
      • Portabilidade
    • CMMI: melhoria de processos
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A Garantia da Qualidade de Software (GQS) não se concentra exclusivamente em testes automatizados. A GQS é uma atividade gerencial e preventiva que abrange auditorias, revisões, definição de padrões e procedimentos, e supervisão das atividades de controle de qualidade. Os testes automatizados são uma ferramenta do Controle de Qualidade (QC), que é uma atividade de detecção de defeitos. A alternativa confunde o papel da GQS com o do QC, restringindo indevidamente o escopo da garantia da qualidade.

Alternativa B — ❌ Incorreta

O teste de regressão é utilizado para verificar se as alterações no software não introduziram novos defeitos em funcionalidades já existentes. Ele não é utilizado para verificar se o software atende aos requisitos especificados pelo cliente — essa é a função do teste de aceitação, que é realizado pelo cliente ou usuário final. A alternativa atribui ao teste de regressão um propósito que pertence a outro tipo de teste, confundindo os objetivos de cada um.

Alternativa C — ❌ Incorreta

A alternativa inverte os conceitos de verificação e validação. A verificação confirma se o software foi construído corretamente, de acordo com as especificações técnicas — ou seja, se está em conformidade com o que foi documentado. A validação confirma se o software atende às necessidades e expectativas do cliente, ou seja, se é o produto certo. A alternativa troca os papéis, afirmando que a verificação valida os requisitos de negócio e a validação verifica a conformidade com as especificações técnicas, o que é exatamente o oposto do que a engenharia de software estabelece.

Alternativa D — ❌ Incorreta

O modelo CMMI (Capability Maturity Model Integration) está diretamente relacionado à melhoria de processos de software. Ele define níveis de maturidade que orientam as organizações a evoluírem seus processos, desde o nível inicial até o nível otimizado. O CMMI não foca apenas em métricas de desempenho, mas sim em estabelecer práticas e processos maduros que levem a uma maior previsibilidade e qualidade nos projetos. A alternativa nega a relação do CMMI com a melhoria de processos, o que é um erro conceitual grave.

Alternativa E — ✅ Correta ⟵ GABARITO

A norma ISO/IEC 25010, que faz parte da família SQuaRE, define um modelo de qualidade de software que inclui características como funcionalidade, confiabilidade, usabilidade, eficiência, manutenção e portabilidade. Essas características são organizadas em subcaracterísticas, que servem como base para avaliar e medir a qualidade do software. A alternativa está correta ao afirmar que a norma define um modelo de qualidade com essas características, que são amplamente reconhecidas e cobradas em concursos.

NÃO CAIA NESSA!

Para questões sobre qualidade de software, memorize as características da ISO/IEC 25010 (funcionalidade, confiabilidade, usabilidade, eficiência, manutenção e portabilidade) e a diferença entre verificação (construímos o software corretamente?) e validação (construímos o software certo?). Esses são os pontos mais cobrados e as pegadinhas mais comuns.

Gabarito: letra E

Link permanente: /questoes/qa631676