Técnicas de Teste no Ciclo de Vidade Desenvolvimento de SoftwareCamilo RibeiroTheBugBangTheory
Camilo Falcão RibeiroAnalista de Teste e Engenheiro de Processos na Squadra Tecnologia;
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 graduando em Engenharia de Software pela 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.Bug?
Defeitos!
Custo do DefeitoCusto relativo para corrigir um defeito. Adaptado de (BOEHM, 1981).Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996).
Desenv. Cascata (1970)RequisitosDesenhoImplementaçãoTestesManutenção
Desenv. Cascata RealimentadaRequisitosDesenhoImplementaçãoTestesManutenção
Ciclo de Vida em Espiral (XP, SCRUM)RequisitosDesenhoImplementaçãoTestesProduto completo?NãoSim
Entrega EvolutivaRequisitosAnáliseDesenho ArquitetônicoDesenho DetalhadoImplementaçãoTestesNãoProduto completo?Sim
Ciclo de Vida Quase EspiralRUP, Mbase, PraxisConceito InicialRequisitosAnáliseDesenhoImplementaçãoTestesNãoProduto completo?SimImplantação
Como resolver esse problema?
Teste de SoftwareInspeções	-De requisitos	-De casos de uso	-De código fonteTestes de unidadeTestes de integração	-Entre classes	-Entre sistemasElaboração de Casos de Teste	-Baseados em requisitos / Casos de Uso	-Baseados em valores limites	-Baseados em partições de equivalência	-Baseado em cenários de negócioTestes de Sistema	-A partir de casos e procedimentos de teste		-Manual		-Execução automática	-ExploratóriosTestes de Aceite	-Baseado em cenários de negócioTestes de Requisitos não Funcionais	-Carga	-Estresse	-Segurança
Modelos “V” De DesenvolvimentoRequisitosTeste de AceiteAnáliseTeste de SistemaDesenhoTeste de IntegraçãoTeste de UnidadeImplementaçãoVerificação e Validação – Áreas de Processos do CMMi
Inspeções
Inspeções
Teste de UnidadeClasse JavaRequisitoGeraMétricasEspecificaClasse de TesteAcessaDefeitosAcessaImplementaDados(DB, XML)Bibliotecas(Junit)Cobertura de Código
Caso de TesteID - NomePré condiçõesProcedimentosEntradas e SaídasCT SIS65Resultados esperadosPós Condições
Elaboração de Casos de TesteLeitura do caso de usoDesenho dos fluxos do caso de uso
Elaboração de Casos de TesteIdentificação das regras e dos momentos em que essas regras são ativadas
Elaboração de Casos de TesteIdentificação dos cenários de Teste
Elaboração de Casos de TesteIdentificação dos cenários de TesteCT01CT02CT03CT04Cenários e Procedimentos de TesteCT05CT06CT07CT08CT09CT10CT11CT12CT14CT15CT16CT13
Valores LimitesBaseado 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.
Valores LimitesTodos veículos fabricados entre 15/01/2009 e 20/04/2009 são chamados para recall:14/01/2009 – false15/01/2009 – true16/01/2009 – true 19/04/2009 – true 20/04/2009 – true21/04/2009 – false CT0NCT0NCT0NCT0NCT0NCT0NTodos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall:WAUZZZ44ZGN082818 – false WAUZZZ44ZGN082819 – true WAUZZZ44ZGN082820 – true WAUZZZ44ZGN095820 – true WAUZZZ44ZGN095821 – false WAUZZZ44ZGN095822 – false CT0NCT0NCT0NCT0NCT0NCT0N
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”
Partição de Equivalência Qualquer veículo pode ser alugado:CT01CarroVeículosCT02Pick-up          CaminhãoCarroPick-upCT03Caminhão1 de cada subconjuntoCT04ÔnibusÔnibusCiclomotoresMotonetaMotocicletaCT05MotocicletaHelicópteroCT06MotonetaCT07Helicóptero
Testes de SistemaCT01CarroLeitura dos casos de testeRegistro manual dos resultadosCT02Pick-upManualIBM Rational Quality ManagerCT03CaminhãoCT04ÔnibusProgramação dos casos de testeem ferramenta de automação eRecord and replayCT05MotocicletaAutomatizadoCT06Motoneta*Desenvolver testes automatizados leva cerca de 3 a 10 vezes mais tempo que executá-los manualmente. O ganho está na redução do tempo de execução.(CBT-TST110)CT07Helicóptero
Testes de AceiteOs testes de aceite são os testes executados pelo cliente, baseados nos requisitos.AbstraçãoCaso de Teste de Aceite. . .Caso de Teste de NegócioCenário de TesteCaso de Teste
Testes de AceiteCadastre o item X a R$80,00Cadastre o item Y a R$90,00Cadastre a promoção Z (Frete Gratuito em compras acima de 150,00)Cadastre-se como cliente João da Silva (joao@silva.com.br)Pesquise pelo item XInclua o item X no carrinhoConsulte o valor do frete para CEP 30626-000 (Frete R$15,00)Sistema informa Total = R$95,00Sistema recomenda o item Y com economia de R$15,00Selecione o Item YInclua o item Y no carrinhoConsulte o valor do frete para CEP 30626-000 (Frete R$00,00)Sistema informa Total = R$95,00Confirme a compraSistema solicita endereço baseado no CEPInforme o número e complemento (123, A)Sistema informa as condições de pagamento Informe “Visa a vista”. . .N . Cliente confirma recebimento do produto.
Testes de AceiteProtótipos:1 – Acesse a tela principal2 – Acione o menu Livros3 – Selecione livro “O Símbolo Perdido” no banner de promoções4 – Sistema exibe descrição do livro5 –Solicite Comprar6 – Informe a Quantidade7 – Solicite Continuar8 – Sistema Solicita Login
Testes de Requisitos Não FuncionaisPara Kirner e Davis (1996), requisitos não-funcionais são declarações que definem as qualidades globais ou atributos a serem atendidos pelo sistema resultante. Segundo Cysneiros (1997), os requisitos não-funcionais, ao contrário dos requisitos funcionais, não expressam nenhuma função a ser realizada pelo software, e sim comportamentos e restrições que este software deve satisfazer.Os testes desses requisitos são normalmente executados com ajuda de ferramentas especializadas, com grande planejamento, avaliação arquitetural, aplicando técnicas avançadas.

Técnicas de Teste

  • 1.
    Técnicas de Testeno Ciclo de Vidade Desenvolvimento de SoftwareCamilo RibeiroTheBugBangTheory
  • 2.
    Camilo Falcão RibeiroAnalistade Teste e Engenheiro de Processos na Squadra Tecnologia;
  • 3.
    Mais de quatroanos atuando em Teste de Software e Processos;
  • 4.
    Participação em maisde 40 projetos de Software;
  • 5.
    Participação em projetosde implantação do CMMi (todos os níveis);
  • 6.
    Graduado em Sistemaspara Internet pela Faculdade Pitágoras;
  • 7.
    Pós graduando emEngenharia de Software pela UFMG;
  • 8.
    Certificado como especialistaem Teste de Software pelo ISTQB e ALATS;
  • 9.
    Membro do comitêde inovação em Teste de Software ALATS;
  • 10.
    Mantedor do blogtécnico www.bugbang.com.br;
  • 11.
    Especialista em implementaçãoe customização da ferramenta TestLink.Bug?
  • 12.
  • 13.
    Custo do DefeitoCustorelativo para corrigir um defeito. Adaptado de (BOEHM, 1981).Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996).
  • 14.
  • 15.
  • 16.
    Ciclo de Vidaem Espiral (XP, SCRUM)RequisitosDesenhoImplementaçãoTestesProduto completo?NãoSim
  • 17.
    Entrega EvolutivaRequisitosAnáliseDesenho ArquitetônicoDesenhoDetalhadoImplementaçãoTestesNãoProduto completo?Sim
  • 18.
    Ciclo de VidaQuase EspiralRUP, Mbase, PraxisConceito InicialRequisitosAnáliseDesenhoImplementaçãoTestesNãoProduto completo?SimImplantação
  • 19.
  • 21.
    Teste de SoftwareInspeções -Derequisitos -De casos de uso -De código fonteTestes de unidadeTestes de integração -Entre classes -Entre sistemasElaboração de Casos de Teste -Baseados em requisitos / Casos de Uso -Baseados em valores limites -Baseados em partições de equivalência -Baseado em cenários de negócioTestes de Sistema -A partir de casos e procedimentos de teste -Manual -Execução automática -ExploratóriosTestes de Aceite -Baseado em cenários de negócioTestes de Requisitos não Funcionais -Carga -Estresse -Segurança
  • 22.
    Modelos “V” DeDesenvolvimentoRequisitosTeste de AceiteAnáliseTeste de SistemaDesenhoTeste de IntegraçãoTeste de UnidadeImplementaçãoVerificação e Validação – Áreas de Processos do CMMi
  • 23.
  • 24.
  • 25.
    Teste de UnidadeClasseJavaRequisitoGeraMétricasEspecificaClasse de TesteAcessaDefeitosAcessaImplementaDados(DB, XML)Bibliotecas(Junit)Cobertura de Código
  • 26.
    Caso de TesteID- NomePré condiçõesProcedimentosEntradas e SaídasCT SIS65Resultados esperadosPós Condições
  • 27.
    Elaboração de Casosde TesteLeitura do caso de usoDesenho dos fluxos do caso de uso
  • 28.
    Elaboração de Casosde TesteIdentificação das regras e dos momentos em que essas regras são ativadas
  • 29.
    Elaboração de Casosde TesteIdentificação dos cenários de Teste
  • 30.
    Elaboração de Casosde TesteIdentificação dos cenários de TesteCT01CT02CT03CT04Cenários e Procedimentos de TesteCT05CT06CT07CT08CT09CT10CT11CT12CT14CT15CT16CT13
  • 31.
    Valores LimitesBaseado emintervalos 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.
  • 32.
    Valores LimitesTodos veículosfabricados entre 15/01/2009 e 20/04/2009 são chamados para recall:14/01/2009 – false15/01/2009 – true16/01/2009 – true 19/04/2009 – true 20/04/2009 – true21/04/2009 – false CT0NCT0NCT0NCT0NCT0NCT0NTodos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall:WAUZZZ44ZGN082818 – false WAUZZZ44ZGN082819 – true WAUZZZ44ZGN082820 – true WAUZZZ44ZGN095820 – true WAUZZZ44ZGN095821 – false WAUZZZ44ZGN095822 – false CT0NCT0NCT0NCT0NCT0NCT0N
  • 33.
    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”
  • 34.
    Partição de EquivalênciaQualquer veículo pode ser alugado:CT01CarroVeículosCT02Pick-up CaminhãoCarroPick-upCT03Caminhão1 de cada subconjuntoCT04ÔnibusÔnibusCiclomotoresMotonetaMotocicletaCT05MotocicletaHelicópteroCT06MotonetaCT07Helicóptero
  • 35.
    Testes de SistemaCT01CarroLeiturados casos de testeRegistro manual dos resultadosCT02Pick-upManualIBM Rational Quality ManagerCT03CaminhãoCT04ÔnibusProgramação dos casos de testeem ferramenta de automação eRecord and replayCT05MotocicletaAutomatizadoCT06Motoneta*Desenvolver testes automatizados leva cerca de 3 a 10 vezes mais tempo que executá-los manualmente. O ganho está na redução do tempo de execução.(CBT-TST110)CT07Helicóptero
  • 36.
    Testes de AceiteOstestes de aceite são os testes executados pelo cliente, baseados nos requisitos.AbstraçãoCaso de Teste de Aceite. . .Caso de Teste de NegócioCenário de TesteCaso de Teste
  • 37.
    Testes de AceiteCadastreo item X a R$80,00Cadastre o item Y a R$90,00Cadastre a promoção Z (Frete Gratuito em compras acima de 150,00)Cadastre-se como cliente João da Silva (joao@silva.com.br)Pesquise pelo item XInclua o item X no carrinhoConsulte o valor do frete para CEP 30626-000 (Frete R$15,00)Sistema informa Total = R$95,00Sistema recomenda o item Y com economia de R$15,00Selecione o Item YInclua o item Y no carrinhoConsulte o valor do frete para CEP 30626-000 (Frete R$00,00)Sistema informa Total = R$95,00Confirme a compraSistema solicita endereço baseado no CEPInforme o número e complemento (123, A)Sistema informa as condições de pagamento Informe “Visa a vista”. . .N . Cliente confirma recebimento do produto.
  • 38.
    Testes de AceiteProtótipos:1– Acesse a tela principal2 – Acione o menu Livros3 – Selecione livro “O Símbolo Perdido” no banner de promoções4 – Sistema exibe descrição do livro5 –Solicite Comprar6 – Informe a Quantidade7 – Solicite Continuar8 – Sistema Solicita Login
  • 39.
    Testes de RequisitosNão FuncionaisPara Kirner e Davis (1996), requisitos não-funcionais são declarações que definem as qualidades globais ou atributos a serem atendidos pelo sistema resultante. Segundo Cysneiros (1997), os requisitos não-funcionais, ao contrário dos requisitos funcionais, não expressam nenhuma função a ser realizada pelo software, e sim comportamentos e restrições que este software deve satisfazer.Os testes desses requisitos são normalmente executados com ajuda de ferramentas especializadas, com grande planejamento, avaliação arquitetural, aplicando técnicas avançadas.