Teste de Software: Introdução à Qualidade Camilo Ribeiro  Esp. SE, ISTQB, CBTS
Consultor em arquitetura de testes e processos pela  Caresoft Tecnologia ; Líder de Qualidade e Processos pela  Alltcom Sistemas ; Palestrante em universidades como  PUC Minas ,  UNI-BH  e  UNA . Mais de  quatro anos  atuando em Teste de Software e Processos; Participação em mais de  40 projetos  de Software; Participação em projetos de implantação do  CMMi  (todos os níveis); Graduado em Sistemas para Internet pela  Faculdade Pitágoras ; Pós graduado em Engenharia de Software pela  UFMG ; Aluno da pós-graduação e pesquisa em Ciência da Computação na  UFMG ; Certificado como especialista em Teste de Software pelo  ISTQB  e  ALATS ; Membro do comitê de inovação em Teste de Software  ALATS ; Mantedor do blog técnico  www.bugbang.com.br ; Especialista em implementação e customização da ferramenta  TestLink .
Agenda Camilo Ribeiro – camilo@camiloribeiro.com Breve introdução sobre qualidade e teste de software Mercado de trabalho e papéis Verificação, validação e QA Mitos sobre teste de software Introdução ao pensamento de testador Derivando casos de teste de casos de uso Técnicas de teste
O que é Qualidade? Qualidade  é um conceito subjetivo que está relacionado diretamente às percepções de cada indivíduo. Diversos fatores como cultura, modelos mentais, tipo de produto ou serviço prestado, necessidades e expectativas influenciam diretamente nesta definição. Camilo Ribeiro – camilo@camiloribeiro.com
O que é teste de software? •  Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (Myers, 1979) •  Testar é qualquer atividade que, a partir da avaliação de um atributo ou capacidade, permita determinar se o programa ou sistema obtém os resultados desejados (Hetzel, 1988) • Testar é verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e se não está fazendo o que não deveria fazer (Rios, Cristalli, Moreira e Souza, 2003) Camilo Ribeiro – camilo@camiloribeiro.com
O que é teste de software? Processo que consiste em todas as atividades do ciclo de vida, tanto estáticas quanto dinâmicas, voltadas para o planejamento, preparação e avaliação de produtos de software e produtos de trabalho relacionados a fim de determinar se eles satisfazem os requisitos especificados e demonstrar que estão aptos para sua finalidade e para a detecção de defeitos. (“Testing”, Glossário ISTQB 2007) Camilo Ribeiro – camilo@camiloribeiro.com
Perfil do profissional de teste de software  Pesquisa realizada pelo Cristiano Caetano em 2007 (pesquisa 2010 em andamento  www.testexpert.com.br ) Pesquisa Completa: “ Cargos e Salários - Quanto ganha o profissional de teste e qualidade de software.pdf ” Camilo Ribeiro – camilo@camiloribeiro.com
Papéis no Rational Unified Process (RUP) Camilo Ribeiro – camilo@camiloribeiro.com
Papéis e Cargos Papel != Cargo O RUP usa uma analogia onde os colaboradores de um projeto trocam de “chapéus” várias vezes durante o processo de desenvolvimento de software. Se assume o papel de gerente de Configuração, não quer dizer que é um Gerente de projetos. Camilo Ribeiro – camilo@camiloribeiro.com
Como o mercado informal classifica? Liderança  Gestão de projetos Organizacional Negócios e Processos Técnica Arquitetura de Software Camilo Ribeiro – camilo@camiloribeiro.com
Certificação profissional Certificação Brasileira de Teste de Software: Associação Latino-Americada de Teste de Software  www.alats.org.br Certified Tester Foundation Level; Certified Tester Advanced Level;  International Software Testing Qualifications Boarder  www.bstqb.org.br Certified Associate in Software Testing (CAST) ; Certified Software Quality Analyst (CSQA) ; Certified Software Tester (CSTE): Quality Assurance Institute www.qaibrasil.com.br/ Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008 Camilo Ribeiro – camilo@camiloribeiro.com
Custo aumenta exponencialmente Adiar testes de software Custo relativo para corrigir um defeito. Adaptado de (BOEHM, 1981). Camilo Ribeiro – camilo@camiloribeiro.com
Verificação, validação e QA Camilo Ribeiro – camilo@camiloribeiro.com Se a sua pergunta é... então você está falando de: Segui o processo? QA – Garantia de qualidade Fiz a coisa corretamente? Verificação Fiz a coisa certa? Validação
Quality Assurance (Garantia de Qualidade) “ Garantir que o processo seja seguido adequadamente e que seus produtos de trabalho sejam elaborados nos momentos adequados.” - CMMi for Development 1.2 Ligado ao processo da organização Camilo Ribeiro – camilo@camiloribeiro.com
Verificação “ O propósito da verificação é demonstrar que o produto ou seus produtos de trabalho atendem aos seus requisitos específicos.” - CMMi for Development 1.2 Ligado a Sintaxe, o como . . . Camilo Ribeiro – camilo@camiloribeiro.com
Validação “ O objetivo da validação é demonstrar que um componente do produto cumpre o seu uso pretendido quando colocado em seu ambiente pretendido.” - CMMi for Development 1.2 Semântica, o que . . . Camilo Ribeiro – camilo@camiloribeiro.com
Mitos sobre teste de software Testar  é fácil:  Entre 20 a 50% do esforço de um projeto é teste de software Testador é aquele que não aprendeu a programar:  E os engenheiros (Técnicos) ? Analistas de requisitos, negócios, gerentes, coordenadores e outros envolvidos também não aprenderam a programar?  Engenharia de software é trabalho em equipe! O Teste é uma fase após todas as outras : Teste de software participar desde a pré venda dos projetos de software até a produção e remoção . Testadores são menos qualificados, ou podem ser estagiários:  Tudo bem, se acredita que o seu cliente pode receber os defeitos provenientes de testes mal planejados, desenhados, executados e medidos.   Testes são dispensáveis em projetos com tempo e custo estourando:  Além do tempo e do custo, a qualidade também ficará prejudicada? Todo BUG é culpa do desenvolvedor:  A literatura e a experiência nos mostram que menos da metade dos defeitos do software, são provenientes de erros dos programadores. Camilo Ribeiro – camilo@camiloribeiro.com
Transparência do teste Requisitos / Negócios (Abstração) Teste de caixa branca Teste baseado na análise da estrutura interna de um componente ou sistema. (Glossário ISTQB) Teste de caixa preta Teste, funcional ou não funcional, sem referência à estrutura interna do componente ou do sistema. (Glossário ISTQB) Camilo Ribeiro – camilo@camiloribeiro.com
Níveis, técnicas e tipos de teste Camilo Ribeiro – camilo@camiloribeiro.com Técnicas de Teste Nível de Teste Dimensões da Qualidade segundo o RUP Funcionalidade Confiabilidade Usabilidade Desempenho Suportabilidade Alguns tipos de Teste Caixa Branca Teste de Unidade Teste de Integração Segurança Integridade Carga Configuração Caixa Cinza Teste de Sistema Funcional Regressão Usabilidade Caixa Preta Teste de Aceitação Volume Maturidade Estresse Instalação Como Testar Quando Testar O que Testar
O que posso usar para criar testes? Requisitos Estórias de Usuário Dados Casos de uso Diagramas da UML Bugs Experiência Código Fonte Checklist Camilo Ribeiro – camilo@camiloribeiro.com Software fechado
Pense como um testador Pensar nas variáveis Pensar no objetivo Atende os requisitos funcionais?  Pensar no ambiente Funciona do mesmo jeito em todos os browsers ou SOs? Pensar nos requisitos implícitos e não funcionais Está fácil de entender, está rápido? Pensar no cliente Se eu fosse o cliente eu queria ver . . . Pensar possíveis problemas Acho que com esses dados pode dar problema  Pensar em definições Se eu fosse o cliente, entenderia esse  label ? Pensar no uso em diferentes configurações ou ambientes No meu IPhone funciona, mas e no BlackBarry? Seja criativo, detalhista e crítico Camilo Ribeiro – camilo@camiloribeiro.com
O que testar em um copo? Camilo Ribeiro – camilo@camiloribeiro.com
O que testar em um copo? Testar o volume (Capacidade)? Testar a transparência? Testar a durabilidade? Testar resistência a frio? Testar resistência a calor? Testar resistência a sons? Testar a resistência física? Testar como fica quando quebrado? Testar o peso? Testar as dimensões? Testar o material usado (Vidro, cristal, outro)? Testar a espessura? . . . . . Camilo Ribeiro – camilo@camiloribeiro.com
Pirâmide de dependência  Camilo Ribeiro – camilo@camiloribeiro.com
Caso de Uso Camilo Ribeiro – camilo@camiloribeiro.com
Cenários de Teste Camilo Ribeiro – camilo@camiloribeiro.com
Casos de teste A, B, C, D, E M, N, O, P, Q V, W, X, Y, Z Cenário 3 do Caso de Uso 27 Caso de Teste 1 Caso de Teste 2 Caso de Teste 3 Camilo Ribeiro – camilo@camiloribeiro.com
Elaborando Casos de teste a partir de casos de uso Leitura do caso de uso Desenho dos fluxos do caso de uso Camilo Ribeiro – camilo@camiloribeiro.com
Elaborando Casos de teste a partir de casos de uso Identificação das regras e dos momentos em que essas regras são ativadas Camilo Ribeiro – camilo@camiloribeiro.com
Elaborando Casos de teste a partir de casos de uso Identificação dos cenários de Teste Camilo Ribeiro – camilo@camiloribeiro.com
Elaborando Casos de teste a partir de casos de uso Cenários e Procedimentos de Teste CT01 CT02 CT03 CT04 CT05 CT06 CT07 CT08 CT09 CT10 CT11 CT12 CT14 CT15 CT16 CT13 Identificação dos cenários de Teste Camilo Ribeiro – camilo@camiloribeiro.com
Valores limites Baseado em intervalos matemáticos, onde, devemos testar pelo menos os valores nas extremidades dos intervalos. Pode ser representado por gráficos, por conjuntos de valores ou por expressões matemáticas. Camilo Ribeiro – camilo@camiloribeiro.com
Valores limites Todos veículos fabricados entre 15/01/2009 e 20/04/2009 são chamados para recall: Todos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall: CT0N CT0N CT0N CT0N CT0N CT0N 14/01/2009 – false 15/01/2009 – false 16/01/2009 – true  19/04/2009 – true  20/04/2009 – false  21/04/2009 – false  WAUZZZ44ZGN082818 – false  WAUZZZ44ZGN082819 – true  WAUZZZ44ZGN082820 – true  WAUZZZ44ZGN095820 – true  WAUZZZ44ZGN095821 – false  WAUZZZ44ZGN095822 – false  CT0N CT0N CT0N CT0N CT0N CT0N Camilo Ribeiro – camilo@camiloribeiro.com
Valores limites Imagine um sistema onde cada usuário pode publicar alguns avisos para serem exibidos na intranet, um telão ou em um outro dispositivo qualquer. Logado, o usuário informa qual o aviso, e qual o periodo que o aviso deve ser exibido. Ele pode cadastrar quantos avisos desejar, mas, no caso de uso de cadastro de avisos, existe uma regra: R001 - Um usuário não pode cadastrar dois avisos ocupando o mesmo período. Como testar essa regra? Camilo Ribeiro – camilo@camiloribeiro.com
Valores limites Inserir valores válidos  (fora dos limites) Inserir um valor exatamente igual Inserir um valor qualquer Inserir valores em cada fronteira Inserir valores dentro dos limites Inserir valores que contenham os limites Testar novamente com outro usuário Agora repedir para a operação de atualização Camilo Ribeiro – camilo@camiloribeiro.com
Partição de Equivalência Baseado no princípio matemático dos conjuntos, onde, devemos testar pelo menos um elemento de cada conjunto distinto. Pode ser representado por gráficos, por conjuntos de valores ou por expressões de álgebra relacional. CT01 “ A” CT02 “ AB” CT03 “ B” Camilo Ribeiro – camilo@camiloribeiro.com
Partição de Equivalência Qualquer veículo pode ser alugado: Veículos Ciclomotores Caminhão Carro Ônibus Helicóptero 1 de cada subconjunto Pick-up CT01 Carro CT02 Pick-up CT03 Caminhão CT04 Ônibus CT05 Motocicleta CT06 Motoneta CT07 Helicóptero Camilo Ribeiro – camilo@camiloribeiro.com Motoneta Motocicleta
Teste de Sistema Camilo Ribeiro – camilo@camiloribeiro.com Um sistema é formado por várias funcionalidades ou “casos de uso”
Teste de Sistema Camilo Ribeiro – camilo@camiloribeiro.com Cada funcionalidade do sistema possui diversos fluxos
Teste de Sistema Integra cenários de várias funcionalidades para realizar um processo de negócio! Camilo Ribeiro – camilo@camiloribeiro.com
SMQS – Seminário Mineiro de Qualidade de Software Camilo Ribeiro – camilo@camiloribeiro.com http://www.smqs2010.base2.com.br/programacao/
Dúvidas? [email_address] http://www.bugbang.com.br
Muito Obrigado!
Referências Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1. B. Hetzel (1988). "The Growth of Software Testing“ • RIOS, E., MOREIRA, T., SOUZA, A., CRISTALLI, R . Base de Conhecimento em Teste de Software 2ª Edição. Martins, 2007. RUP 7.5, IBM ZIELCZYNSKI, Peter, Traceability from Use Cases to Test Cases,  http://www.ibm.com/developerworks/rational/library/04/r-3217/ IBM Rational Technical library, 2006 BOEHM, B.W., 1981, Software Engineering Economics, Prentice Hall. ISQTQB Glossário de termos usados no Teste de Software Versão 1.0 Caetano, Cristiano. Quanto ganha um profissional de teste e qualidade de software?  http://testexpert.com.br/? q=node/231  - 2007 Martinho, Fábio – Guia Completo para certificãções em qualidade e teste de software – Versão 2008 -  http://testexpert.com.br/? q=node/1080  - 2008 CMMI Product Team. CMMI® for Development, Version 1.2

Teste de Software Introdução à Qualidade

  • 1.
    Teste de Software:Introdução à Qualidade Camilo Ribeiro Esp. SE, ISTQB, CBTS
  • 2.
    Consultor em arquiteturade testes e processos pela Caresoft Tecnologia ; Líder de Qualidade e Processos pela Alltcom Sistemas ; Palestrante em universidades como PUC Minas , UNI-BH e UNA . Mais de quatro anos atuando em Teste de Software e Processos; Participação em mais de 40 projetos de Software; Participação em projetos de implantação do CMMi (todos os níveis); Graduado em Sistemas para Internet pela Faculdade Pitágoras ; Pós graduado em Engenharia de Software pela UFMG ; Aluno da pós-graduação e pesquisa em Ciência da Computação na UFMG ; Certificado como especialista em Teste de Software pelo ISTQB e ALATS ; Membro do comitê de inovação em Teste de Software ALATS ; Mantedor do blog técnico www.bugbang.com.br ; Especialista em implementação e customização da ferramenta TestLink .
  • 3.
    Agenda Camilo Ribeiro– camilo@camiloribeiro.com Breve introdução sobre qualidade e teste de software Mercado de trabalho e papéis Verificação, validação e QA Mitos sobre teste de software Introdução ao pensamento de testador Derivando casos de teste de casos de uso Técnicas de teste
  • 4.
    O que éQualidade? Qualidade  é um conceito subjetivo que está relacionado diretamente às percepções de cada indivíduo. Diversos fatores como cultura, modelos mentais, tipo de produto ou serviço prestado, necessidades e expectativas influenciam diretamente nesta definição. Camilo Ribeiro – camilo@camiloribeiro.com
  • 5.
    O que éteste de software? • Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (Myers, 1979) • Testar é qualquer atividade que, a partir da avaliação de um atributo ou capacidade, permita determinar se o programa ou sistema obtém os resultados desejados (Hetzel, 1988) • Testar é verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e se não está fazendo o que não deveria fazer (Rios, Cristalli, Moreira e Souza, 2003) Camilo Ribeiro – camilo@camiloribeiro.com
  • 6.
    O que éteste de software? Processo que consiste em todas as atividades do ciclo de vida, tanto estáticas quanto dinâmicas, voltadas para o planejamento, preparação e avaliação de produtos de software e produtos de trabalho relacionados a fim de determinar se eles satisfazem os requisitos especificados e demonstrar que estão aptos para sua finalidade e para a detecção de defeitos. (“Testing”, Glossário ISTQB 2007) Camilo Ribeiro – camilo@camiloribeiro.com
  • 7.
    Perfil do profissionalde teste de software  Pesquisa realizada pelo Cristiano Caetano em 2007 (pesquisa 2010 em andamento www.testexpert.com.br ) Pesquisa Completa: “ Cargos e Salários - Quanto ganha o profissional de teste e qualidade de software.pdf ” Camilo Ribeiro – camilo@camiloribeiro.com
  • 8.
    Papéis no RationalUnified Process (RUP) Camilo Ribeiro – camilo@camiloribeiro.com
  • 9.
    Papéis e CargosPapel != Cargo O RUP usa uma analogia onde os colaboradores de um projeto trocam de “chapéus” várias vezes durante o processo de desenvolvimento de software. Se assume o papel de gerente de Configuração, não quer dizer que é um Gerente de projetos. Camilo Ribeiro – camilo@camiloribeiro.com
  • 10.
    Como o mercadoinformal classifica? Liderança Gestão de projetos Organizacional Negócios e Processos Técnica Arquitetura de Software Camilo Ribeiro – camilo@camiloribeiro.com
  • 11.
    Certificação profissional CertificaçãoBrasileira de Teste de Software: Associação Latino-Americada de Teste de Software www.alats.org.br Certified Tester Foundation Level; Certified Tester Advanced Level; International Software Testing Qualifications Boarder www.bstqb.org.br Certified Associate in Software Testing (CAST) ; Certified Software Quality Analyst (CSQA) ; Certified Software Tester (CSTE): Quality Assurance Institute www.qaibrasil.com.br/ Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008 Camilo Ribeiro – camilo@camiloribeiro.com
  • 12.
    Custo aumenta exponencialmenteAdiar testes de software Custo relativo para corrigir um defeito. Adaptado de (BOEHM, 1981). Camilo Ribeiro – camilo@camiloribeiro.com
  • 13.
    Verificação, validação eQA Camilo Ribeiro – camilo@camiloribeiro.com Se a sua pergunta é... então você está falando de: Segui o processo? QA – Garantia de qualidade Fiz a coisa corretamente? Verificação Fiz a coisa certa? Validação
  • 14.
    Quality Assurance (Garantiade Qualidade) “ Garantir que o processo seja seguido adequadamente e que seus produtos de trabalho sejam elaborados nos momentos adequados.” - CMMi for Development 1.2 Ligado ao processo da organização Camilo Ribeiro – camilo@camiloribeiro.com
  • 15.
    Verificação “ Opropósito da verificação é demonstrar que o produto ou seus produtos de trabalho atendem aos seus requisitos específicos.” - CMMi for Development 1.2 Ligado a Sintaxe, o como . . . Camilo Ribeiro – camilo@camiloribeiro.com
  • 16.
    Validação “ Oobjetivo da validação é demonstrar que um componente do produto cumpre o seu uso pretendido quando colocado em seu ambiente pretendido.” - CMMi for Development 1.2 Semântica, o que . . . Camilo Ribeiro – camilo@camiloribeiro.com
  • 17.
    Mitos sobre testede software Testar é fácil: Entre 20 a 50% do esforço de um projeto é teste de software Testador é aquele que não aprendeu a programar: E os engenheiros (Técnicos) ? Analistas de requisitos, negócios, gerentes, coordenadores e outros envolvidos também não aprenderam a programar? Engenharia de software é trabalho em equipe! O Teste é uma fase após todas as outras : Teste de software participar desde a pré venda dos projetos de software até a produção e remoção . Testadores são menos qualificados, ou podem ser estagiários: Tudo bem, se acredita que o seu cliente pode receber os defeitos provenientes de testes mal planejados, desenhados, executados e medidos.  Testes são dispensáveis em projetos com tempo e custo estourando: Além do tempo e do custo, a qualidade também ficará prejudicada? Todo BUG é culpa do desenvolvedor: A literatura e a experiência nos mostram que menos da metade dos defeitos do software, são provenientes de erros dos programadores. Camilo Ribeiro – camilo@camiloribeiro.com
  • 18.
    Transparência do testeRequisitos / Negócios (Abstração) Teste de caixa branca Teste baseado na análise da estrutura interna de um componente ou sistema. (Glossário ISTQB) Teste de caixa preta Teste, funcional ou não funcional, sem referência à estrutura interna do componente ou do sistema. (Glossário ISTQB) Camilo Ribeiro – camilo@camiloribeiro.com
  • 19.
    Níveis, técnicas etipos de teste Camilo Ribeiro – camilo@camiloribeiro.com Técnicas de Teste Nível de Teste Dimensões da Qualidade segundo o RUP Funcionalidade Confiabilidade Usabilidade Desempenho Suportabilidade Alguns tipos de Teste Caixa Branca Teste de Unidade Teste de Integração Segurança Integridade Carga Configuração Caixa Cinza Teste de Sistema Funcional Regressão Usabilidade Caixa Preta Teste de Aceitação Volume Maturidade Estresse Instalação Como Testar Quando Testar O que Testar
  • 20.
    O que possousar para criar testes? Requisitos Estórias de Usuário Dados Casos de uso Diagramas da UML Bugs Experiência Código Fonte Checklist Camilo Ribeiro – camilo@camiloribeiro.com Software fechado
  • 21.
    Pense como umtestador Pensar nas variáveis Pensar no objetivo Atende os requisitos funcionais? Pensar no ambiente Funciona do mesmo jeito em todos os browsers ou SOs? Pensar nos requisitos implícitos e não funcionais Está fácil de entender, está rápido? Pensar no cliente Se eu fosse o cliente eu queria ver . . . Pensar possíveis problemas Acho que com esses dados pode dar problema Pensar em definições Se eu fosse o cliente, entenderia esse label ? Pensar no uso em diferentes configurações ou ambientes No meu IPhone funciona, mas e no BlackBarry? Seja criativo, detalhista e crítico Camilo Ribeiro – camilo@camiloribeiro.com
  • 22.
    O que testarem um copo? Camilo Ribeiro – camilo@camiloribeiro.com
  • 23.
    O que testarem um copo? Testar o volume (Capacidade)? Testar a transparência? Testar a durabilidade? Testar resistência a frio? Testar resistência a calor? Testar resistência a sons? Testar a resistência física? Testar como fica quando quebrado? Testar o peso? Testar as dimensões? Testar o material usado (Vidro, cristal, outro)? Testar a espessura? . . . . . Camilo Ribeiro – camilo@camiloribeiro.com
  • 24.
    Pirâmide de dependência Camilo Ribeiro – camilo@camiloribeiro.com
  • 25.
    Caso de UsoCamilo Ribeiro – camilo@camiloribeiro.com
  • 26.
    Cenários de TesteCamilo Ribeiro – camilo@camiloribeiro.com
  • 27.
    Casos de testeA, B, C, D, E M, N, O, P, Q V, W, X, Y, Z Cenário 3 do Caso de Uso 27 Caso de Teste 1 Caso de Teste 2 Caso de Teste 3 Camilo Ribeiro – camilo@camiloribeiro.com
  • 28.
    Elaborando Casos deteste a partir de casos de uso Leitura do caso de uso Desenho dos fluxos do caso de uso Camilo Ribeiro – camilo@camiloribeiro.com
  • 29.
    Elaborando Casos deteste a partir de casos de uso Identificação das regras e dos momentos em que essas regras são ativadas Camilo Ribeiro – camilo@camiloribeiro.com
  • 30.
    Elaborando Casos deteste a partir de casos de uso Identificação dos cenários de Teste Camilo Ribeiro – camilo@camiloribeiro.com
  • 31.
    Elaborando Casos deteste a partir de casos de uso Cenários e Procedimentos de Teste CT01 CT02 CT03 CT04 CT05 CT06 CT07 CT08 CT09 CT10 CT11 CT12 CT14 CT15 CT16 CT13 Identificação dos cenários de Teste Camilo Ribeiro – camilo@camiloribeiro.com
  • 32.
    Valores limites Baseadoem intervalos matemáticos, onde, devemos testar pelo menos os valores nas extremidades dos intervalos. Pode ser representado por gráficos, por conjuntos de valores ou por expressões matemáticas. Camilo Ribeiro – camilo@camiloribeiro.com
  • 33.
    Valores limites Todosveículos fabricados entre 15/01/2009 e 20/04/2009 são chamados para recall: Todos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall: CT0N CT0N CT0N CT0N CT0N CT0N 14/01/2009 – false 15/01/2009 – false 16/01/2009 – true 19/04/2009 – true 20/04/2009 – false 21/04/2009 – false WAUZZZ44ZGN082818 – false WAUZZZ44ZGN082819 – true WAUZZZ44ZGN082820 – true WAUZZZ44ZGN095820 – true WAUZZZ44ZGN095821 – false WAUZZZ44ZGN095822 – false CT0N CT0N CT0N CT0N CT0N CT0N Camilo Ribeiro – camilo@camiloribeiro.com
  • 34.
    Valores limites Imagineum sistema onde cada usuário pode publicar alguns avisos para serem exibidos na intranet, um telão ou em um outro dispositivo qualquer. Logado, o usuário informa qual o aviso, e qual o periodo que o aviso deve ser exibido. Ele pode cadastrar quantos avisos desejar, mas, no caso de uso de cadastro de avisos, existe uma regra: R001 - Um usuário não pode cadastrar dois avisos ocupando o mesmo período. Como testar essa regra? Camilo Ribeiro – camilo@camiloribeiro.com
  • 35.
    Valores limites Inserirvalores válidos (fora dos limites) Inserir um valor exatamente igual Inserir um valor qualquer Inserir valores em cada fronteira Inserir valores dentro dos limites Inserir valores que contenham os limites Testar novamente com outro usuário Agora repedir para a operação de atualização Camilo Ribeiro – camilo@camiloribeiro.com
  • 36.
    Partição de EquivalênciaBaseado no princípio matemático dos conjuntos, onde, devemos testar pelo menos um elemento de cada conjunto distinto. Pode ser representado por gráficos, por conjuntos de valores ou por expressões de álgebra relacional. CT01 “ A” CT02 “ AB” CT03 “ B” Camilo Ribeiro – camilo@camiloribeiro.com
  • 37.
    Partição de EquivalênciaQualquer veículo pode ser alugado: Veículos Ciclomotores Caminhão Carro Ônibus Helicóptero 1 de cada subconjunto Pick-up CT01 Carro CT02 Pick-up CT03 Caminhão CT04 Ônibus CT05 Motocicleta CT06 Motoneta CT07 Helicóptero Camilo Ribeiro – camilo@camiloribeiro.com Motoneta Motocicleta
  • 38.
    Teste de SistemaCamilo Ribeiro – camilo@camiloribeiro.com Um sistema é formado por várias funcionalidades ou “casos de uso”
  • 39.
    Teste de SistemaCamilo Ribeiro – camilo@camiloribeiro.com Cada funcionalidade do sistema possui diversos fluxos
  • 40.
    Teste de SistemaIntegra cenários de várias funcionalidades para realizar um processo de negócio! Camilo Ribeiro – camilo@camiloribeiro.com
  • 41.
    SMQS – SeminárioMineiro de Qualidade de Software Camilo Ribeiro – camilo@camiloribeiro.com http://www.smqs2010.base2.com.br/programacao/
  • 42.
  • 43.
  • 44.
    Referências Myers, GlenfordJ. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1. B. Hetzel (1988). "The Growth of Software Testing“ • RIOS, E., MOREIRA, T., SOUZA, A., CRISTALLI, R . Base de Conhecimento em Teste de Software 2ª Edição. Martins, 2007. RUP 7.5, IBM ZIELCZYNSKI, Peter, Traceability from Use Cases to Test Cases, http://www.ibm.com/developerworks/rational/library/04/r-3217/ IBM Rational Technical library, 2006 BOEHM, B.W., 1981, Software Engineering Economics, Prentice Hall. ISQTQB Glossário de termos usados no Teste de Software Versão 1.0 Caetano, Cristiano. Quanto ganha um profissional de teste e qualidade de software? http://testexpert.com.br/? q=node/231 - 2007 Martinho, Fábio – Guia Completo para certificãções em qualidade e teste de software – Versão 2008 - http://testexpert.com.br/? q=node/1080 - 2008 CMMI Product Team. CMMI® for Development, Version 1.2