Upload
leonardo-molinari
View
1.415
Download
1
Embed Size (px)
DESCRIPTION
Gerenciando Testes e Qualidade palestra no Serpro
Citation preview
Gerenciando o Processo Gerenciando o Processo de Testes com Qualidade de Testes com Qualidade
Técnicas e PráticasTécnicas e PráticasLeonardo Molinari
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
2
Agenda
• Qualidade em Prática
• Gerenciando a Qualidade com Testes
• Novas Técnicas & Práticas
• Praticando Testes de Aplicações Web
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
3
Abrangência de um Projeto
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
4
Maiores Problemas no Desenvolvimento
#1 – Complexidade do mundo real
#2 - QA não conhecem as reais necessidades dos usuários
#3 – Tempo Inadequado de teste
#4 – Falta de comprometimento corporativo
#1
#2
#3
#4
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
5
Praticando Qualidade
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
6
O que influencia o sucesso de um Projeto ???
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
7
Alguns Bugs de Software ...• Bug do Milênio
• Software de Mísseis na Guerra do Golfo
• A Bovesp ficou fora do ar ½ dia em fev/2003
• Em 1985, 3 pessoas foram mortas por um bug na maq. Therac-25 (radioativa). Operava em 2 modos : baixa e alta radiação. Erro: Operador entrava com código Errado e depois corrigia (maq. PDP-11), porém operador era mais rápido que a máquina...
• Falhas no Win-NT, Win2000 abrem “portas” para hackers...
• Bug congela celulares Siemens (19/mar/2003, IDG Now) – bug ligado a tecnologia Enhanced Messaging Service (EMS). 1 Palavra + alguns icones travava o celular.
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
8
Quando Aplicar Testes ?
• Antes• Testes Funcionais, Unidade
• Durante• Performance
• Depois• Monitoração
• Segurança
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
9
Ciclo de Desenvolvimento, Teste e Produção
Definição dos Requerimentos
Teste de Carga(interno ao
firewall)
Teste Funcional
Planejamento dosTestes
Teste de Carga(externo ao
firewall)
Monitoração de Performance e Teste de
VulnerabilidadeAlertas em Tempo
Real
Diagnósticos
Análise Contínua
Detecção dos problemas
Desenvolvimento de Aplicações
Produção
Ferramentas de Testes
Ferramentas de Testes
Ferramentas de Testes
Ferramentas de TestesFerramentas de Testes
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
10
Vantagem Competitiva da usando Testes
RISCO
PREVISIBILIDADE
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
11
Novas Técnicas & Práticas
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
12
•O que é ???
Fonte: “BTO-Otimização da Tecnologia do Negócio” – Leonardo Molinari - Ed. Erica
Como Criar o seu Modelo de Testes ?
Dimensões de Testes
(criado pelo palestrante)
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
13
Conceito: Dimensões de Testes
•Momento
•Meta
•Técnica•Ambiente
•Unitário
•Integrado
•Sistema
•Pós-Produção
•Caixa Branca
•Caixa Preta
•Caixa Cinza, etc...
•Funcional
•Performance
•Segurança, etc...
•Web
•Client-Server
•Mainframe, etc...
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
14
•Momento
•Meta
•Técnica•Ambiente
•IDEAL •PLANEJADO
•REALIZADO
Conceito: Dimensões de Testes
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
15
•Momento
•Meta
•Técnica•Ambiente
•Exemplo
•Somente client-server
•Somente teste de sistema
•Somente teste de caixa-preta
•Testes funcionais e de performance
Conceito: Dimensões de Testes
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
16
Exemplo de Redução e Aplicação do Meta-Modelo
•Momento
•Meta
•Técnica•Ambiente1 23
4
•Melhoria do Processo •Melhorando o Código do Tipo de Aplicação•Atacando tipos de Aplicações Distintas•Melhoria de Componentes
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
17
Matrix Test(criado pelo palestrante)
• Novo tipo de Teste (meta)
• Envolve características parciais de outros testes: funcional, caixa-preta
• Envolve uso de Vídeo e Analise de Comportamento Usuário – Abordagem “Diagonal”
• Vantagem Estratégica em Aplicações Onde o Grau de Incerteza de Casos de Testes Cresce Infinitamente
Como Usar Novos Tipos de Testes ?
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
18
Infinite Test(criado pelo palestrante)
• Novo tipo de Teste (momento)
• “Mortus Momentum” da Aplicação
• Testes realizados quando a aplicação já está estável e tende a não evoluir
• Enfoque de Testes Randômicos
• Vantagem de Descobrir erros quando estratégias tradicionais não mais permitem fazê-lo
Como Usar Novos Tipos de Testes ?
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
19
Como criar Testes sem Requerimentos ?
• Escolas de Testes
• Escola Analítica de Testes• Artefato Lógico , Visão Matemática
• Escola de Fábrica de Testes• Teste Desenvolvimento de Projeto (gerenciado)
• Escola da Garantia da Qualidade de Software• Disciplina, Policiamento do Desenvolvimento
• Escola CONTEXT-DRIVEN Testing Approach
• Pessoas Definem Contexto
VISÕES: -EUA-EUROPA -ASIA-América Latina
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
20
7 Princípios da Context-Driven Testing Approach
• Valor da prática depende do Contexto. • Existem boas práticas, mas não há melhores práticas• Pessoas trabalham juntas e são a parte mais importante do
contexto do Projeto• Projetos que ultrapassam o tempo porque em geral são
imprevissíveis• O produto é uma solução. Se o problema não é resolvido, o
produto não funciona• Bom Teste de Software é um processo de DESAFIO intelectual• Somente com cooperação podemos exercitar julgamentos e
habilidades através de um Projeto Inteiro, de modo a fazer corretamente a coisa certa no momento certo de modo a testar os produtos
Alguns:-Cem Kaner-James Bach-Bret Pettichord...
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
21
Como criar Testes sem Requerimentos ?
• CONTEXT-DRIVEN Testing Approach
• Entenda o Contexto (ex.: casos de uso)
• Levante o Contexto dos Casos de Teste
• Use a prática de teste adequada
• Crie os requerimentos macros
• Teste
• Avalie o Testo sob o enfoque do Contexto
• MORAL: TOP-DOWN + MIDDLE UP + TOP DOWN
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
22
• Pontos de Teste (baseado no FPA)
• Test Case Estimation
• eXtremme context-driven Estimation (XE)• Criada pelo Palestrante
• Enfoque Estimativa no Contexto
• Permite Estimar sem requerimentos
• Inclui Visão de Automação
Como Estimar Testes ?
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
23
define abrangência temreq.?
análise complexidadedos reqs.
temcasos de
teste?
temsteps ?
análise complexidadeprofunda
análise complexidade média
análise complexidade básica
planejamento / automação / exec. automação. / exec. manual
S
N
SN
N
S
req. maduro?
NS
Formula Base de Cálculo Automação:
=Σ (FA) * 2n * log T
fa=fator automação
n=nível complexidade
T=grau de automação
XE :
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
24
• Revisar Processo• Automatizar Testes até onde puder• Usar Teste de Caixa Branca com
Cobertura de Modo melhorar código legado (uso do Infinite Test)
• Rever Estratégia de Contexto para Testes Aumentar Qtde de Casos de Testes já existente
Como Testar Legado ?
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
25
Praticando Testes de Aplicações Web
• Interoperabilidade
• Funcionalidade
• Escalabilidade
• Performance
Novos
Novos
Desafios
Desa
fios
Com Alta
Com
Alta
Complexi
dade
Complexi
dade
na Web
na Web
Novos
Novos
Desafios
Desa
fios
Com Alta
Com
Alta
Complexi
dade
Complexi
dade
na Web
na Web
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
26
12
3
4
5
Exemplo prático de Projeto Web
TESTES !!!
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
27
Onde está o problema?
ApplicationWebServer
DatabaseServer
Firewall
Hub Router
ISP1
Router
Internet bottlenecks
Server HW, device and OS issues
Application server issues
Server
End-user desktop problems
Load balancer problems
LoadBalancer Web
Server
Faulty web server within a cluster
ISP2
ISP performance
Network vs. Server issues
ExternalDatafeed
Errors
Firewall
FirewallPerf.
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
28
Empirix Web TestSoluções para todo o ciclo de vida da aplicação
Teste de Unidade
Planejamento e Gerência dos Testes
Bean-Test
e-Tester
e-Load
OneSight
e-Manager Enterprise
Soluções Empirix
ProduçãoQADesenvolvimento
Teste Funcional
Teste de Performance
Monitoração
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
29
O Palestrante– Engo de Sistemas e Computação UERJ.
– Pós-graduado em Gestão pela Qualidade Total pela Universidade Estácio de Sá.
– Software Testing Institute – Membership
– Membro do PMI – Chapter Rio de Janeiro
– Certificado em Testes
– Atuação como Gerente de Projetos, Líder de Projetos, Analista de Sistemas e DBA-Oracle.
– Artigos para Revistas Developers Magazine, Object Magazine, SQL Magazine e para site MundoOO.
– Mais de 14 anos de experiência.
Gerenciando o Processo de Testes com Qualidade - Técnicas e Práticas Leonardo Molinari
30
Encerramento
Palestrante: Leonardo Molinari E-mail: