Testes de Software em Visão Leonardo Molinari Consultor Sênior de Qualidade de Software
Agenda Projeto de Software X Testes Realidade do Software Atual Importância do Investimento em Testes  Processo de Testes Mergulhando em Testes
Projeto de Software X Testes Fatores de Sucesso de um Projeto:
Projeto de Software X Testes Sistema  sob  Testes Estado do Programa  Entradas Intencionais Estado do Sistema  Recursos do sistema  E de Configuração  Entrada de outros Processos, clientes e servidores  Saídas Monitoradas Estado do Programa, incluindo saídas inesperadas  Estado do Sistema Impacto na conexão dos  devices / recursos de sistema Saída para outros Processos, clientes e servidores
Projeto de Software X Testes Maiores problemas no desenvolvimento de grandes aplicações #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
Projeto de Software X Testes Curva de Falhas tempo “ desgaste” “ mortalidade   infantil” índice de falhas
-  Complexidade – dos softwares (cada vez mais integrados); – tamanho da equipe; – Prazos surrealistas para produção; – Negligência no ciclo produtivo; Mercado/Clientes/Usuários mais exigentes – menos tolerantes à falhas; – menos tolerantes aos atrasos das entregas; –  desejam “preço justo!”.  Precisamos  construir softwares MELHORES, MAIS RÁPIDOS E MAIS BARATOS! Realidade do Software Atual
Realidade do Software Atual MERCADO NACIONAL (1999)
Realidade do Software Atual Observe a faixa laranja: entre 52% e 57% das empresas pesquisadas conhecem e não usam os padrões de qualidade existentes no mercado. Alguém sabe o motivo ? MERCADO NACIONAL (2001)
Realidade do Software Atual A maioria dos produtores de  software  no Brasil ainda estão passando pelas seguintes situações: Alegres e saltitantes, os programadores lêem a especificação e implementam algo que satisfaça o que eles entenderam do documento.  Meses  depois, o cliente recebe “algo” que faz o que um grupo de pessoas entendeu, do que um outro grupo de pessoas escreveu,   sobre o que um terceiro grupo de pessoas construiu ;   O cliente nos conta o que ele acha que precisa; Nós achamos que entendemos o que ele nos disse ; Vamos escrever em um papel o que achamos que descreve perfeitamente aquilo que entendemos; O cliente lê achando que deve ser aquilo mesmo ,  porque parece com o que  e le contou e tem uns termos técnicos bacanas com umas siglas incompreensíveis para ele ; MERCADO BRASILEIRO
Onde tudo começa... Até mesmo os pequenos erros de requisitos podem levar a grandes problemas Xii!!!
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.
Teoria do Pesticida... Se você contratar : Primeiro - Empresa Alfa achou vários insetos pela casa e os eliminou.  Segundo – Empresa Beta NÃO achou inseto algum. Você tem certeza que em ambos os casos todos os insetos foram eliminados ?
Importância do Investimento em Testes Como o seu Sistema sobreviverá aos próximos Bugs-Tubarões ??? Um mar de tubarões...
Importância do Investimento em Testes Todos acreditam que tem boa qualidade, mas… 83% acreditam que tem um bom modelo de qualidade 52% compraram ferramentas de testes 13% executam sistemático teste automátizado 83% 52% 13% *Source: MIC Cheskin Survey 9/01
Importância do Investimento em Testes Redução em 70% o índice de retrabalho de correção de falhas em produção. Redução em 50%  o tempo de homologaç ã o  de uma nova versão. Aumento do índice de falhas detectadas antes da produção para 90%. Diminuição em 95% os  abends  em produção. Aumento em 100% a abrangência dos testes.
Importância do Investimento em Testes Detecção de Erros: O Custo dos Erros
Importância do Investimento em Testes
Importância do Investimento em Testes Até agora como se testava ???? Teste Manual Programas específicos de testes Teste Unitário Qualidade existe quando o programa funciona Build Design Test
Importância do Investimento em Testes O Teste Manual é Adequado para as necessidades atuais ? Para manter uma Qualidade Excelente Para realizar dentro do tempo Para permanecer competitivo  Não há tempo para verificar todos os componentes existentes Atualizações de tecnologia muito rápidas Ferramentas de desenvolvimento mais eficientes
Processo de Teste Universos dos Testes Visões de Testes
Processo de Teste
Como melhorar os Testes ? Escolher  metodologia  adequada e integrada ao desenvolvimento Organização  deve se estruturar para realizar testes de forma adequada com pessoal capacitado Adequação de  ambientes de testes  e  ferramentas  de automação Adequação de  métricas  para testes Utilização de mecanismos de maturação de processo para  melhoria contínua
Processo de Teste Defeitos / “Issues” Teste funcional Teste de carga/stress Planejamento de teste Versão pronta para produção Gerenciamento requerimentos  de Testes  Produção QA Desenvolvimento Qualquer processo pode ser otimizado!!! Casos de testes Requisitos de Testes Cenários de Testes etc
Planejamento de Testes A B C D E F G H I X EXIT Quais caminhos testes ??? Quais situações??? Qualquer processo pode ser otimizado!!!
Desafios Atuais de Teste Manual 4 QA eng -> somente 20% de cobertura de teste; Qualidade Geral Sofre; Trabalho de Teste Manual pode não entregar a tempo; Número excessivo de erros de execução de testes manual; Cronogramas de teste podem ser prejudicados Teste Automatizado   Benefícios para Negócio Aumento da cobertura de teste de modo a alcançar 80%-90% com recursos  existentes. Processo de Teste Testes Manuais X Testes Automatizados Qualquer processo pode ser otimizado!!!
Processo de Teste Exemplo: Questcon Technologies
Processo de Teste Exemplo: Questcon Technologies
Mergulhando em Testes Alguns Testes típicos ao longo do tempo Qualquer processo pode ser otimizado!!!
Mergulhando em Testes Planejar Testes pode dar trabalho em: Testes em Sistemas Legados / Manutenção Testes Funcionais com Muitos Tipos de Dados de entrada Testes em Sistemas Multiplataformas (Client-Server X Web X Mainframe) Testes de Homologação Testes de Banco de Dados Testes Baseados em Requisitos Conflitantes Testes de Regressão em Sistemas Complexos Testes de Performance Etc.. Qualquer processo pode ser otimizado!!!
Mergulhando em Testes EXISTEM TÉCNICAS DE TESTES PARA: Planejar melhor => qualidade, profundidade Planejar mais abrangentemente Planejar de forma reutilizável,  Executar melhor os Testes Escolher melhor ferramentas de apoio (automatização) Montar melhor uma equipe de testes Analisar Defeitos de Testes Etc...
Conclusões Não existe Sistema perfeito Existe Sistema adequado Não existe teste é tempo que sobra no projeto Existe Teste é Projeto dentro de um Projeto Existem milhares de empresas investindo $$ em Testes Não existe técnica ideal Existem boas práticas / técnicas Não existe testador perfeito Existe Testador com habilidades e aptidões Existe uma carreira de Testador  Existe Testador não maluco => existe seriedade Não existe o bom é inimigo do ótimo Existe o bom pode ser melhorado e otimizado
Conhecendo o Palestrante Consultor de Sênior de Qualidade de Software Engº de Sistemas-UERJ Pós-Graduado em Gestão Pela Qualidade Total – Univ. Estácio de Sá Certificação/Experiência (metodologia, processos e ferramentas) em Testes, Requisitos, Ger. de Configuração, Ger. Projetos, OpenSource Experiência Nacional e Internacional em diversos segmentos NOVO 3ª Edição
Conhecendo o Palestrante Atuação de Consultoria em diversos níveis: Testes de Software (foco principal) Planejamento Ferramentas de automação de fornecedores Ferramentas de automação opensource Técnicas & estratégias Otimização de ambientes de testes Treinamento(diversos níveis) e palestras Gerência de Projetos de Testes Capacitação de Testadores Etc. Gerência de Requisitos Gerência de Configuração Qualidade de Software
Dúvidas ??? Palestrante: Leonardo Molinari E-mail: lm7k@yahoo.com.br Web Site:  http://geocities.yahoo.com.br/lm7k/testes.html Blog (lançamento exclusivo aqui !!!):  http ://diariodaqualidade.blogspot.com

Dba Testes Gerentes B2

  • 1.
    Testes de Softwareem Visão Leonardo Molinari Consultor Sênior de Qualidade de Software
  • 2.
    Agenda Projeto deSoftware X Testes Realidade do Software Atual Importância do Investimento em Testes Processo de Testes Mergulhando em Testes
  • 3.
    Projeto de SoftwareX Testes Fatores de Sucesso de um Projeto:
  • 4.
    Projeto de SoftwareX Testes Sistema sob Testes Estado do Programa Entradas Intencionais Estado do Sistema Recursos do sistema E de Configuração Entrada de outros Processos, clientes e servidores Saídas Monitoradas Estado do Programa, incluindo saídas inesperadas Estado do Sistema Impacto na conexão dos devices / recursos de sistema Saída para outros Processos, clientes e servidores
  • 5.
    Projeto de SoftwareX Testes Maiores problemas no desenvolvimento de grandes aplicações #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
  • 6.
    Projeto de SoftwareX Testes Curva de Falhas tempo “ desgaste” “ mortalidade infantil” índice de falhas
  • 7.
    - Complexidade– dos softwares (cada vez mais integrados); – tamanho da equipe; – Prazos surrealistas para produção; – Negligência no ciclo produtivo; Mercado/Clientes/Usuários mais exigentes – menos tolerantes à falhas; – menos tolerantes aos atrasos das entregas; – desejam “preço justo!”. Precisamos construir softwares MELHORES, MAIS RÁPIDOS E MAIS BARATOS! Realidade do Software Atual
  • 8.
    Realidade do SoftwareAtual MERCADO NACIONAL (1999)
  • 9.
    Realidade do SoftwareAtual Observe a faixa laranja: entre 52% e 57% das empresas pesquisadas conhecem e não usam os padrões de qualidade existentes no mercado. Alguém sabe o motivo ? MERCADO NACIONAL (2001)
  • 10.
    Realidade do SoftwareAtual A maioria dos produtores de software no Brasil ainda estão passando pelas seguintes situações: Alegres e saltitantes, os programadores lêem a especificação e implementam algo que satisfaça o que eles entenderam do documento. Meses depois, o cliente recebe “algo” que faz o que um grupo de pessoas entendeu, do que um outro grupo de pessoas escreveu, sobre o que um terceiro grupo de pessoas construiu ; O cliente nos conta o que ele acha que precisa; Nós achamos que entendemos o que ele nos disse ; Vamos escrever em um papel o que achamos que descreve perfeitamente aquilo que entendemos; O cliente lê achando que deve ser aquilo mesmo , porque parece com o que e le contou e tem uns termos técnicos bacanas com umas siglas incompreensíveis para ele ; MERCADO BRASILEIRO
  • 11.
    Onde tudo começa...Até mesmo os pequenos erros de requisitos podem levar a grandes problemas Xii!!!
  • 12.
    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.
  • 13.
    Teoria do Pesticida...Se você contratar : Primeiro - Empresa Alfa achou vários insetos pela casa e os eliminou. Segundo – Empresa Beta NÃO achou inseto algum. Você tem certeza que em ambos os casos todos os insetos foram eliminados ?
  • 14.
    Importância do Investimentoem Testes Como o seu Sistema sobreviverá aos próximos Bugs-Tubarões ??? Um mar de tubarões...
  • 15.
    Importância do Investimentoem Testes Todos acreditam que tem boa qualidade, mas… 83% acreditam que tem um bom modelo de qualidade 52% compraram ferramentas de testes 13% executam sistemático teste automátizado 83% 52% 13% *Source: MIC Cheskin Survey 9/01
  • 16.
    Importância do Investimentoem Testes Redução em 70% o índice de retrabalho de correção de falhas em produção. Redução em 50% o tempo de homologaç ã o de uma nova versão. Aumento do índice de falhas detectadas antes da produção para 90%. Diminuição em 95% os abends em produção. Aumento em 100% a abrangência dos testes.
  • 17.
    Importância do Investimentoem Testes Detecção de Erros: O Custo dos Erros
  • 18.
  • 19.
    Importância do Investimentoem Testes Até agora como se testava ???? Teste Manual Programas específicos de testes Teste Unitário Qualidade existe quando o programa funciona Build Design Test
  • 20.
    Importância do Investimentoem Testes O Teste Manual é Adequado para as necessidades atuais ? Para manter uma Qualidade Excelente Para realizar dentro do tempo Para permanecer competitivo Não há tempo para verificar todos os componentes existentes Atualizações de tecnologia muito rápidas Ferramentas de desenvolvimento mais eficientes
  • 21.
    Processo de TesteUniversos dos Testes Visões de Testes
  • 22.
  • 23.
    Como melhorar osTestes ? Escolher metodologia adequada e integrada ao desenvolvimento Organização deve se estruturar para realizar testes de forma adequada com pessoal capacitado Adequação de ambientes de testes e ferramentas de automação Adequação de métricas para testes Utilização de mecanismos de maturação de processo para melhoria contínua
  • 24.
    Processo de TesteDefeitos / “Issues” Teste funcional Teste de carga/stress Planejamento de teste Versão pronta para produção Gerenciamento requerimentos de Testes Produção QA Desenvolvimento Qualquer processo pode ser otimizado!!! Casos de testes Requisitos de Testes Cenários de Testes etc
  • 25.
    Planejamento de TestesA B C D E F G H I X EXIT Quais caminhos testes ??? Quais situações??? Qualquer processo pode ser otimizado!!!
  • 26.
    Desafios Atuais deTeste Manual 4 QA eng -> somente 20% de cobertura de teste; Qualidade Geral Sofre; Trabalho de Teste Manual pode não entregar a tempo; Número excessivo de erros de execução de testes manual; Cronogramas de teste podem ser prejudicados Teste Automatizado Benefícios para Negócio Aumento da cobertura de teste de modo a alcançar 80%-90% com recursos existentes. Processo de Teste Testes Manuais X Testes Automatizados Qualquer processo pode ser otimizado!!!
  • 27.
    Processo de TesteExemplo: Questcon Technologies
  • 28.
    Processo de TesteExemplo: Questcon Technologies
  • 29.
    Mergulhando em TestesAlguns Testes típicos ao longo do tempo Qualquer processo pode ser otimizado!!!
  • 30.
    Mergulhando em TestesPlanejar Testes pode dar trabalho em: Testes em Sistemas Legados / Manutenção Testes Funcionais com Muitos Tipos de Dados de entrada Testes em Sistemas Multiplataformas (Client-Server X Web X Mainframe) Testes de Homologação Testes de Banco de Dados Testes Baseados em Requisitos Conflitantes Testes de Regressão em Sistemas Complexos Testes de Performance Etc.. Qualquer processo pode ser otimizado!!!
  • 31.
    Mergulhando em TestesEXISTEM TÉCNICAS DE TESTES PARA: Planejar melhor => qualidade, profundidade Planejar mais abrangentemente Planejar de forma reutilizável, Executar melhor os Testes Escolher melhor ferramentas de apoio (automatização) Montar melhor uma equipe de testes Analisar Defeitos de Testes Etc...
  • 32.
    Conclusões Não existeSistema perfeito Existe Sistema adequado Não existe teste é tempo que sobra no projeto Existe Teste é Projeto dentro de um Projeto Existem milhares de empresas investindo $$ em Testes Não existe técnica ideal Existem boas práticas / técnicas Não existe testador perfeito Existe Testador com habilidades e aptidões Existe uma carreira de Testador Existe Testador não maluco => existe seriedade Não existe o bom é inimigo do ótimo Existe o bom pode ser melhorado e otimizado
  • 33.
    Conhecendo o PalestranteConsultor de Sênior de Qualidade de Software Engº de Sistemas-UERJ Pós-Graduado em Gestão Pela Qualidade Total – Univ. Estácio de Sá Certificação/Experiência (metodologia, processos e ferramentas) em Testes, Requisitos, Ger. de Configuração, Ger. Projetos, OpenSource Experiência Nacional e Internacional em diversos segmentos NOVO 3ª Edição
  • 34.
    Conhecendo o PalestranteAtuação de Consultoria em diversos níveis: Testes de Software (foco principal) Planejamento Ferramentas de automação de fornecedores Ferramentas de automação opensource Técnicas & estratégias Otimização de ambientes de testes Treinamento(diversos níveis) e palestras Gerência de Projetos de Testes Capacitação de Testadores Etc. Gerência de Requisitos Gerência de Configuração Qualidade de Software
  • 35.
    Dúvidas ??? Palestrante:Leonardo Molinari E-mail: lm7k@yahoo.com.br Web Site: http://geocities.yahoo.com.br/lm7k/testes.html Blog (lançamento exclusivo aqui !!!): http ://diariodaqualidade.blogspot.com