Professional Documents
Culture Documents
Janana Horcio
janainahoracio@hotmail.com
Jos Roberto
ze81.puc.rio@gmail.com
O teste de software um dos processos da Engenharia de Software que visa atingir um nvel de qualidade de produto superior. O objetivo por paradoxal que parea mesmo de encontrar defeitos no produto, para que estes sejam corrigidos pela equipe de programadores, antes da entrega final.
http://pt.wikipedia.org/wiki/Teste_de_software
Objetivos
Verificar se no existem erros de lgica no projeto, no cdigo, no fluxo de dados, no entendimento de requisitos, de codificao, tipogrficos e de interface em todas as fases do projeto. Permitir a criao de um produto de qualidade e alta confiabilidade
e desempenho.
Verificar se cada etapa do projeto reflete exatamente os requisitos e definies para garantir que o produto encomendado e gerado pelo desenvolvimento seja o mesmo.
LES/PUC-Rio
Histria
A histria da garantia da qualidade no desenvolvimento de software tem paralelo com a histria da qualidade no processo de manufatura de hardware, na fase inicial da computao(dcada de 50 e 60).
Padres de garantia da qualidade foram introduzidas na dcada de 70, quando os sistemas comeam a ser desenvolvidos para atender atividades das quais dependem milhares de pessoas e at milhares de vidas.
LES/PUC-Rio
Definies
QUALIDADE - A norma ISO 8402 define QUALIDADE como: a totalidade de caractersticas de uma entidade que lhe confere a capacidade de satisfazer as necessidades explcitas e implcitas. E possui requisitos classificados como:
Necessrios - O no atendimento gera insatisfao e o atendimento gera indiferena Normais Se o no atendimento gera insatisfao e no atendimento gera satisfao Atrativos Se o no atendimento gera indiferena e o atendimento satisfao
LES/PUC-Rio
Definies
DEFEITO: a falta de conformidade que se observa em um produto quando determinada caracterstica da qualidade comparada com suas especificaes;
FALHA: A incluso da falta pode levar ao sistema a no comportar de acordo com a sua especificao. Quando isto acontece, utiliza-se o termo falha ;
www.indg.com.br/info/glossario/glossario.asp Grtner, F.C.: Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys 31
(1999) 1-26
LES/PUC-Rio
Modelagem de Teste
http://www.imasters.com.br/artigo/6117/des_de_software/processo_de_teste_de_software_-_parte_2/
LES/PUC-Rio 7
Modelagem de Teste
Caracterizada pela identificao de todos os elementos necessrios para a implementao de cada caso de testes especificado. Fazem parte desta etapa a modelagem das massas de testes .
http://www.imasters.com.br/artigo/6117/des_de_soft ware/processo_de_teste_de_software_-_parte_2/
LES/PUC-Rio 8
Modelagem de Teste
O detalhamento dessa etapa do processo consiste em:
Criao dos Roteiros de Testes; Detalhamento da Massa de Entrada; Detalhamento da Massa de Sada; Critrio de Tratamento da Massa de Teste; Implementar as Adaptaes da Arquitetura do Testes; Elaborao do Plano de Execuo dos Testes.
LES/PUC-Rio
LES/PUC-Rio
10
Teste de Software e XP
O XP (Extreme Programming) um mtodo de desenvolvimento de software desenvolvido por Kent Bech. apropriado a equipes compostas por menos de 10 membros e co-localizadas. O cdigo coletivo criado em dupla e os testes so escritos antes da codificao, e rodam repetidamente, fazendo com que os desenvolvedores respondam rpido a mudanas nos requisitos.
LES/PUC-Rio
11
Tipos de Teste
Teste Estrutural(ou caixa branca); Teste Funcional(ou caixa preta); Teste de Unidade; Teste de Integrao; Teste de Validao;
Teste de Aceitao; Teste Alfa e Beta;
LES/PUC-Rio
12
Baseia os critrios por diferentes tipos de componentes para determinar quais parte do sistema executar classificados em:
Critrios baseados em Fluxo de Dados: Ex.: Todos-Ns, TodosArcos, entre outros; Critrios baseados em Fluxo de Controle: Ex.: Todos-Usos, Todos-Potenciais-Usos;
LES/PUC-Rio
13
Ferramenta Utilizada
LES/PUC-Rio
14
Verifica o sistema, o seu processo interno pela sua interao atravs da Graphic User Interface(GUI) e da anlise dos resultados. Assegura s funcionalidades do programa incluindo dados de entrada, processamento e dados de sada. Utiliza procedimentos pr-definidos pelos Casos de Teste das respectivas funcionalidades.
LES/PUC-Rio
15
Ferramenta Utilizada
Selenium IDE:
Ferramenta utilizada para testar aplicaes web . Existem dois componentes.
Selenium RC recebe as chamadas http e executa os testes. Selenium IDE- extenso do firefox que possibilita a criao de testes
LES/PUC-Rio
16
Teste de Unidade
Baseado nos teste de caixa branca; Utiliza como referncia o Modelo de Desenho do Software; D embasamento para o Teste de Integrao; Os casos de teste utilizados podem ser aplicados em outros projetos.
Diagrama de teste de laos
LES/PUC-Rio
17
Ferramenta
JUnit Framework open-source criado por Eric Gamma e Kent Beck para criao de testes automatizados na linguagem de programao Java; Checa os resultados dos testes e fornece uma resposta imediata; Permite que o programador perca menos tempo depurando seu cdigo; No h a necessidade de para o desenvolvimento, e existem vrios exemplos por ser amplamente utilizado pela comunidade de cdigo-aberto.
LES/PUC-Rio
18
Teste de Integrao
Responsvel por testar vrias partes do sistema e assegurar que elas funcionem juntas, conforme as especificaes. Tcnica para construir a arquitetura do software enquanto realiza-se testes para observar se existem erros.
LES/PUC-Rio
19
Teste de Integrao
Tcnica sistemtica de testes para descobrir erros associado a interface assegurando a ausncia de faltas, sobreposies ou conflito de funcionalidades, integrando unidades j testadas. Possui duas abordagens:
Abordagem Incremental:
Programa construdo e testado em pequenos segmentos; A correo de erros torna-se fcil
Abordagem No-Incremental:
O programa testado como um todo ; Usa a abordagem Big-Bang; O isolamento das causas de erros difcil, sendo assim as correes tambm so mais difceis.
LES/PUC-Rio
20
Teste de Integrao
Abordagem Incremental
A T1 T2 T3 C D T4 B
T1 T2 T3 T4 T5
A B
T1 T1 T2 T3
A B C
Abordagem No - Incremental
LES/PUC-Rio
21
Incremental X No Incremental
Na abordagem incremental h maior facilidade de isolar e corrigir erros, pois o programa testado em pequenos incrementos;
Na abordagem no-incremental o programa testado como um todo dificultando o isolamento do erro e a sua correo.
LES/PUC-Rio
22
Teste de Validao
O Teste de Validao faz uma reviso da configurao tambm chamada de auditoria. Oferece a garantia final de que o software atende a todas as exigncias funcionais, comportamentais e de desempenho. A validao conseguida por intermdio de uma srie de teste que demonstram conformidade com os requisitos. Engloba quase todas as categorias de teste para validar os requisitos do usurio(principal, regresso ou aceitao).
LES/PUC-Rio
23
Teste Principal
Verifica os requisitos funcionais do sistema; Inclui
Usabilidade Confiabilidade Desempenho Instalao
LES/PUC-Rio
24
Teste de Regresso
O Teste de Regresso um teste seletivo, de um software que foi modificado ou de interaes anteriores. utilizada nas manutenes de software; O Teste de Regresso no descarta a necessidade de novos teste para as capacidades novas ou alteradas; Muito utilizado durante desenvolvimento interativo e na produo de uma nova instncia de componentes reusveis.
LES/PUC-Rio
25
Teste de Aceitao
Teste realizados geralmente, por uma restrita parcela de usurios finais do sistema; Garante a satisfao do cliente, evitando o comprometimento com sistemas inadequados; Assegura que a aplicao segura e estvel; Assegura que todas as transaes so corretamente integradas no processo de negcio;
LES/PUC-Rio
26
LES/PUC-Rio
27
Teste de Sistema
Geralmente conduzido pelo lder do projeto ou por um analista de outro projeto; Varre-se as funcionalidades em busca de falhas ; simulado uma ambiente similar ao que usurio final utilizar no dia-a-dia; Os elementos de softwares so integrados com o ambiente operacional (hardware, software e pessoas) e testados como um todo; tipicamente funcional; Utilizado para identificar a corretude, completude, segurana e qualidade do sistema de software;
LES/PUC-Rio 28
Teste de Desempenho
O desempenho real s pode ser verificado quando todos os componentes e mdulos do sistemas estiverem totalmente integrados; fundamental para assegurar que a aplicao seja adequada quanto a implantao e uso. Verifica comportamento do sistema para funes de transao ou de negcios Mede e avalia o tempo de resposta, o nmero de transaes e outros requisitos sensveis ao tempo.
LES/PUC-Rio
29
Ferramenta Utilizada
Jmeter:
Ferramenta do grupo Apache; Disponibiliza diversos tipos de requisies, assertions e controladores para construo do plano de teste; Suporta requisies dos seguintes tipos de servios;
FTP; HTTP; JDBC; Objeto Java; SOAP/XML-RPC; LDAP; Entre outros tipos.
LES/PUC-Rio
30
Teste de Carga
Submete o sistema a variao de carga de trabalho (grande massa de dados) para medir e avaliar o desempenho e a habilidade de continuar funcionando sob cargas de trabalho diferentes; Tambm avalia as caractersticas do desempenho; Deve simular situaes reais ; Simulao do comportamento de usurios com a ajuda de cenrios;
LES/PUC-Rio
31
Ferramenta Utilizada
DBMONSTER Permite inserir vrios registros aleatoriamente no banco de dados da aplicao permitindo assim avaliar como esta se comporta quando se encontra sobre uma grande carga. Conecta-se com vrios tipos de banco de dados :
MYSQL; POSTGRESQL; ORACLE8i; HSQLDB; Entre outros.
LES/PUC-Rio
32
Normas de Qualidade
Qualidade do Software
ISO 9126, CMMI
LES/PUC-Rio
33
LES/PUC-Rio
34
LES/PUC-Rio
35
LES/PUC-Rio
36
Tem por objetivo descrever os documentos necessrios para apoiar a atividade de teste de software;
Os documentos descritos neste padro abrangem o planejamento, especificao e a gerao de relatrios de testes;
LES/PUC-Rio
37
LES/PUC-Rio
38
Especificao do procedimento de teste: especifica os passos para execuo do caso de teste; Relatrio de transio de item de teste: identifica os itens que esto sendo enviados para a equipe de testes; Log dos testes (dirio de bordo): prov um histrico cronolgico dos detalhes relevantes da execuo dos testes;
LES/PUC-Rio
39
Relatrio de incidente: documenta qualquer evento que ocorreu durante o processo de teste e que requer investigao; Relatrio com resumo dos testes: sumariza os resultados dos testes projetados.
LES/PUC-Rio
40
IEEE 1008
Foi desenvolvida para fornecer a base necessria para implementar os procedimentos para os Teste de Unidade; Possui os seguintes objetivos :
Estabelecer um padro para os testes de unidade; Descrever os conceitos sobre engenharia de software na qual esse padro tem base; Servir como guia e recurso para auxiliar na implementao e uso dos testes de unidade dentro de um processo de teste.
LES/PUC-Rio
41
LES/PUC-Rio
42
Um teste pode mostrar a presena de falhas em um software, mais nunca a sua ausncia.
Djiskstra
LES/PUC-Rio
43