• Save
Usando Rede Bayesiana e Critério de Adequação para Obter uma Melhor Cobertura de Teste de Requisitos
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Usando Rede Bayesiana e Critério de Adequação para Obter uma Melhor Cobertura de Teste de Requisitos

  • 1,589 views
Uploaded on

Princípios Básicos da Rede Bayesiana:...

Princípios Básicos da Rede Bayesiana:

- Uma rede que modela a implementação do software permitindo simular diferentes cenários;
-Cada nó da rede faz referência a um código responsável por executar uma ação específica;
-Todas as classes de entrada relevantes devem ser avaliadas para cada nó.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,589
On Slideshare
966
From Embeds
623
Number of Embeds
11

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 623

http://gustavoquezada.blogspot.com.br 302
http://gustavoquezada.blogspot.com 300
http://gustavoquezada.blogspot.pt 6
http://www.linkedin.com 4
http://theoldreader.com 3
http://www.slideshare.net 3
http://gustavoquezada.blogspot.com.ar 1
http://gustavoquezada.blogspot.mx 1
http://translate.googleusercontent.com 1
http://www.gustavoquezada.blogspot.com 1
http://www.blogger.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Usando Rede Bayesiana e Critério de Adequação para Obter uma Melhor Cobertura de Teste de Requisitos
    • Gustavo Quezada
  • 2.
    • Objetivos da Rede Bayesiana e Critério de Adequação
    • O Problema
    • Estimativa e Análise de Teste
    • Introdução do Novo Paradigma
    • Princípios Básicos da Rede Bayesiana
    • Critério de Adequação de Teste de Software
    • Aplicando a Rede Bayesiana e Critério de Adequação
    • Resultados
    • Investimento
    • Oportunidades
    Agenda
  • 3.
    • Garantir a cobertura de Teste de Requisitos
    • Encontrar requisitos que estão faltando, não foram identificados ou ambíguos
    Objetivos da Rede Bayesiana e Critério de Adequação
  • 4.
    • Estimativas não usam nenhuma técnica
    • Estimativas não são comuns em toda a organização
    • Estimativas não garantem que a cobertura de testes está validando todos os requisitos
    ! O Problema
  • 5.
    • Chefe:
    • Quantos casos de teste precisaremos desenvolver e executar para essa nova funcionalidade?
    • Quanto tempo iremos levar para concluir essas atividades?
    O Problema
  • 6.
    • Seu raciocínio:
    • Qual a estimativa de tamanho e esforço que vou dar?
    • Assim que passar essa estimativa, terei que assinar com “sangue”!
    • E as atividades e tarefas dos outros projetos?
    • E os retrabalhos dos outros projetos?
    • E os problemas e dúvidas que tenho que resolver dos outros projetos?
    O Problema
  • 7. O Problema Estimativa 100% Confiável Custos reduzidos Cobertura de teste 100% Prazos mais curtos Pessoas cada vez mais escassas e caras
  • 8.
    • Esposa(Chefe) :
      • “ Amor”, quanto tempo você leva para chegar em casa depois do futebol?
    • Marido(Analista de Teste) :
      • Preciso verificar o seguinte:
        • Se vai ter churrasco. Caso positivo, preciso verificar o seguinte:
          • A quantidade de carne;
          • A quantidade de cerveja.
        • Trânsito congestionado
        • Furar o pneu
        • Etc.
    • Esposa(Chefe) :
      • “ Amor”, assim você complica o nosso relacionamento !!!
    Estimativa e Análise de Teste O Homem e a Mulher
  • 9.
    • Quantas vezes você já aguardou para iniciar uma tarefa, seja ela profissional ou pessoal?
    Estimativa e Análise de Teste Síndrome do Estudante Segurança Tempo de tarefa Quando planejamos começar a tarefa Quando terminaríamos sem interrupção e sem Murphy Tempo reservado para Murphy e gerenciamento por crise Como aparece em nossas cabeças, quando adicionamos segurança.
  • 10.
    • Quantas vezes você já aguardou para iniciar uma tarefa, seja ela profissional ou pessoal?
    Estimativa e Análise de Teste Síndrome do Estudante Quando deveríamos começar a tarefa Quando realmente começamos, devido a Síndrome do Estudante Quando esperamos terminar, desde que Murphy não ataque Como realmente acontece Segurança Tempo de tarefa
  • 11.
    • O trabalho se expande, de modo a preencher todo o tempo disponível
    • Estimativa = Compromisso, ou seja, se entregar a tarefa antes do prazo, da próxima vez, a negociação de datas e prazos será mais difícil
    • Credibilidade de quem fez a estimativa, como fica isso?
    Estimativa e Análise de Teste Lei de Parkinson
  • 12.
    • Entendimento geral do sistema ou aplicação
    • Foco no levantamento de problemas de software
    • Interfaces de componentes são claramente identificadas
    • Todos os requisitos são cobertos
    • Uma abordagem sistêmica
    Introdução do Novo Paradigma
  • 13.
    • Uma rede que modela a implementação do software permitindo simular diferentes cenários
    • Cada nó da rede faz referência a um código responsável por executar uma ação específica
    • Todas as classes de entrada relevantes devem ser avaliadas para cada nó
    [WIKIPEDIA] [IEEE, 2002] [Phillips, Edwards, 1966] [Vasconcelos, Eduardo, 2006] Princípios Básicos da Rede Bayesiana Book Bag bag 1 50,0 bag 2 50,0 Draw 1 red 50,0 blue 50,0 Draw 2 red 50,0 blue 50,0 Draw 3 red 50,0 blue 50,0 Draw 4 red 50,0 blue 50,0
  • 14.
    • Definição:
      • Transação: Cenário Macro
      • Ação de Software: Código responsável por executar uma tarefa específica
      • Classe de Partição: Conjunto de variáveis que tem a mesma propriedade
    Princípios Básicos da Rede Bayesiana Book Bag bag 1 50,0 bag 2 50,0 Draw 1 red 50,0 blue 50,0 Draw 2 red 50,0 blue 50,0 Draw 3 red 50,0 blue 50,0 Draw 4 red 50,0 blue 50,0 Ação de Software Classe de Partição
  • 15.
    • Um novo caso de teste deve ser criado para cada nó, ou pelo menos a existência de um caso de teste deve ser identificada para ser usada na fase de Regressão
    Princípios Básicos da Rede Bayesiana Draw 1 Draw 2 Draw 3 Draw 4 Draw 5 70% Blue Book 70% Blue Book 70% Blue Book 70% Blue Book 70% Blue Book 30% Red Book 30% Red Book 30% Red Book 30% Red Book 30% Red Book Draw 1 Draw 2 Draw 3 Draw 4 Draw 5 30% Blue Book 30% Blue Book 30% Blue Book 30% Blue Book 30% Blue Book 70% Red Book 70% Red Book 70% Red Book 70% Red Book 70% Red Book Bag 2 Bag 1
  • 16.
    • Definição:
      • Critérios de adequação são regras que definem se um trecho de software foi adequadamente testado. [IEEE, 1996] [Vasconcelos, Eduardo, 2006]
        • Critério baseado em fluxo de controle
        • Critério baseado em fluxo de dado
        • Critério baseado em fluxo de programa
        • Critério baseado em falhas
      • Todos esses critérios são baseados em código de software
    Critério de Adequação de Teste de Software
  • 17.
    • Definição:
      • Um critério de adequação C é uma função definida por:
        • C: P x S x T ->{verdadeiro,falso}
      • Onde: P: conjunto dos programas (software) a serem testados S: conjunto das especificações T: conjunto dos casos de testes
      • C(p,s,t) = verdadeiro, implica que segundo o critério de equação C, o teste t é adequado para testar o programa p segundo a especificação s. [IEEE, 1996]
    Critério de Adequação de Teste de Software
  • 18. Neste caso, a função para a primeira linha da Matriz de Critério Adequação é: Positivo (Book Bag 1, Bag 1 tem 7 livros vermelhos e 3 azuis, verificar que a Bag 1 tem 7 livros vermelhos e 3 azuis) é adequado se “Verificar que a Bag 1 tem 7 livros vermelhos e 3 azuis” é adequado para testar o programa “Book Bag 1” contra a especificação “Bag 1 tem 7 livros vermelhos e 3 azuis” de acordo com o critério “Positivo”. Critério de Adequação de Teste de Software Critério Conjunto dos Programas Conjunto das Especificações Conjunto dos Casos de Teste Positivo Book Bag 1 Bag 1 tem 7 livros vermelhos e 3 azuis Verificar que a Bag 1 tem 7 livros vermelhos e 3 azuis Fronteira (Boundary) Book Bag 1 O número máximo de livros na Bag 1 é 10 Verificar que a Bag 1 suporta no máximo 10 livros Positivo Book Bag 2 Bag 2 tem 3 livros vermelhos e 7 azuis Verificar que a Bag 2 tem 3 livros vermelhos e 7 azuis Fronteira (Boundary) Book Bag 2 O número máximo de livros na Bag 2 é 10 Verificar que a Bag 2 suporta no máximo 10 livros
  • 19.
    • Requisitos REQ_001 : O usuário deverá ser capaz de registrar-se no Servidor de Mensagem Instantânea que suporta múltiplas ou uma lista de contatos. Se o Servidor de Mensagem Instantânea somente suportar uma lista de contatos, o Cliente de Mensagem Instantânea deverá requisitar automaticamente somente a lista de contato padrão REQ_002 : O usuário deverá ser capaz de registrar-se no Servidor de Mensagem Instantânea que suporta múltiplas ou uma lista de contatos. Se o Servidor de Mensagem Instantânea suporta múltiplas listas de contatos, o Cliente de Mensagem Instantânea deverá requisitar automaticamente todas as listas de contatos disponíveis REQ_003 : A lista de contatos padrão deverá ser carregada primeiro REQ_004: O número total de contatos de todas as listas não deverá exceder 500 contatos. Se o número total de contatos exceder 500 contatos, somente os 500 primeiros contatos deverão ser carregados REQ_005: O usuário deverá ser capaz de mudar a lista de contatos padrão através do Cliente de Mensagem Instantânea
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 20.
    • Requisitos REQ_006 : O usuário não poderá criar ou remover uma lista de contatos através do Cliente de Mensagem Instantânea REQ_007 : O usuário deverá ser capaz de adicionar novos contatos em qualquer lista de contatos disponível no Cliente de Mensagem Instantânea REQ_008 : Se o usuário não selecionar uma lista de contatos quando for adicionar um novo contato, este deverá ser adicionado na lista de contatos padrão REQ_009 : O usuário deverá ser capaz de remover contatos de qualquer lista de contatos disponível no Cliente de Mensagem Instantânea REQ_010: O usuário deverá ser capaz de mover contatos entre as listas de contatos
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 21.
    • Após entender os requisitos, é hora de identificar as Ações de Software e Classe de Partição, tudo isso resultará na criação de um determinado Nó na Rede Bayesiana. Instant Message Server Support Multiple Contact List Support Single Contact List
    Aplicando a Rede Bayesiana e Critério de Adequação Nó
  • 22.
    • O próximo passo é adicionar mais um Nó e fazer o relacionamento hierárquico entre eles. Instant Message Client Multiple Contact List Loaded Single Contact List Loaded
    Aplicando a Rede Bayesiana e Critério de Adequação Relacionamento Hierárquico
  • 23.
    • Finalmente o momento que você tanto esperava !!! Quando os nós e classes de partição tem um relacionamento hierárquico, é hora de “construir” as probabilidades para cada nó e partição
    Aplicando a Rede Bayesiana e Critério de Adequação No exemplo, se a partição “ Suport Single Contact List ” do nó “ Instant Message Server ” tem 100% de probabilidade, então a partição “ Single Contact List Loaded ” do nó “ Instant Message Client ” tem 100% de probabilidade. Onde você encontrou essa(s) probabilidade(s)?
  • 24. Aplicando a Rede Bayesiana e Critério de Adequação
    • REQ_001: O usuário deverá ser capaz de registrar-se no Servidor de Mensagem Instantânea que suporta múltiplas ou uma lista de contatos. Se o Servidor de Mensagem Instantânea somente suportar uma lista de contatos, o Cliente de Mensagem Instantânea deverá requisitar automaticamente somente a lista de contato padrão.
  • 25.
    • Não esqueça, a soma total para cada classe de partição de cada nó deve ser 100%
    • Após o preenchimento das probabilidades, você pode facilmente fazer simulações para verificar o impacto entre os nós da rede
    • Antes de fazer as simulações é necessário compilar sua rede
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 26.
    • Simulação dos cenários:
      • Servidor de Mensagem Instantânea suporta Múltiplas Listas de Contatos
      • Servidor de Mensagem Instantânea suporta somente uma Lista de Contatos
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 27. Aplicando a Rede Bayesiana e Critério de Adequação
  • 28.
    • Após tudo isso...
      • Essa é a Versão Final da minha Rede?
      • Caso negativo, o que está faltando?
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 29. Aplicando a Rede Bayesiana e Critério de Adequação
    • Após você entender os requisitos de software e a Rede Bayesiana, é hora de aplicar o Critério de Adequação
    • Primeiro Passo
      • Identificar quais critérios serão testados
  • 30. Aplicando a Rede Bayesiana e Critério de Adequação
    • Segundo Passo
      • Cada requisito deve ser verificado contra cada critério e pelo menos um caso de teste deve existir quando aplicável
    Requisitos Casos de Teste Critério REQ_001 Descrição do Caso de Teste – REQ_001 Critério Definido REQ_002 Descrição do Caso de Teste – REQ_001 Critério Definido . . . Descrição do Caso de Teste – REQ_00X Descrição do Caso de Teste – REQ_00Y Descrição do Caso de Teste – REQ_00Z Critério Definido REQ_010 Descrição do Caso de Teste – REQ_010 Critério Definido
  • 31. Aplicando a Rede Bayesiana e Critério de Adequação
    • Segundo Passo
      • Cada requisito deve ser verificado contra cada critério e pelo menos um caso de teste deve existir quando aplicável
    Novos casos de teste e requisito identificados Requisitos Casos de Teste Critério REQ_001 Registrar no Servidor de Mensagem Instantânea quando ele suporta somente uma lista de contatos Positivo REQ_002 Registrar no Servidor de Mensagem Instantânea quando ele suporta múltiplas listas de contatos Positivo -o- Registrar no Servidor de Mensagem Instantânea quando a lista de contatos está vazia Positivo -o- Registrar no Servidor de Mensagem Instantânea usando o id do usuário ou senha inválida Negativo REQ_004 Registrar no Servidor de Mensagem Instantânea quando o número máximo de contatos é atingido. Somente os 500 primeiros contatos devem ser carregados Positivo / Limite REQ_004 Registrar no Servidor de Mensagem Instantânea quando o número máximo de contatos não é atingido. Todos os contatos devem ser carregados de todas as listas de contatos Positivo -o- Registrar no Servidor de Mensagem Instantânea 30 vezes quando o número máximo de contatos é atingido Estresse -o- Registrar no Servidor de Mensagem Instantânea quando o número máximo de contatos é atingido. A operação não deve ultrapassar 1 minuto Desempenho
  • 32.
    • Terceiro Passo
      • Após identificar os novos casos de teste para os requisitos existentes e não existentes, é hora de voltar para a Rede Bayesiana e fazer um nova verificação para saber se é necessário alterá-la
      • Neste momento, o usuário pode adicionar, alterar, remover os requisitos de software e criar um novo “baseline”
      • O ciclo é iniciado novamente
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 33.
    • Com isso atingimos os principais objetivos
        • Garantir a cobertura de Teste de Requisitos
        • Encontrar requisitos que estão faltando, não foram identificados ou ambíguos
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 34.
    • Recordando...
    Aplicando a Rede Bayesiana e Critério de Adequação
  • 35.
    • Projeto Piloto
      • Aplicação de Mensagem Instantânea para telefone móvel
    • No início...
      • Requisitos de Software foram “baselined” e o Time de Teste iniciou a fase de estimativa e análise de teste usando a Rede Bayesiana e Critério de Adequação
    • Após a criação da Rede Bayesiana...
      • Aumento de 20% no número de casos de teste comparado com a técnica tradicional utilizada
    • Após a criação do Critério de Adequação...
      • Aumento de mais 10% no número de casos de teste
    Resultados
  • 36. Resultados
    • Ganhos...
      • Ganho de 20% na cobertura de requisitos de teste
      • Ganho de 28% da qualidade dos requisitos de software
        • Redução do problema de falta ou ambigüidade dos requisitos
      • Ganho de 35% do esforço gasto na fase de estimativa e análise de teste comparado com a técnica tradicional utilizada
    • Uma provável justificativa para o maior esforço da técnica tradicional, seria a falta de uma sistematização do processo de estimativa e análise, o que acaba por criar uma dependência da experiência e interpretação dos requisitos do engenheiro de testes, que subjetivamente cria casos de teste.
  • 37. Resultados
  • 38. Investimento
    • 8 horas de treinamento por Analista de Teste
    • 65% a mais na fase de Estimativa e Análise de Teste, considerando o projeto Piloto
    • $585 aquisição de ferramenta
  • 39. Oportunidades
    • Design de Teste
      • Maior entendimento do sistema ou funcionalidade implementada
      • Minimização do retrabalho na criação dos casos de teste
      • Agilidade na identificação dos casos de teste prioritários
    • Execução de Teste
      • Agilidade na identificação dos casos de teste impactados após a resolução de defeito
      • Maior cobertura de teste na fase de Regressão com menos esforço
    • Time de Desenvolvimento
      • Participação ATIVA nas inspeções dos produtos de trabalho de teste
      • Utilização da Rede Bayesiana como um complemento aos casos de uso, diagrama de sequência e fluxo, etc.
  • 40.
    • [IEEE, 1996] IEEE TRANSACTIONS SOFTWARE ENGINEERING, VOL. 22, NO. 4, APRIL 1996 – Hong Zhu (A Formal Analysis of the Subsume Relation between Software Test Adequacy Criteria) [Phillips, Edwards, 1966] Phillips, L. D. and Edwards, W. (1966) "Conservatism in a simple probability inference task" in Journal of Experimental Psychology, 72, 346-357. [IEEE, 2002] IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 28, NO.5, MAY 2002 (Bayesian Graphical Models for Software Testing) [Vasconcelos, Eduardo, 2006] Um Modelo Sistêmico para Atividade de Avaliação e Teste de Software. [NORSYS] Norsys Software – http://www.norsys.com/ [WIKIPEDIA] WIKIPEDIA - http://en.wikipedia.org/wiki/Bayesian_network
    Referências
  • 41. MUITO OBRIGADO ! Gustavo Quezada [email_address]
  • 42.
    • Gustavo Quezada é Graduado em Análise de Sistemas pela PUC-Campinas, Pós-Graduando em Gerenciamento de Projetos pela FGV-Campinas. Gustavo dispõe de certificação CSM (Certified ScrumMaster) da Scrum Alliance. Trabalhou 4 anos no ambiente de desenvolvimento de software e 6 anos no ambiente de teste de software e gerência de projetos da Motorola e AsGa Sistemas, tendo ocupado as funções de Arquiteto e Líder de Teste, Gerente de Projetos e Gerente de Teste. Gustavo ajudou a desenvolver e criar o Brazil Test Center (Centro de Teste do Brasil) da Motorola, organização considerada modelo em Teste de Software, bem como ajudou na criação de processos para Teste Exploratório. Na AsGa Sistemas, criou a área de teste alcançando resultados positivos com a metodologia de desenvolvimento Ágil - SCRUM. Como Professor dos cursos de Ciência da Computação e Sistema da Informação da Faculdade UNIP-Campinas, Gustavo procura associar os conceitos das disciplinas que ministra às práticas das empresas, bem como desafiar seus alunos a aprofundarem os estudos e ampliarem os horizontes de seus conhecimentos. Além da sua experiência profissional, ele é membro do Comitê de Inovação ALATS contribuindo com artigos relacionados com teste de software, ajudando a comunidade de teste. Gustavo já foi palestrante da 1ª Semana de Tecnologia do CEFET, Unidade São João da Boa Vista, Título – Automação de Testes de Software, Brasil – Out/2007; Instrutor de treinamento de aplicação de Instant Messaging e Presence Service para Times de Teste de Sistema, Campo e Interoperabilidade, Paris – Jun/2005; Participação no OMA Test Fest (Open Mobile Alliance) para Instant Messaging e Presence Service – IMPS v1.2, China – Nov/2004.
    GUSTAVO QUEZADA