Implementação e Testes
Equipe
Allan Diego Silva LimaCleviton Vinícius Fonseca MonteiroFernando Abner Di Cavalcanti GarcezFernando Henrique Calheiros LopesGuilherme Kely de Melo OliveiraHenrique Borges Alencar SiqueiraHenrique Santos FerreiraIgor Roberto Lopes MarquesJobson Ronan Jeronimo da SilvaLeandro Mitsuo FujishimaRenato Viana FerreiraSaulo Andrade Pessoa
Roteiro
• Processo de Desenvolvimento
• Implementação– Tecnologias– Ferramentas– Requisitos Implementados
• Testes– Casos de Teste– Métricas
Processo de Desenvolvimento
• F.A.S.T :: características (1/2)– Design iterativo
incremental• “Se é simples, faça.
Se não é...desenhemos:”
– Testes funcionais• Unitários e Automatizados
– Corretude do código quase sempre garantida
Processo de Desenvolvimento
• F.A.S.T :: características (2/2)– Documentação Técnica
• Escrita após a finalização da iteração• Amplamente favorecida por ferramentas de
engenharia reversa• Objetivo: manutenção do software
– “Programação n-ária”• Individual, em pares, trios, quartetos,
quintetos… “n-etos”
“Mais que ágil, é FAST”
Implementação
• Relembrando o Monitrolling– Visão abstrata
Comunicação
Tecnologias
• Plataforma de desenvolvimento– Java SE
• Tecnologias Auxiliares– SWT (Camada de Apresentação)– Java RMI (Camada de Distribuição)– ActiveMQ – JMS (MOM)– Hibernate (Camada de Dados)– SpringFramework (IOC e AOP)– Jasper (Relatórios)– JFreeChart (Gráficos)– JUnit (Testes)– XML (Meta-Dados)
Ferramentas (1/2)
• Eclipse 3.1 + Plugins– Visual Editor– Spring IDE
• Edição de relatórios– IReport
• Edição de Imagens– PhotoShop CS
Ferramentas (2/2)
• Criação do Help– DreamWeaver MX 2004
• Diagramas UML e Engenharia reversa– MagicDraw 9.5 + Together CE
• Documentação– BeanDoc (Hacked)
Requisitos do Sistema (1/4)
• 100% dos Requisitos Implementados• Suporte a monitoramento de muitos
veiculos• Cadastros (1/2)
– Veículos– Motoristas– Viagens– Multas– Abastecimentos
Requisitos do Sistema (2/4)
• Cadastros (Cont.)• Prestadoras de serviço• Utilização de Serviços• Revisões• Alertas• Alertas disparados• Usuários
Requisitos do Sistema (3/4)
• Gráficos
• Relatórios
Requisitos do Sistema (4/4)
• Requisitos adicionais
– Suporte a comunicaçãovia porta serial e USB
– Gráfico em tempo real– Novos skins para o monitoramento em
tempo real
Testes
Testes
• Tipos de Testes Realizados:– Testes Unitários– Testes de Integração– Testes de Falhas– Testes de Usabilidade
Testes de Carga
• Casos de Testes (1/4)
- Objetivo- Mensurar a quantidade de veículos e GUI’s suportados
- Configuração- Módulos executando em máquinas distintas
- Metodologia- Iniciado com 50 veículos e com incremento de 10- Com um número fixo de veículos iniciar o incremento de
GUI’s- Número inicial de GUI’s 5 e incremento de 1
Testes de Carga
• Casos de Testes (2/4)
- Objetivo- Mensurar a quantidade de veículos
- Configuração- Módulos executando em uma única máquina
- Metodologia- Iniciado com 10 veículos e com incremento de 5- Número fixo de GUI’s simultâneas 1
Testes de Carga
• Casos de Testes (3/4)
- Objetivo- Mensurar a quantidade de veículos suportados
- Configuração- Módulos de Serviço e GDI em uma mesma máquina- GUI’s em máquinas distintas
- Metodologia- Iniciado com 20 veículos e com incremento de 5- Número fixo de GUI’s simultâneas 5
Testes de Carga
• Casos de Testes (4/4)
- Objetivo- Mensurar a quantidade de veículos suportados
- Configuração- Módulos de GDI e GUI em uma mesma máquina- Módulo de Serviço em máquina distinta
- Metodologia- Iniciado com 30 veículos e com incremento de 5- Número fixo de GUI’s simultâneas 1
Testes
• Observações– Remodelagem do Simulador– Número de Instruções por Segundo
Métricas de implementação
Primeira Iteração Segunda Iteração
Pacotes 44 56
Linhas de código 7481 25977
Classes 79 274
Métodos 502 1816
Variáveis de classe 277 1192
Métricas de Testes Unitários
Primeira Iteração Segunda Iteração
Pacotes 5 16
Linhas de código 1457 3088
Classes 22 64
Sugestões? Duvidas?
Top Related