Revisão de Testes de Software e Lógica de Descontos

Classificado em Matemática

Escrito em em português com um tamanho de 3,62 KB

Deborah

Questões sobre Testes de Software

1) O modelo em V propõe que a fase de testes dentro do processo de desenvolvimento de software seja dividida em quatro fases: Teste Unitário, Integrado, de Sistema e de Aceitação do Usuário. Explique duas dessas fases:

  • Integração: Verifica se o componente está sendo utilizado de forma coerente e se sua integração respeita a especificação fornecida.
  • Sistema: Executa o sistema sob o ponto de vista do usuário final, varrendo as funcionalidades em busca de falhas.

2) Uma estratégia interessante para a realização dos testes de validação é o conceito da espiral de testes proposto por Pressman. Qual das alternativas melhor apresenta o conceito desta estratégia?

a. Considera uma abordagem evolutiva, onde os testes se iniciam nas menores unidades do código e finalizam nos testes do sistema integrado.

3) São heurísticas de usabilidade:

a. Visibilidade do estado do sistema. Correspondência entre o sistema e o mundo real. Controle e liberdade do usuário. Prevenção de erros. Reconhecer ao invés de relembrar.

Análise de Lógica de Descontos (Teste de Caixa Branca)

Um sistema de e-commerce tem uma política de descontos progressivos em função do valor de compra, conforme segue:

  • Para compras de até R$ 300,00, o desconto é zero (0%);
  • De R$ 300,00 a R$ 500,00, o valor do desconto é igual a 3%;
  • Acima de R$ 500,00, o desconto é igual a 5%.

O programa (Português Estruturado) que implementa a lógica para definir os descontos é dado a seguir. Utilize os métodos do Teste da Caixa Branca para encontrar os casos de teste necessários para testar o programa:

Função calcula_desconto (total_compra)

Início

1- Se total_compra < 300

2- Então desconto = 0

3- Senão Se total_compra <= 500

4- Então desconto = 0,03

5- Senão desconto = 0,05

6- Retornar desconto

7- Fim

a) Calcule a Complexidade Ciclomática

A fórmula utilizada é: $C = F – N + 2$, onde $F$ é o número de fluxos (arestas) e $N$ é o número de nós (blocos de código).

Neste caso, o número de nós ($N$) é 6 (blocos 1, 2, 3, 4, 5, 6) e o número de fluxos ($F$) é 8 (entradas/saídas/decisões). Usando a contagem de predicados (decisões): $C = P + 1$, onde $P$ é o número de predicados (2 decisões: 'Se' e 'Senão Se').

Usando a fórmula fornecida no documento:

$C = 7 – 6 + 2 = 3$

Nota: A complexidade ciclômática correta baseada na estrutura de controle (2 predicados) é $2 + 1 = 3$.

b) Defina os casos de teste na forma de tabela

Os casos de teste são definidos para cobrir todos os caminhos independentes (3 caminhos, conforme a complexidade ciclômática).

ENTRADASAÍDA
Valor de CompraDesconto
2990%
3003%
3013%
4993%
5003%
5015%

Entradas relacionadas: