Qualidade de software Flashcards

(16 cards)

1
Q

O que é complexidade ciclomática?

A

Mede o número de caminhos lineares independentes através do código, é calculada com base na estrutura do grafo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual a fórmula para calculo do grau ciclomático?

A

V(G) = E - N + 2P, onde E é o número de arestas, N é o número de nós, e P é o número de componentes conexos (geralmente P=1 para programas sequenciais).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais as 8 características principais para avaliar um software? (Qualidade do software)

A
  • Funcionalidade (Adequação Funcional) – O software faz o que foi projetado para fazer?
  • Eficiência de Desempenho – Responde rapidamente e usa bem os recursos?
    • Pressupõe comportamento adequando quanto ao tempo de resposta e comportamento adequado quanto aos recursos utilizados.
  • Compatibilidade – Funciona corretamente com outros sistemas?
  • Usabilidade – É fácil de aprender e usar?
    • Pressupõe inteligibilidade, operabilidade e apreensibilidade.
  • Confiabilidade – Funciona de forma estável e sem falhas frequentes?
  • Segurança – Protege os dados e evita acessos não autorizados?
  • Manutenibilidade – É fácil de corrigir, modificar e melhorar?
    • Pressupõe analisabilidade, modificabilidade, estabilidade e testabilidade.
  • Portabilidade – Pode ser transferido para outros ambientes facilmente?
    • Pressupõe: adaptabilidade, capacidade para ser instalado, capacidade para substituição.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais os pontos para avaliar a experiência do usuário? (Qualidade do uso)

A
  • Eficácia – O usuário atinge seus objetivos com sucesso?
  • Eficiência – O usuário gasta poucos recursos e tempo?
  • Satisfação – O usuário fica satisfeito com a experiência?
  • Segurança – O uso do software não gera riscos ao usuário ou aos dados?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é metodologia DAST, SAST e IAST?

A

SAST (Static Application Security Testing), como o utilizado pelo SonarQube, analisa o código-fonte, byte code ou binários de aplicativos para detectar vulnerabilidades sem executar o programa. DAST (Dynamic Application Security Testing) testa a aplicação do ponto de vista externo, em um ambiente de execução, para identificar falhas de segurança. Essa diferença é crucial para entender as capacidades e limitações das ferramentas de análise de segurança de software.
Um agente IAST (Interactive Application Security Testing) realiza análises de segurança de aplicações em tempo real, com acesso a informações de fluxo de dados, configurações, bibliotecas e frameworks. Isso permite que o IAST analise o comportamento real de uma aplicação em execução para identificar vulnerabilidades. Como tem visibilidade do fluxo de dados e do ambiente, o IAST pode detectar problemas que outras ferramentas como SAST (Static Application Security Testing) não conseguem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais os princípios básicos para garantia da qualidade do software?

A
  • Satisfação do cliente;
  • Liderança;
  • Envolvimento das pessoas;
  • Abordagem de processo;
  • Melhoria contínua;
  • Tomada de decisão baseada em evidências e
  • Gestão de relações.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é gestão da configuração de um software?

A

A gestão de configuração de software (GCS) é um conjunto de atividades de apoio que permite a absorção ordenada das mudanças inerentes ao desenvolvimento de software, mantendo a integridade e a estabilidade durante a evolução do projeto. As atividades da GCS e as respectivas ferramentas de apoio são: Controlar e acompanhar mudanças, Registrar a evolução do projeto e Estabelecer a integridade do sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é teste caixa-preta?

A

São uma abordagem de testes de software onde o testador foca somente nas entradas e saídas do sistema, sem se preocupar com a implementação interna ou o código-fonte do software. Ou seja, o comportamento do sistema é avaliado com base em suas funções e requisitos, sem que o testador tenha acesso ao código ou à estrutura interna do sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é teste caixa-branca?

A

São um tipo de teste de software que envolve a análise da estrutura interna do sistema. Ao contrário dos testes de caixa preta, onde o foco está nas entradas e saídas do sistema, os testes de caixa branca são realizados tendo acesso ao código-fonte e à lógica interna do software. O objetivo é verificar a funcionalidade interna do sistema, garantindo que o código esteja sendo executado corretamente e que todas as partes do sistema sejam testadas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é teste de regressão?

A

São um tipo de teste de software que visa garantir que alterações no código, como correções de bugs ou novas funcionalidades, não introduzam erros ou quebras em funcionalidades já existentes. O objetivo principal é verificar se o sistema ainda funciona corretamente após modificações no código-fonte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é teste não funcional?

A

São um tipo de teste de software que avaliam aspectos do sistema que não estão diretamente relacionados às funcionalidades específicas ou ao comportamento esperado do software em relação às entradas e saídas. Ou seja, ao invés de verificar se o sistema faz o que se espera dele (como nos testes funcionais), os testes não funcionais se concentram em aspectos relacionados à performance, usabilidade, segurança, compatibilidade, entre outros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quais são as principais métricas de qualidade do código?

A

Complexidade ciclomática
Cobertura de código
Densidade de defeitos
Acoplamento
Coesão
Tamanho do código
Herança
Duplicação de código

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que é garantia da qualidade?

A

É a definição de processos e padrões que devem levar a produtos de alta qualidade e à introdução de processos de qualidade no processo de fabricação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que é controle da qualidade?

A

É a aplicação desses processos de qualidade para eliminar os produtos que não são do nível exigido de qualidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quais as atividade do gerenciamento da configuração?

A
  1. Controle de versão. Envolve manter o controle das várias versões dos componentes do sistema e garantir que as mudanças feitas em componentes por diferentes desenvolvedores não interfiram umas com as outras.
  2. Construção de sistema. Processo de reunir componentes, dados e bibliotecas do programa, compilando-os e ligando-os para criar um sistema executável.
  3. Gerenciamento de mudanças. Envolve manter o controle das solicitações de mudança de clientes e desenvolvedores no software já entregue, elaborar os custos e o impacto de fazer essas mudanças e decidir se e quando as alterações devem ser implementadas.
  4. Gerenciamento de lançamentos (releases). Envolve a preparação de software para o lançamento externo e o acompanhamento das versões de sistema que foram lançadas para uso do cliente.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quais os 4 níveis de testes?

A
  • Teste de unidade
    • O teste de unidade é o teste feito para validar o método da classe.
  • Teste de Integração
    • O teste de integração é feito para avaliar o funcionamento dos componentes internos.
  • Teste de Sistema
    • O teste de sistema é feito para avaliar a funcionalidade dos módulos no hardware.
  • Teste de aceitação
    • O teste de aceitação é aquele que envolve o produto.