Академический Документы
Профессиональный Документы
Культура Документы
Teste de Software
Ricardo A. Ramos
Organizao
Introduo
Teste de Software
Perspectivas
Introduo
Qualidade de Software
Conformidade com requisitos funcionais
e de desempenho, padres de desenvolvimento
documentados e caractersticas
implcitas esperadas de todo software
profissionalmente desenvolvido.
Corretitude
Confiabilidade
Testabilidade
Introduo
Objetivo
Garantir
Introduo
Terminologia
Defeito
Erro
Falha
Defeitos no Processo de
Desenvolvimento
A maior parte de origem humana
So gerados na comunicao e na
transformao de informaes
Continuam presentes nos diversos produtos de
software produzidos e liberados (10 defeitos a
cada 1000 linhas de cdigo)
A maioria encontra-se em partes do cdigo
raramente executadas
Defeitos no Processo de
Desenvolvimento
Teste e Depurao
Teste
Processo de executacao de um programa com
o objetivo de revelar a presena de erros.
Contribuem para aumentar a confiana de que o
software desempenha as funes especificadas.
Depurao
Conseqncia no previsvel do teste.
Aps revelada a presena do erro, este
deve ser encontrado e corrigido.
Teste de Software
10
Teste de Software
Objetivo: revelar a presena de erros
D
Inexistncia de erro:
11
Teste de Software
Alto custo
12
Teste de Software
Falhas graves
Novos testes
13
Teste de Software
Limitaes
14
Teste de Software
Configurao
de Software
Resultados
de Teste
Atividades de
Teste
Configurao
de Teste
Avaliao
Erros
Depurao
Dados
da Taxa
de Erros
Resultados
Esperados
Modelo de
Confiabilidade
Confiabilidade
Prevista
Correes
15
Teste de Software
Fases de Teste
Teste de Unidade
Teste de Integrao
Teste de Sistema
16
Teste de Software
Etapas do Teste
Planejamento
Projeto de casos de teste
Execuo do programa com os casos de teste
Anlise de resultados
17
Teste de Software
Caso de teste
Orculo
18
Teste de Software
19
Teste de Software
e Critrios de Teste
desejveis
20
Critrio de Teste C
Objetivo
Propriedades
i) incluir todos os desvios de fluxo de execuo
ii) incluir pelo menos um uso de todo resultado
computacional
iii) T mnimo e finito
21
Critrio de Adequao
Predicado
22
Tcnica Funcional
Requisitos
Tcnica Estrutural
Estrutura
funcionais do software
interna do programa
23
Ferramentas de Teste
Para a aplicao efetiva de um critrio de teste faz-se
necessrio o uso de ferramentas automatizadas que
apiem a aplicao desse critrio.
24
programas em Fortran
Proteum programas em C (unidade)
Proteum/IM programas em C (integrao)
Proteum/RS especificaes
25
26
27
Tcnica Funcional
Problema
28
Particionamento em Classes de
Equivalncia
Divide
29
Passos
Identificar
Condies de entrada
Classes vlidas e invlidas
Definir
classes de equivalncia
os casos de teste
30
Exemplo
abc12 (vlido);
cont*1 (invlido);
1soma (invlido);
a123456 (invlido)
31
Classes de equivalncia
Condies de Entrada
Tamanho t do identificador
Primeiro caractere c uma letra
S contm caracteres vlidos
t>6
(1)
(2)
Sim
No
(3)
(4)
Sim
No
(5)
(6)
32
33
34
Classes de equivalncia
Condies de Entrada
Tamanho t do identificador
Primeiro caractere c uma letra
S contm caracteres vlidos
t =0, 7
(1)
(2)
--
--
--
--
35
36
Tcnica Estrutural
Grafo de Programa
37
01
01
01
01
01
01
01
01
02
03
04
05
05
06
07
07
07
08
09
10
10
11
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
01
02
char achar;
int
length, valid_id;
length = 0;
03
printf (Identificador: );
achar = fgetc (stdin);
valid_id = valid_s(achar);
04
if (valid_id)
length = 1;
05
achar = fgetc (stdin);
while (achar != '\n')
{
06 09
if (!(valid_f(achar)))
valid_id = 0;
length++;
07
achar = fgetc (stdin);
}
if (valid_id && (length >= 1) && (length < 6) )
printf (Valido\n);
else
printf (Invalido\n);
08
10
11
38
Tcnica Estrutural
Grafo de Programa
Detalhes considerados
n
arco
caminho
simples (2,3,4,5,6,7)
completo
(1,2,3,4,5,6,7,4,8,9,11)
fluxo de controle
39
Semeadura
de Erros
Teste de Mutao
40
Teste de Mutao
Efeito de Acoplamento
Casos de teste capazes de revelar erros simples so
to sensveis que, implicitamente, tambm so
capazes de revelar erros mais complexos.
41
Anlise de Mutantes
Operadores
de Mutao
P2
P3
P4
Pn
Mutantes
42
Anlise de Mutantes
Pequena
cardinalidade
Problemas de custo
Quanto maior o nmero de operadores
utilizados, maior o nmero de mutantes gerados
43
Anlise de Mutantes
Exemplo de Mutantes
Mutante Gerado pelo Operador OLAN
if (valid_id * (length >= 1) && (length < 6) )
printf ("Valido\n");
else
printf ("Invalido\n");
44
Anlise de Mutantes
Mutante equivalente
Incluso de novos casos de teste
Escore de mutao:
Introduo ao Teste de Software
ms(P,T) =
DM(P,T)
M(P) - EM(P)
45
Concluses
do produto
46
Perspectivas
Estratgias de Teste
Teste de Integrao
Teste Orientado a Objeto
Teste de Especificao
Teste de Sistemas Reativos
Ambiente Integrado para Teste, Depurao e
Manuteno de Software
Teste de programas orientados a aspectos
Teste com o apoio de orientao a aspectos
47