Gerenciando o Processo de Testes com  Qualidade  Técnicas e Práticas Leonardo Molinari
Agenda Qualidade em Prática Gerenciando a Qualidade com Testes Novas Técnicas & Práticas Praticando Testes de Aplicações Web
Abrangência de um Projeto
Maiores Problemas no Desenvolvimento #1 – Complexidade do mundo real #2 - QA não conhecem as reais necess i dades dos usuários #3 – Tempo Inadequado de teste #4 – Falta de comprometimento corporativo  #1 #2 #3 #4
Praticando Qualidade
O que influencia o sucesso de um Projeto ???
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.
Quando Aplicar Testes ? Antes Testes Funcionais, Unidade Durante Performance Depois Monitoração Segurança
Ciclo de Desenvolvimento, Teste e Produção   Definição dos  Requerimentos Teste de Carga (interno ao  firewall) Teste Funcional Planejamento dos Testes Teste de Carga (externo ao  firewall) Monitoração de  Performance e Teste de Vulnerabilidade Alertas 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 Testes Ferramentas de Testes
Vantagem Competitiva da usando Testes RISCO PREVISIBILIDADE
Novas Técnicas & Práticas
Como Criar o seu Modelo de Testes ? O que é ??? Fonte: “ BTO-Otimização da Tecnologia do Negócio”  – Leonardo Molinari - Ed. Erica  Dimensões de Testes  (criado pelo palestrante)
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...
Conceito: Dimensões de Testes Momento Meta Técnica Ambiente IDEAL PLANEJADO REALIZADO
Conceito: Dimensões de Testes Momento Meta Técnica Ambiente Exemplo Somente client-server Somente teste de sistema Somente teste de caixa-preta Testes funcionais e de performance
Exemplo de Redução e Aplicação do Meta-Modelo Momento Meta Técnica Ambiente 1 2 3 4 Melhoria do Processo  Melhorando o Código do Tipo de Aplicação Atacando tipos de Aplicações Distintas Melhoria de Componentes
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 ?
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 ?
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
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 ...
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
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 ?
define abrangência tem req.? análise complexidade dos reqs. tem casos de teste? tem steps ? análise complexidade profunda análise complexidade  média análise complexidade  básica planejamento / automação / exec. automação. / exec. manual S N S N N S req.  maduro? N S 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 :
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 ?
Praticando Testes de Aplicações Web Interoperabilidade Funcionalidade Escalabilidade Performance Novos Desafios  Com Alta  Complexidade   na Web
Exemplo prático de Projeto Web 1 2 3 4 5 TESTES !!!
Onde está o problema? Application Hub Router ISP1 Router Internet  bottlenecks Server HW, device  and OS issues Application server issues End-user desktop problems Load balancer  problems Load Balancer Faulty web server  within a cluster ISP2 ISP performance Network vs. Server  issues External Datafeed Errors Firewall Perf. Web Server Database Server Firewall Server Web Server Firewall
Empirix Web Test Teste de Unidade Planejamento e Gerência dos Testes Bean-Test e-Tester e-Load OneSight e-Manager Enterprise Soluções Empirix Produção QA Desenvolvimento Teste Funcional Teste de Performance Monitoração One Script Soluções para todo o ciclo de vida da aplicação
O Palestrante Eng o   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.
Encerramento Palestrante: Leonardo Molinari E-mail:  [email_address]

Gerenciando Testes Com Qualidade V2a

  • 1.
    Gerenciando o Processode Testes com Qualidade Técnicas e Práticas Leonardo Molinari
  • 2.
    Agenda Qualidade emPrática Gerenciando a Qualidade com Testes Novas Técnicas & Práticas Praticando Testes de Aplicações Web
  • 3.
  • 4.
    Maiores Problemas noDesenvolvimento #1 – Complexidade do mundo real #2 - QA não conhecem as reais necess i dades dos usuários #3 – Tempo Inadequado de teste #4 – Falta de comprometimento corporativo #1 #2 #3 #4
  • 5.
  • 6.
    O que influenciao sucesso de um Projeto ???
  • 7.
    Alguns Bugs deSoftware ... 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.
  • 8.
    Quando Aplicar Testes? Antes Testes Funcionais, Unidade Durante Performance Depois Monitoração Segurança
  • 9.
    Ciclo de Desenvolvimento,Teste e Produção Definição dos Requerimentos Teste de Carga (interno ao firewall) Teste Funcional Planejamento dos Testes Teste de Carga (externo ao firewall) Monitoração de Performance e Teste de Vulnerabilidade Alertas 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 Testes Ferramentas de Testes
  • 10.
    Vantagem Competitiva dausando Testes RISCO PREVISIBILIDADE
  • 11.
  • 12.
    Como Criar oseu Modelo de Testes ? O que é ??? Fonte: “ BTO-Otimização da Tecnologia do Negócio” – Leonardo Molinari - Ed. Erica Dimensões de Testes (criado pelo palestrante)
  • 13.
    Conceito: Dimensões deTestes 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...
  • 14.
    Conceito: Dimensões deTestes Momento Meta Técnica Ambiente IDEAL PLANEJADO REALIZADO
  • 15.
    Conceito: Dimensões deTestes Momento Meta Técnica Ambiente Exemplo Somente client-server Somente teste de sistema Somente teste de caixa-preta Testes funcionais e de performance
  • 16.
    Exemplo de Reduçãoe Aplicação do Meta-Modelo Momento Meta Técnica Ambiente 1 2 3 4 Melhoria do Processo Melhorando o Código do Tipo de Aplicação Atacando tipos de Aplicações Distintas Melhoria de Componentes
  • 17.
    Matrix Test (criadopelo 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 ?
  • 18.
    Infinite Test (criadopelo 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 ?
  • 19.
    Como criar Testessem 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
  • 20.
    7 Princípios daContext-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 ...
  • 21.
    Como criar Testessem 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
  • 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 ?
  • 23.
    define abrangência temreq.? análise complexidade dos reqs. tem casos de teste? tem steps ? análise complexidade profunda análise complexidade média análise complexidade básica planejamento / automação / exec. automação. / exec. manual S N S N N S req. maduro? N S 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 :
  • 24.
    Revisar Processo AutomatizarTestes 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 ?
  • 25.
    Praticando Testes deAplicações Web Interoperabilidade Funcionalidade Escalabilidade Performance Novos Desafios Com Alta Complexidade na Web
  • 26.
    Exemplo prático deProjeto Web 1 2 3 4 5 TESTES !!!
  • 27.
    Onde está oproblema? Application Hub Router ISP1 Router Internet bottlenecks Server HW, device and OS issues Application server issues End-user desktop problems Load balancer problems Load Balancer Faulty web server within a cluster ISP2 ISP performance Network vs. Server issues External Datafeed Errors Firewall Perf. Web Server Database Server Firewall Server Web Server Firewall
  • 28.
    Empirix Web TestTeste de Unidade Planejamento e Gerência dos Testes Bean-Test e-Tester e-Load OneSight e-Manager Enterprise Soluções Empirix Produção QA Desenvolvimento Teste Funcional Teste de Performance Monitoração One Script Soluções para todo o ciclo de vida da aplicação
  • 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.
  • 30.
    Encerramento Palestrante: LeonardoMolinari E-mail: [email_address]