Sei sulla pagina 1di 25

Fundamentos

Teste de Software
Aula 1

Consideraes sobre software

Elemento de sistema lgico e nico -> desafio


intelectual - probabilidade de falhas um fato;

Manuteno envolve correo ou modificao no


projeto;

Necessita experincia em gerenciamento de software;

treinamento formal na rea fundamental

Qualidade do software objetivo final.

Defeito, engano, erro, falha

estticos

Defeito (fault) passo, processo ou definio de dados


incorretos

Engano (mistake) ao humana que produz um defeito

Dinmicos

erro (error) estado inconsistente ou inesperado

Falha (failure) resultado da execuo diferente do


esperado

A interpretao depender do contexto em que ele for


utilizado

IEEE 610.12, 1990

http://dictionary.ieee.org/index/f-1.html

Falha nos requisitos

Um padro IEEE (IEEE 830, 1998), que recomenda prticas para


especificao de requisitos de software, define atributos de qualidade
que um documento de requisitos deve possuir. Foi considerado que a
falta de qualquer um destes atributos constituiria um tipo de defeito.
Assim, a seguinte taxonomia foi definida:

Omisso:

(1) Algum requisito importante relacionado funcionalidade, ao desempenho,


s restries de projeto, ao atributo, ou interface externa no foi includo;

(2) no est definida a resposta do software para todas as possveis situaes


de entrada de dados;

(3) faltam sees na especificao de requisitos; (4) faltam referncias de


figuras, tabelas, e diagramas;

(5) falta definio de termos e unidades de medidas.

Ambiguidade: Um requisito tem vrias interpretaes devido a


diferentes termos utilizados para uma mesma caracterstica ou vrios
significados de um termo para um contexto em particular.

Falha nos requisitos

Inconsistncia: Dois ou mais requisitos so conflitantes.

Fato Incorreto: Um requisito descreve um fato que no


verdadeiro, considerando as condies solicitas para o
sistema.

Informao Estranha: As informaes fornecidas no


requisito no so necessrias ou mesmo usadas.

Outros: Outros defeitos como a incluso de um requisito


numa seo errada do documento.

informaes

Domnio de entrada conjunto de todos os


possveis valores que podem ser utilizados para
executar um programa (P);

Domnio de sada conjunto de todos os possveis


resultados produzidos pelo programa (P);

Dado de teste = elemento do domnio de entrada

Caso de teste = dado de teste mais resultado


esperado

Conjunto de casos de teste (T)= conjunto dos


dados de teste e seus resultados esperados

D(P)

Sucesso
ou
falha

Em busca da qualidade

Atividades para verificar a qualidade de software:


(presmann., 2011)

Revises de software;

Testes;

Padres e procedimentos formais;

Controle de mudanas;

Mtricas de software;

Procedimentos para coleo e disseminao de


informaes.

Qualidade

controle de qualidade assegurar que o software:

Atenda as necessidades dos clientes e usurios.

Cumpra as especificaes do nvel de qualidade desejado


do sistema

fazer

verificao e validao

verificao e validao

Verificar ver se o sistema est sendo construdo


corretamente, se esta em conformidade com as normas,
especificaes e padres

Validar verificar se o sistema que est em construo


o adequado ou correto

Fatores que interferem

Importncia do software para a organizao;

Expectativas do cliente e dos usurios;

Preo que o cliente est disposto a pagar;

Cronograma de entrega;

Outros sistemas concorrentes.

Tcnicas tradicionais

Reviso (ou inspeo) de produtos de software uma


tcnica baseada no entendimento e anlise do que est
sendo visto (ou lido).

Pode ser aplicado a todos os produtos (seja documento,


ou aos cdigos de programas, ou arquivos de dados).

Reviso de software

A reviso de software deve ser realizada em todos os


produtos de software (documentos, cdigos, dados de
software).

Os objetivos so:

Procurar defeitos;

Possveis melhorias.

Tipos de defeitos

Por fato incorreto

Por Omisso

Exemplo: Dado que o sistema no precisa ter no seu BD, mas


aparece no modelo de anlise.

Por inconsistncia

Exemplo: Omisso de requisitos.

Por informao estranha

Exemplo: O DFD representa o sistema de maneira errada.

Exemplo: Inconsistncia de interface entre dois subsistemas.

Por ambiguidade

Exemplo: Um requisito descrito de maneira que tem diferentes


interpretaes.

Erros em softwares

Em 1996 - Um software com uma exceo no tratada foi


responsvel pela exploso do foguete Ariane-5, quando a 40 seg
aps a iniciao da sequncia de voo, o foguete se desviou de sua
rota, partiu e explodiu, tendo um prejuzo de 500 milhes de
dlares.

http://www.ime.uerj.br/~demoura/Especializ/Ariane/

Therac-25 era uma mquina de radioterapia controlada por


computador, muito moderna para sua poca, por permitir a
utilizao do mesmo equipamento para a aplicao de diversas
doses de radiao nos pacientes. Houve uma srie de pelo menos 6
acidentes entre 1985 e 1987, nos quais os pacientes receberam
overdose de radiao. Pelo menos cinco mortes aconteceram
devido aos acidentes, causados por erros no software que
controlava a mquina. Este acidente mostrou o perigo que reside
em softwares que controlam operaes de
segurana.Estadao.com.br

Custo do defeito

Mitos sobre testes

O testador inimigo do desenvolvedor

Os testadores devem ser os desenvolvedores menos


qualificados

O sistema esta pronto quando o desenvolvedor termina


de codificar

Um programador consegue testar eficientemente seu


prprio cdigo

Possveis etapas

O lder de reviso define os membros revisores;

O autor do produto apresenta suas ideias e perspectivas


utilizadas;

Cada revisor familiariza-se individualmente com o produto


e o revisa;

O lder convoca a reunio de reviso;

Na reunio o autor apresenta o produto e os revisores


identificam os defeitos;

Uma lista de possveis defeitos preparada e enviada para


o autor;

O autor corrige os defeitos ou explica os motivos que levam


alguns deles a no representar problemas reais.

Reunio de reviso

DINMICA DE GRUPO PARA A REVISO

MODERADOR NAS REUNIES DE REVISO

REVISO DE PRODUTOS DE ESPECIFICAO E DE ANLISE

ENTREVISTAS

REVISES DAS ESPECIFICAES

CHECK LIST PARA AS REVISES

TCNICAS DE LEITURA

EXEMPLO: CHECK LIST PARA REVISO


DE CDIGOS DE PROGRAMA

Relativos aos dados:

1) Todas as variveis so inicializadas?

2) O limite superior de dados do vetor menor do que o tamanho do vetor?

3) Existe a possibilidade de over flow de buffer?

Relativo ao controle de execuo:

1) Para cada instruo condicional, a condio est correta?

2) Cada loop terminar corretamente?

3) Nas instrues CASE, todos os casos aparecem?

Relativo interface

1) Todas as chamadas de rotinas tm o nmero correto de parmetros?

2) Os tipos de parmetro combinam?

3) A ordem dos parmetros est correta ?

Relativo entrada e sada de dados

1) Todas as variveis de entrada so utilizadas ?

2) Todas as variveis de sada recebem atribuies antes do final da execuo ?

3) Dados de entrada inesperadas podem causar erros ?

Relativos a situaes de erros e excees

1) Todas as condies de erros/excees foram levadas em conta?

Tcnicas de leitura

Leitura de artefatos com foco voltado para uma


perspectiva distinta e relacionada a uma classe de
usurio na reviso de requisitos.

OORT (Object Oriented Reading Techniques) - leitura


orientada a objetos propem a leitura comparativa de
artefatos em processos horizontais de leitura para os
diagramas e com processos verticais de leitura para a
verificao da consistncia desses artefatos com os
requisitos do sistema.

Leitura horizontal
L
e
i
t
u
r
a
v
e
r
t
i
c
a
l

Teste de software

The process of operating a system or component under


specified conditions, observing or recording the results,
and making an evaluation of some aspect of the system
or component.

Tipos de teste de software

Teste de Caixa Branca Estrutural

Teste de unidade

Teste de integrao

Teste de Caixa Preta - Funcional

Teste funcional

Teste de aceitao

Teste exploratrio

Teste de caixa cinza

Teste de regresso

Teste de cobertura

Nveis de teste

Nvel de testes
Nvel dos testes

Atributos

unitrios

integrao

De sistema

De aceitao

Escopo

unidades

Conjunto de
unidades
agrupadas

Sistema todo

Sistema todo

Equipe

desenvolvedores

Desenvolvedore
s e analistas de
sistema

Analista de
teste e
testadores

Analista de
testes,
testadores e
usurios

Origem dos
dados

Criao manual

Criao manual

Criao
automtica
dados reais

Dados reais

Volume dos
dados

pequeno

pequeno

grande

grande

Interfaces

no

no

Simuladas/reais

Reais

ambientes

desenvolvimento

desenvolviment
o

testes

Testes/produ
o

Potrebbero piacerti anche