Slides

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

Description
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ó.
Categories
Published
of 42
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
  • 1. Usando Rede Bayesiana e Critério de Adequação para Obter uma Melhor Cobertura de Teste de Requisitos <ul><li>Gustavo Quezada </li></ul>
  • 2. <ul><li>Objetivos da Rede Bayesiana e Critério de Adequação </li></ul><ul><li>O Problema </li></ul><ul><li>Estimativa e Análise de Teste </li></ul><ul><li>Introdução do Novo Paradigma </li></ul><ul><li>Princípios Básicos da Rede Bayesiana </li></ul><ul><li>Critério de Adequação de Teste de Software </li></ul><ul><li>Aplicando a Rede Bayesiana e Critério de Adequação </li></ul><ul><li>Resultados </li></ul><ul><li>Investimento </li></ul><ul><li>Oportunidades </li></ul>Agenda
  • 3. <ul><li>Garantir a cobertura de Teste de Requisitos </li></ul><ul><li>Encontrar requisitos que estão faltando, não foram identificados ou ambíguos </li></ul>Objetivos da Rede Bayesiana e Critério de Adequação
  • 4. <ul><li>Estimativas não usam nenhuma técnica </li></ul><ul><li>Estimativas não são comuns em toda a organização </li></ul><ul><li>Estimativas não garantem que a cobertura de testes está validando todos os requisitos </li></ul>! O Problema
  • 5. <ul><li>Chefe: </li></ul><ul><li>Quantos casos de teste precisaremos desenvolver e executar para essa nova funcionalidade? </li></ul><ul><li>Quanto tempo iremos levar para concluir essas atividades? </li></ul>O Problema
  • 6. <ul><li>Seu raciocínio: </li></ul><ul><li>Qual a estimativa de tamanho e esforço que vou dar? </li></ul><ul><li>Assim que passar essa estimativa, terei que assinar com “sangue”! </li></ul><ul><li>E as atividades e tarefas dos outros projetos? </li></ul><ul><li>E os retrabalhos dos outros projetos? </li></ul><ul><li>E os problemas e dúvidas que tenho que resolver dos outros projetos? </li></ul>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. <ul><li>Esposa(Chefe) : </li></ul><ul><ul><li>“ Amor”, quanto tempo você leva para chegar em casa depois do futebol? </li></ul></ul><ul><li>Marido(Analista de Teste) : </li></ul><ul><ul><li>Preciso verificar o seguinte: </li></ul></ul><ul><ul><ul><li>Se vai ter churrasco. Caso positivo, preciso verificar o seguinte: </li></ul></ul></ul><ul><ul><ul><ul><li>A quantidade de carne; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>A quantidade de cerveja. </li></ul></ul></ul></ul><ul><ul><ul><li>Trânsito congestionado </li></ul></ul></ul><ul><ul><ul><li>Furar o pneu </li></ul></ul></ul><ul><ul><ul><li>Etc. </li></ul></ul></ul><ul><li>Esposa(Chefe) : </li></ul><ul><ul><li>“ Amor”, assim você complica o nosso relacionamento !!! </li></ul></ul>Estimativa e Análise de Teste O Homem e a Mulher
  • 9. <ul><li>Quantas vezes você já aguardou para iniciar uma tarefa, seja ela profissional ou pessoal? </li></ul>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. <ul><li>Quantas vezes você já aguardou para iniciar uma tarefa, seja ela profissional ou pessoal? </li></ul>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. <ul><li>O trabalho se expande, de modo a preencher todo o tempo disponível </li></ul><ul><li>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 </li></ul><ul><li>Credibilidade de quem fez a estimativa, como fica isso? </li></ul>Estimativa e Análise de Teste Lei de Parkinson
  • 12. <ul><li>Entendimento geral do sistema ou aplicação </li></ul><ul><li>Foco no levantamento de problemas de software </li></ul><ul><li>Interfaces de componentes são claramente identificadas </li></ul><ul><li>Todos os requisitos são cobertos </li></ul><ul><li>Uma abordagem sistêmica </li></ul>Introdução do Novo Paradigma
  • 13. <ul><li>Uma rede que modela a implementação do software permitindo simular diferentes cenários </li></ul><ul><li>Cada nó da rede faz referência a um código responsável por executar uma ação específica </li></ul><ul><li>Todas as classes de entrada relevantes devem ser avaliadas para cada nó </li></ul>[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. <ul><li>Definição: </li></ul><ul><ul><li>Transação: Cenário Macro </li></ul></ul><ul><ul><li>Ação de Software: Código responsável por executar uma tarefa específica </li></ul></ul><ul><ul><li>Classe de Partição: Conjunto de variáveis que tem a mesma propriedade </li></ul></ul>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. <ul><li>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 </li></ul>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. <ul><li>Definição: </li></ul><ul><ul><li>Critérios de adequação são regras que definem se um trecho de software foi adequadamente testado. [IEEE, 1996] [Vasconcelos, Eduardo, 2006] </li></ul></ul><ul><ul><ul><li>Critério baseado em fluxo de controle </li></ul></ul></ul><ul><ul><ul><li>Critério baseado em fluxo de dado </li></ul></ul></ul><ul><ul><ul><li>Critério baseado em fluxo de programa </li></ul></ul></ul><ul><ul><ul><li>Critério baseado em falhas </li></ul></ul></ul><ul><ul><li>Todos esses critérios são baseados em código de software </li></ul></ul>Critério de Adequação de Teste de Software
  • 17. <ul><li>Definição: </li></ul><ul><ul><li>Um critério de adequação C é uma função definida por: </li></ul></ul><ul><ul><ul><li>C: P x S x T ->{verdadeiro,falso} </li></ul></ul></ul><ul><ul><li>Onde: P: conjunto dos programas (software) a serem testados S: conjunto das especificações T: conjunto dos casos de testes </li></ul></ul><ul><ul><li>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] </li></ul></ul>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. <ul><li>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 </li></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 20. <ul><li>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 </li></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 21. <ul><li>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 </li></ul>Aplicando a Rede Bayesiana e Critério de Adequação Nó
  • 22. <ul><li>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 </li></ul>Aplicando a Rede Bayesiana e Critério de Adequação Relacionamento Hierárquico
  • 23. <ul><li>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 </li></ul>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 <ul><li>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. </li></ul>
  • 25. <ul><li>Não esqueça, a soma total para cada classe de partição de cada nó deve ser 100% </li></ul><ul><li>Após o preenchimento das probabilidades, você pode facilmente fazer simulações para verificar o impacto entre os nós da rede </li></ul><ul><li>Antes de fazer as simulações é necessário compilar sua rede </li></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 26. <ul><li>Simulação dos cenários: </li></ul><ul><ul><li>Servidor de Mensagem Instantânea suporta Múltiplas Listas de Contatos </li></ul></ul><ul><ul><li>Servidor de Mensagem Instantânea suporta somente uma Lista de Contatos </li></ul></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 27. Aplicando a Rede Bayesiana e Critério de Adequação
  • 28. <ul><li>Após tudo isso... </li></ul><ul><ul><li>Essa é a Versão Final da minha Rede? </li></ul></ul><ul><ul><li>Caso negativo, o que está faltando? </li></ul></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 29. Aplicando a Rede Bayesiana e Critério de Adequação <ul><li>Após você entender os requisitos de software e a Rede Bayesiana, é hora de aplicar o Critério de Adequação </li></ul><ul><li>Primeiro Passo </li></ul><ul><ul><li>Identificar quais critérios serão testados </li></ul></ul>
  • 30. Aplicando a Rede Bayesiana e Critério de Adequação <ul><li>Segundo Passo </li></ul><ul><ul><li>Cada requisito deve ser verificado contra cada critério e pelo menos um caso de teste deve existir quando aplicável </li></ul></ul>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 <ul><li>Segundo Passo </li></ul><ul><ul><li>Cada requisito deve ser verificado contra cada critério e pelo menos um caso de teste deve existir quando aplicável </li></ul></ul>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. <ul><li>Terceiro Passo </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>Neste momento, o usuário pode adicionar, alterar, remover os requisitos de software e criar um novo “baseline” </li></ul></ul><ul><ul><li>O ciclo é iniciado novamente </li></ul></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 33. <ul><li>Com isso atingimos os principais objetivos </li></ul><ul><ul><ul><li>Garantir a cobertura de Teste de Requisitos </li></ul></ul></ul><ul><ul><ul><li>Encontrar requisitos que estão faltando, não foram identificados ou ambíguos </li></ul></ul></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 34. <ul><li>Recordando... </li></ul>Aplicando a Rede Bayesiana e Critério de Adequação
  • 35. <ul><li>Projeto Piloto </li></ul><ul><ul><li>Aplicação de Mensagem Instantânea para telefone móvel </li></ul></ul><ul><li>No início... </li></ul><ul><ul><li>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 </li></ul></ul><ul><li>Após a criação da Rede Bayesiana... </li></ul><ul><ul><li>Aumento de 20% no número de casos de teste comparado com a técnica tradicional utilizada </li></ul></ul><ul><li>Após a criação do Critério de Adequação... </li></ul><ul><ul><li>Aumento de mais 10% no número de casos de teste </li></ul></ul>Resultados
  • 36. Resultados <ul><li>Ganhos... </li></ul><ul><ul><li>Ganho de 20% na cobertura de requisitos de teste </li></ul></ul><ul><ul><li>Ganho de 28% da qualidade dos requisitos de software </li></ul></ul><ul><ul><ul><li>Redução do problema de falta ou ambigüidade dos requisitos </li></ul></ul></ul><ul><ul><li>Ganho de 35% do esforço gasto na fase de estimativa e análise de teste co
  • Search
    Similar documents
    View more...
    Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks