Estudante
Instituto de Ciências Matemáticas e de Computação
Depuração e Teste de programas C
C
Depuração e teste de programas C
Profa Rosana Braga
(adaptado de material do prof. André Takeshi Endo)
1º semestre de 2010
1
Roteiro
Teste de Software
Definições
Caso de teste
Depuração de programas
Dev-C++
Gdb + gcc (Linux)
Teste de Software: definições
Executar um programa com a intenção de encontrar defeitos.
Defeito / Bug / Erro
Instrução ou comando incorreto
Falha
Produção de uma saída incorreta
Teste de Software: definições
Exemplo: Leia dois inteiros e imprima o maior.
Teste de Software: definições
Exemplo: Leia dois inteiros e imprima o maior.
rama falhou!
Encontram
O programa falhou!!! Teste de Software: definições
Exemplo: Leia dois inteiros e imprima o maior.
#include
#include int main(void)
{
int num1, num2; printf("Entre com o primeiro numero: "); scanf("%d", &num1); printf("\nEntre com o segundo numero: "); scanf("%d", &num2); if(num1 < num2) printf("\n\nO maior numero eh %d.", num1); else printf("\n\nO maior numero eh %d.", num2);
}
getch();
Teste de Software: definições
Exemplo: Leia dois inteiros e imprima o maior.
#include
#include int main(void)
{
int num1, num2; printf("Entre com o primeiro numero: "); scanf("%d", &num1); printf("\nEntre com o segundo numero: "); scanf("%d", &num2);
O defeito deste programa é a troca do sinal.
O correto seria: if(num1 > num2)
if(num1 < num2) printf("\n\nO maior numero eh %d.", num1); else printf("\n\nO maior numero eh %d.", num2);
}
getch();
Teste de software: definições
Caso de teste
Exemplo: Faça um programa que receba como entrada um inteiro positivo e responda se o número é primo ou não.
< 5; primo >
< 49; nao eh primo >
< 37; primo >
< 10; nao eh