instanciação do rup para uso da metodologia de testes orientada por modelos da agedis sidney de...

30
Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Upload: mikaela-de-paiva-caetano

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS

Sidney de Carvalho NogueiraOrientador: Augusto Sampaio

Page 2: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Roteiro Teste de Software Processo de Testes Ferramentas de Teste Usuais Métodos Formais e Testes Testes dirigidos por modelos (TDM) O trabalho e sua contribuição Testes no RUP 2003 RUP modificado para TDM Conclusões Bibliografia

Page 3: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Teste de SoftwareTestes consomem de 30% a 70% do

projeto.Teste é “destrutivo” enquanto

desenvolvimento é “construtivo”.Processo de teste tem relação com

”controle de qualidade”.Prova a existência dos erros e não a

ausência deles.

Page 4: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Processo de TestesPlanejado e executado ao longo da vida

do produto.Verificar:

Requisitos corretamente implementados; Iteração/integração dos componentes; Correções/manutenções/melhoramentos

não afetaram os itens anteriores.

Page 5: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Processo de Testes

Etapas da construção do software vs Etapas do Teste

Page 6: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Processo de Testes Diferentes estágios: unidade, integração,

sistema, aceitação) Diferentes abordagens: caixa

preta/branca/translúcida Diferentes tipos: funcional, performance,

segurança, dados, estresse, interface, documentação, regressão, etc.

Plano dos teste deve responder: quando?, que tipo?, e como?; serão executados os testes.

Page 7: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Ferramentas de Teste (não geram casos de teste) Várias categorias de ferramentas :

Planejamento e projeto de testes (ex: Rational TestManager)

Geração de massas de dados (ex: TestByte) Teste de unidade (ex: Junit) Verificação de assertivas (ex: JTest) Testes de GUI (ex: WinRunner) Testes de cobertura (ex: PureCoverage) Inspeção e análise estática de código (ex: IntelliJ IDE) Testes de carga e estresse (ex: Jmeter) Testes de desempenho (ex: JProbe)

Page 8: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Métodos Formais e TestesMétodos Formais (MF) - Modelagem

matemática do software e sistemas de hardware

MF prova com precisão/consistência matemáticas propriedades do sistema (testes consistem basicamente em provar propriedades do sistema com relação à especificações/modelos )

Page 9: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Métodos Formais e TestesAbordagem formal :

Maior custo Especialização profissional

Pesquisas em crescente ascensão ex: FORTest (Formal Test).

Nova geração de ferramentas de testes : geração automática de testes e verificação de modelos

Page 10: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Testes Dirigidos por Modelo Model Driven Test (MDT) ou Testes Dirigidos por Modelo

(TDM) Inserir automação (ferramentas) na derivação de casos

a partir de modelos Concentra mais esforço na geração do modelo

comportamental Iniciativa AGEDIS (Automated Generation and Execution

of Test Suites for Distributed Component-based Software) : 3 anos de projeto (terminou em 2003) IBM, Universidade de Oxford, Universidade de Joseph Fourier,

France Telecom, etc.

Page 11: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Contribuição do artigo Inicial – a idéia era definir processos de

teste dirigidos por modeloDepois – instanciação do RUP 2003

com alterações para TDMAgora – instanciação do RUP 2003 com

alterações para TDM com arquitetura de ferramentas da AGEDIS

Page 12: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Arquitetura AGEDIS

Page 13: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Arquitetura AGEDIS Modelagem em AML (UML AGEDIS) + IF

(Intermediate Format) – ferramenta proprietária Objectering UML

Diretrivas de geração – estratégias e táticas de teste. Define: Template para casos de teste; Modelo de cobertura (cobertura de estados e transições); Combinação dos parâmetros durante a geração dos testes.

Casos de teste abstratos descritos em XMLs – possuem seqüência de entradas e saídas esperadas

Page 14: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Arquitetura AGEDIS Diretivas de execução – mapeamento de tipos

abstratos do XML com a linguagem de programação (inicialmente Java) na qual serão escritos scripts automáticos

O traços de execução também são casos de teste – mesmo XML DTD dos casos de teste

Page 15: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Testes no RUP 2003

Page 16: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Teste do RUP 2003 Não existe o artefato plano de testes, no

entanto vamos manter na proposta esse artefato

Documento das idéias de teste mantido pelo analista de testes

Surge o papel do gerente de testes : acessar e advogar a qualidade dos testes

Aglutinação dos procedimentos de teste com os dados dos testes – test suite

Page 17: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Metodologia MDT1. Construir o modelo comportamental formal2. Simular e debugar o modelo usando o simulador3. Construir diretivas geradoras de testes4. Gerar os grupos de teste5. Criar interfaces de teste6. Executar os grupos de teste7. Analisar os resultados dos testes8. Se a qualidade obtida é insuficiente, ou defeitos

precisam ser analisados então, é são construídas novas diretrizes de geração e volta para o passo 4.

Page 18: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

RUP modificado para TDM Aplicação da metodologia de maneira incremental

ao longo do ciclo de vida do software. Atividades da metodologia acontecem num grau

de intensidade e freqüência diferentes ao longo de cada etapa da vida do software.

Adaptação de alguns artefatos do RUP por outros utilizados pelas ferramentas AGEDIS

Page 19: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Artefatos RUP vs AGEDIS Artefato RUP Artefato AGEDIS Papel Relacionado

Documento de Requisitos, Modelo de Analise e Modelo de Projeto

Modelo comportamental Analista de sistemas e desenvolvedor

Procedimento de Teste, Documento de Casos de Teste, Entradas dos Testes

Teste Abstrato Projetista de testes (test designer)

Suíte de testes Suíte de teste abstrata Projetista de testes

Documento de Estratégia de Teste

Diretivas de geração Projetista de testes

Scripts Automáticos Testes abstratos e diretivas de execução

Projetista de teste e desenvolvedor

Log de teste Traces de execução Testador (Tester)

Page 20: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Construir o modelo comportamental formal Construído ainda na concepção, mesmo sem haver

implementação Na concepção : apenas propriedades alto nível do

sistema (estímulos e respostas ao sistema), valida comportamento de caso de uso de alta complexidade

Na elaboração e construção : diagramas estruturais do sistema são “refinadas” e modelagem formal passa a detalhar estados internos do sistema

Priorizados os casos de uso a serem modelados formalmente, decididos pelos de maior risco e necessidade de confiabilidade

Page 21: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Construir o modelo comportamental formal Modelagem formal da AGEDIS é contituida de diagramas de

classe e diagramas de estado (para cada componente). IF é utilizada como linguagem de ação para o diagrama de

estados. Usando os modelos de análise modelos são aplicados aos

métodos e atributos da classe estereótipos específicos utilizadas para gerar teste : <<controllable>> e <<observable>>.

<<controllable>> é usado para os métodos e atributos que se quer interagir com estímulo (sinal ou entrada)

<<observable>> usado nos métodos e atributos que ser quer observar o valor de resposta produzido pelo sistema (ou saída).

Page 22: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Simular e depurar o modelo usando o simulador Antes de gerar testes é possível simular

animar o modelo fornecendo entradas e verificando as saídas

Realizado em todas fases do desenvolvimento Simulador e depurar o modelo para corrigir

erros do modelo Usado para facilitar o entendimento da

modelagem, principalmente para os que não conheçam métodos formais

Page 23: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Construir diretivas geradoras de testes Baseado no plano de testes, na estratégia do

teste e nas idéias de teste é são geradas as primeiras diretivas

Diretivas são ajustadas com feedback da geração (quantidade e qualidade) e execução dos testes

Diretivas em acordo com os objetivos do teste para a iteração corrente

Mudança somente realizadas após estudo do impacto na qualidade

Page 24: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Gerar os grupos de teste Novos testes são gerados em grande quantidade a cada

combinação de modelo e diretivas de geração – alguns repetidos outros novos

Projetista e analista de testes decidem quais testes gerados são mais úteis baseados no sumário de avaliação dos testes (defeitos escapados, cobertura dos requisitos alcançada, etc)

Testes aceitos (aprovados e executados) não devem ser descartados

Geração automática vai sugerir novos testes e não determinar quais os testes que devem ser executados

Teste abstratos podem ou não ter execução automática

Page 25: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Criar interfaces de teste Decididos quais testes serão executados

automaticamente, são geradas as interfaces de teste

Geralmente os teste de regressão são os candidatos potenciais de serem automatizados pois serão re-executados com freqüência

O desenvolvedor irá criar as interfaces de teste e todo código relacionado a automação da execução

Page 26: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Executar os grupos de teste e Analisar os resultados Execução dos testes e analise dos resultados

vai dar entrada para ajuste no modelo e diretivas

Parte será executada manualmente e outra automaticamente

Casos de teste podem ser aglutinado para apanhar mais defeitos com menos testes

Os critérios

Page 27: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Conclusões O RUP pode suportar de maneira natural a

metodologia MDT - poucas adaptações Há muito o que evoluir nas ferramentas MDT para

que sejam usadas comercialmente, ausência de processos apropriados também é critica

Uso da metodologia justificado em sistemas onde requisitos não funcionais como alta confiabilidade são exigidos

Uso comedido da metodologia : artefatos gerados automaticamente não devem substituir os artefatos de teste habituais

Page 28: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Conclusões Esforço transferido da criação dos testes para

criação do modelo e manipulação da ferramentas para criar testes

Geração automática vs Execução manual andam juntas

Page 29: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Bibliografia [Whi00] William E. Lewis, Software Testing and

Continuous Quality Improvement, Auerbach, pags. 3 a 18, 2000.

[Tret] Jan Tretmans and Axel Belinfante, Automatic Testing with Formal Methods

[Phi00] Philippe Kruchten, The Rational Unified Process An Introduction, Second Edition, Addison-Wesley, pags. 193 a 205, 2000.

Page 30: Instanciação do RUP para uso da metodologia de testes orientada por modelos da AGEDIS Sidney de Carvalho Nogueira Orientador: Augusto Sampaio

Bibliografia [Brian.B.Majdi] Model Driven Testing, DNA

Enterprises, Inc. By: Brian Berger, Majdi Abuelbassal

[Hartman.A.Nag.Ken] Alan Hartman and Kenneth Nagin, Model Driven Testing, AGEDIS Architecture Interfaces and Tools, IBM Haifa Research Laboratory.

[Joh.T.Ales.C.02] Johannes Trost, Alessandra Cavarra, AGEDIS Modeling Language (AML) Tutorial, AGEDIS 2002, Deliverable D9.1.1.