Comando-Geral de Tecnologia Aeroespacial Instituto Tecnológico da Aeronáutica Departamento de Engenharia Eletrônica e Computação CE-230: Qualidade, Confiabilidade e Segurança de Software Professor Dr. Adilson Marques da Cunha. Take Home Take Lab Test Flávio Roberto Ianague Diniz Setembro de 2008
Exercício 1: Warmup 8 RQA_RT e Configuração RTRT 1.1 - Objetivo Realizar o Tutorial do Rational Quality Architect RQA (RRRT Warm-Up 8) e o de configuração do RTRT relatando as principais funcionalidades e publicando nas respectivas homepages e na ferramenta ClearCase do LAB TEC da FCMF no ITA um relatório comprobatório sobre a realização das atividades. 1.2 -RQA-RT O exercício trata da criação da instrumentação de teste usando o RQA-RT para um sistema de exemplo cliente-servidor. A partir da criação de um Diagrama de Colaboração (SingleClient) criado para as cápsulas Client e Server geramos automaticamente um Diagrama de Seqüência (HappyPath). O Digrama de Seqüência é usado então para gerar um especificação de teste do sistema. A partir daí utiliza-se o RQA-RT para criar toda a instrumentação necessária para a execução do teste das cápsulas. Podemos citar como principais funcionalidades do RQA-RT: Gera toda instrumentação e stubs Possibilita o design desde o início do ciclo de desenvolvimento Elimina a necessidade de se codificar manualmente a instrumentação de teste Aumenta significativamente a qualidade do produto de software Foi especialmente interessante aprender conceitos como organização do sistema em: Visão de Caso de Uso Visão Lógica Visão de Componente Visão de Implantação Outros conceitos muito valiosos apreendidos foram os de: Cápsula, Protocolo, Portas, Diagrama de Estados, Diagrama de Estrutura, Desenvolvimento Baseado em Modelos, Testes Contínuos de Regressão, dentre outros. A seguir são mostrados os diagramas de seqüência e de colaboração criados para o exemplo bem como aquele gerado automaticamente pelo RQA-RT de verificação.
Diagrama de Sequência
Diagrama de Colaboração Diagrama de Sequência Gerado Automaticamente pelo RQA-RT
1.2 -RTRT O RTRT foi configurado conforme o tutorial fornecido. Após isto foi feita exploração nas capacidades da ferramenta. Pode-se perceber que é uma ferramenta bastante poderosa para análise de métricas de software tanto estáticas quanto dinâmicas (Runtime). A seguir é mostrada uma das telas do RTRT para um dos projetos de exemplos que acopanha a aplicação. As principais funcionalidades a serem desatacas do RTRT são: Teste de Componentes Revisão de Código Análise de Consumo de Memória Análise de Desempenho Análise de Cobertura de Código Rastreamente em Tempo de Execução do Código
Exercício 2: Visão das Ferramentas na Aplicação ao Projeto 2.1 - Objetivo Sintetizar a sua visão sobre a aplicação desses Tutoriais no contexto da sua Unidade de Software de Computador USC, inserida no seu Componente de Software de Computador CSC e suas perspectivas para implementação no seu Item de Configuração de Software de Computador ICSC 2.2 - Resolução O uso do RQA-RT para os testes das USC's e CSC está sendo bastante produtivo e além de ajudar a esclarecer as interações das unidades de software ajuda a vislumbrar desde muito cedo no projeto o sistema de modo operacional. Além disso, erros de lógica estão sendo detectados e corrigidos continuamente devido a característica de testar continuamente o sistema. O RTRT por outro lado ainda não pode ser plenamente utilizado pois a maioria das USC's não possuem código. Contudo, ainda assim é possível fazer a análise preliminar do código gerado pelo RQA-RT para as USC's do projeto. Espera-se que com a implementação do Item de Configuração de Software de Computador ICSC - haja mais massa crítica de trabalho e portanto os benefícios oferecidos por estas duas ferramentas fique mais evidente.