18/09/20081. 04/12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,

Slides:



Advertisements
Apresentações semelhantes
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Advertisements

Introdução a Algoritmos
Como planejar a equipe e criar casos de testes OO
Prof. André Laurindo Maitelli DCA-UFRN
Metodologia de testes Nome: Gustavo G. Quintão
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Gerência de Projetos Wesley Peron Seno Introdução
Identificando requisitos
Análise e Projeto de Sistemas I
Tópicos Motivação para teste Por que algumas empresas não testam
FACULDADE DOS GUARARAPES
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Mutação de Interface Interface Mutation: An Approach for Integration Testing Marcio E. Delamaro José C. Maldonado Aditya P. Mathur.
Porto Alegre, 5 de Outubro de 2009
Reliability verification of Digital Systems Design based on mutation Analysis Samuel S. Marczak.
Processo Desenvolvimento de Software Tradicional
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
TSDD Teste de segurança durante o desenvolvimento.
Testes – visão geral Vanilson Burégio.
Gerenciamento de Requisitos com Casos de Uso
Engenharia de Software
Classes e objetos Modelagem
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
Introdução aos conceitos de Teste de Software
RUPinho Qualidade de Software
Análise e Projeto de Sistemas
Capability Maturity Model (CMM)
Qualidade de Produto de Software
Análise e Projeto de Sistemas
Fabíola Guerra Nakamura Vitor Alcântara Batista
Engenharia de Software
Engenharia de Software
Programação Orientada à Objetos
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
Engenharia de Software
Processo de Desenvolvimento de Software
Testes de Software AULA 02 Eduardo Silvestri
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
Introdução a Teste de Software
Sistemas Microprocessados e Microcontrolados
Automação de Testes de Software
Cigré/Brasil CE B5 – Proteção e Automação Seminário Interno de Preparação para o Colóquio de Madri 2007 Rio de Janeiro, outubro/07.
Processos de Software.
Processos de Software.
Técnicas e Projeto de Sistemas
Desenvolvimento de Software Dirigido a Modelos
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
1/29 Teste de Integração, Sistema e Aceitação Alexandre Vasconcelos
Desenvolvimento de Sistemas - Fluxo de Testes
Testes de SW Aula 24.
Engenharia de Software e Sistemas
Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro.
Planejamento do Teste. Define que “tipo de teste” se quer fazer Depende de restrições do ambiente. Exemplo: –Deve basear-se em requisitos –Limitações.
Certificação e Auditoria
Qualidade de Produtos de Software
Testes (verificação e validação)
Metodologia de modelagem etapa 7
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
TÉCNICAS DE ESTIMATIVAS
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Análise e Design de Software Site:
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

18/09/20081

04/12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,

3 Agenda Introdução Testes Baseados Em Modelo Algumas Técnicas Estudo de Caso Conclusão 04/12/2008

4 Introdução Preocupação com a melhoria da qualidade do software; Investimento na Atividade de Teste; Necessidade de: –Automatizar tarefas repetitivas; – Diminuir Custo e esforço com essas atividades; 04/12/2008

Testes Baseados Em Modelo

6 Modelo Representação abstrata de algo, concentrando nos aspectos principais e ignorando o resto; Uma aplicação pode ser representada como um modelo; Modelos são usados para compreender, especificar e desenvolver sistemas em muitas áreas. 04/12/2008

7 MBT Técnica de teste em que os casos de teste são derivados do modelo do software a testar[1]; Testes Baseados em Modelos (TBM) consiste em uma técnica para geração automática de um conjunto de casos de testes, com entradas e saídas esperadas, utilizando modelos extraídos a partir dos requisitos do software[2]; 04/12/2008

8 MBT Técnica antiga; MBT é considerado um tipo de teste caixa preta, dado que os testes são derivados a partir do modelo de comportamento e não do código fonte; Essa técnica de teste permite verificar a conformidade da implementação relativamente à especificação do sistema introduzindo mais sistematização e automação no processo de teste; 04/12/2008

9 Vantagens Construção do modelo ajuda a entender o requisito o que leva a um código de melhor qualidade; Melhor qualidade de especificação; Automatizar tarefas repetitivas e sensíveis a erros; Geração automática de Casos de Testes; Execução automática dos Casos de Testes; 04/12/2008

10 Desvantagens Conhecimento na notação do modelo utilizado; Investimento em tempo e treinamento; Dependência da existência do modelo; 04/12/2008

11 Atividades O TBM pode gerar melhorias nas atividades de teste por meio da simplificação do seu planejamento, da semi-automação de suas atividades, e controle, a partir da gerência dos testes e possibilidade de re-execução automática após modificações. 04/12/2008

12 Atividades Estudo das funcionalidades do sistema a ser testado; Escolha da Técnica de Modelagem; Construção do Modelo; Geração dos Casos de Testes; Execução dos Testes; Coleta e avaliação dos resultados; 04/12/2008

Técnicas

14 Método TT Este método é bastante simples, mas ele garante que todas as transições do modelo são testadas pelo menos uma vez. O algoritmo para criar os testes depende das propriedades que o modelo possui. Pode existir apenas uma seqüência que percorra todas as transições, ou pode existir mais de uma, caso ela não seja completamente conectada. 04/12/2008

15 Método UIO Este método utiliza seqüências UIO de forma a gerar várias seqüências que levem o modelo do estado inicial até o estado de entrada, aplica-se um símbolo de entrada (transição), para em seguida aplicar a seqüência UIO do estado a ser atingido, que levará o modelo ao estado final desejado. Uma seqüência UIO (seqüência única de entrada e saída) é utilizada para verificar se um modelo está em um determinado estado. Isto faz com que cada estado de um modelo tenha uma seqüência UIO diferente. 04/12/2008

16 Método BZ-TT Esta técnica consiste em testar operações em um modelo com entradas com valores limites em estados limites. Um estado limite é um estado que contém ao menos uma variável que tem um valor no extremo (mínimo ou máximo) de seus subdomínios. O procedimento de aplicação é uma análise de partição para cada operação seguida da busca do mínimo e máximo de cada predicado. 04/12/2008

17 User Defined Test Objectives A técnica User Defined Test Objectives permite que o usuário defina objetivos para seus testes, e represente na forma de restrições nos estados e transições do seu modelo. Não possui nenhum critério de adequação e permite que escolha arbitrariamente seus objetivos. 04/12/2008

Estudo de Caso

19 Estudo [13] Técnicas BZ-TT e User Defined Test Objectives ; Duas aplicações: ATM e VM ; A implementação do ATM era formada por 405 estados (com 76 branches) distribuídas em 8 classes Java. A implementação do VM era formada por 85 estados (com 12 branches) distribuída em uma única classe Java. 04/12/2008

20 Estudo Foram incluídos 123 mutantes na aplicação ATM e 56 na VM, de forma a testar se os casos de teste gerados pela aplicação eram possíveis de encontrar estes erros no código. 04/12/2008

21 Aplicação ATM 04/12/2008

22 Aplicação VM 04/12/2008

23 Conclusão MBT traz ganhos não apenas para as atividades de testes, mas também aumenta a qualidade da especificação, o que melhora a qualidade do código desenvolvido; Através do Estudo de Caso apresentado foi possível perceber que entre a técnica BZ-TT e a User Defined Test Objectives a BZ-TT apresenta um melhor resultado em detecção de falhas, com relação à outra técnica.

04/12/ Referências [1] Site: events:advanced_training:mbt. Acessado em novembro, events:advanced_training:mbt [2] Binder, R. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, [3]PARADKAR, Amit. Case Studies on fault detection effectiveness of model based test generation techniques. Proceedings of the Advances in Model-Based Software Testing, 2005

04/12/ Perguntas ?

04/12/ Testes Baseados Em Modelo Obrigado! Diana Rúbia - Paulo César –

18/09/200827