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).
| ENTRADA | SAÍDA |
| Valor de Compra | Desconto |
| 299 | 0% |
| 300 | 3% |
| 301 | 3% |
| 499 | 3% |
| 500 | 3% |
| 501 | 5% |