Aula 06Instalação e Uso do Arcabouço
Alessandro Garcia
Alexander Chávez
LES/DI/PUC-Rio
Março 2017
Sumário
Teste automatizado
• Instalação do arcabouço.
• Estrutura de diretórios do arcabouço.
• Como utilizar o arcabouço (Módulos existentes).
• Como utilizar o arcabouço (Módulos novos).
Março 2017 2 / 40Alexander Chávez López - LES/DI/PUC-Rio
Março 2017 3 / 40Alexander Chávez López - LES/DI/PUC-Rio
Especificação
• Objetivo dessa aula
– Mostrar os procedimentos necessários para instalação do
arcabouço, bem como sua estrutura interna e forma de uso.
• Referência básica:
– Monografia: Arcabouço para a Automação de Testes de
Programas Redigidos em C; contido no arquivo
TesteAutomatizado.zip acessível para download através do site
da disciplina, aba: Software
Março 2017 4 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Programas podem conter defeitos (ou faltas) que, quando
exercitados, provocam erros de funcionamento. Quando
observados estes erros passam a ser falhas.
– defeito: código errado (falta: a mesma coisa que defeito)
– erro: estado diferente do esperado ou desejado, ainda não
observado
– falha: estado diferente do esperado ou desejado, observado
• Módulos são as “peças” que constituem um programa
– se um módulo contém defeitos, o programa também conterá,
independentemente de quão bons forem os outros módulos
Março 2017 5 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Por que módulos podem conter defeitos?
Março 2017 6 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Por que módulos podem conter defeitos?
Humanos são falíveis (ferramentas também ), logo:– já diziam os romanos há mais de 2000 anos: errare humanum est
– podem se enganar ao redigir o código e inserir defeitos
– podem se enganar ao especificar o que se deseja que o módulo
faça
• a implementação correta passa a ser uma solução correta do
problema errado, ou seja a solução estará incorreta
– podem se enganar ao especificar os requisitos de qualidade da
solução
• a implementação correta cria problemas para o usuário, ou seja a
solução estará incorreta, exemplos
– difícil de utilizar
– tempo de resposta excessivamente demorado
– não atende à demanda de serviço
Março 2017 7 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• O que é testar um módulo?
Março 2017 8 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• O que é testar um módulo?
Um teste é um experimento controlado em que se confronta
o comportamento observado com o comportamento esperado
Março 2017 9 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Como testar um módulo?
Março 2017 10 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Como testar um módulo?
Para testar um módulo tornam-se necessários
– um módulo controlador do teste desenvolvido para testar o
módulo sob teste
• o módulo controlador exercita o módulo sob teste através de sua
interface
– uma massa de teste, isto é um conjunto de casos de teste
Recapitulando...
• Vantagens
Março 2017 11 / 40Alexander Chávez López - LES/DI/PUC-Rio
Teste Manual Teste automatizado
Facilidade de Aprendizado Facilita o reteste
Facilidade de Construção Facilita a gerência do teste
Menor esforço inicial Menor esforço final
Recapitulando...
• Desvantagens
Março 2017 12 / 40Alexander Chávez López - LES/DI/PUC-Rio
Teste Manual Teste automatizado
Problema da cobertura Maior custo de aprendizado
Dificuldade de gerenciar Maior custo de construção
Não facilita o reteste Diferentes ferramentas
Março 2017 13 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Porque testar?
Março 2017 14 / 40Alexander Chávez López - LES/DI/PUC-Rio
Recapitulando...
• Porque testar?
– um programa ou módulos com elevada probabilidade de estar
correto.
– estatística: mais de 50% dos programas postos em uso contém defeitos não
triviais.
Defeito não trivial:
– provoca dano elevado
– e/ou custa muito para ser diagnosticado e eliminado
Arcabouço de teste
• Independente da linguagem de programação adotada,
todo programa ou partes dele (módulos e/ou funções),
precisam ser testadas para garantir que a implementação
está de acordo com o esperado.
• Neste contexto, o arcabouço tem o propósito de
automatizar os testes dos módulos redigidos em
linguagem C.
Março 2017 15 / 40Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• 1º PASSO: Instalar o Visual Studio (versão 2008 ou 2010)
Março 2017 16 / 30Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• 1º PASSO: Instalar o Visual Studio (versão 2008 ou 2010)
Visual Studio: IDE para auxiliar o desenvolvimento. Contém o
arquivo vsvar32.bat (Sua importância é explicada nos
próximos slides)
Versão 2008 ou 2010: O arcabouço não tem apresentado
problemas com Visual Studio 2008 e 2010. No entanto, não
recomenda-se a instalação mínima do Visual Studio, uma vez
que nem todas as bibliotecas requeridas pelo arcabouço
acompanham a instalação mínima.
Março 2017 17 / 40Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• 1º PASSO: Instalar o Visual Studio (versão 2008 ou 2010)
• 2º PASSO: Fazer o download do Arcabouço de Teste
(arquivo arcaboucoteste_2_02.zip) no website da disciplina,
na aba “Software”.
Março 2017 18 / 40Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• 1º PASSO: Instalar o Visual Studio (versão 2008 ou 2010)
• 2º PASSO: Fazer o download do Arcabouço de Teste
(arquivo arcaboucoteste_2_02.zip) no website da disciplina,
na aba “Software”.
• 3º PASSO: Descomprimir o arquivo
arcaboucoteste_2_02.zip em seu computador
Março 2017 19 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 20 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 21 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 22 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 23 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 24 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 25 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 26 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 27 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 28 / 40Alexander Chávez López - LES/DI/PUC-Rio
Estrutura de diretórios do arcabouço
Março 2017 29 / 40Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• Copiar o batch vsvar32.bat do Visual Studio (pasta
common\tools) para o diretório raiz do projeto ou do
arcabouço e execute tal arquivo via linha de comando
Necessário para que o contexto (environment) esteja
corretamente inicializado para a plataforma em uso.
Março 2017 30 / 40Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• Copiar o batch vsvar32.bat do Visual Studio (pasta
common\tools) para o diretório raiz do projeto ou do
arcabouço e execute tal arquivo via linha de comando.
• No diretório batches execute compilatudo.bat, isto recompila
todos os construtos de teste do arcabouço inclusive a
biblioteca.
Este passo somente é necessário se forem testados os
construtos de desenvolvimento do arcabouço.
Março 2017 31 / 40Alexander Chávez López - LES/DI/PUC-Rio
Instalando o arcabouço
• Copiar o batch vsvar32.bat do Visual Studio (pasta
common\tools) para o diretório raiz do projeto ou do
arcabouço e execute tal arquivo via linha de comando.
• No diretório batches execute compilatudo.bat, isto recompila
todos os construtos de teste do arcabouço inclusive a
biblioteca.
• Na pasta do projeto alvo executar o batch CriaLib.bat
– Referente à criação do arquivo ArcaboucoTeste.lib
– Todos os constructos do projeto serão compilados usando
a nova biblioteca
ArcaboucoTeste.lib: Biblioteca estática necessária para uso do
arcabouço.
Março 2017 32 / 40Alexander Chávez López - LES/DI/PUC-Rio
Verificando a Instalação
• Para verificar se a instalação está completa e correta, torne
o diretório .\Tabela o diretório corrente e ative, via janela
de comando do Windows (CMD), o batchfile Tudo.bat.
• Caso nenhuma mensagem de erro seja exibida, o arcabouço
foi corretamente instalado.
Março 2017 33 / 40Alexander Chávez López - LES/DI/PUC-Rio
Novo projeto
• Para utilizar o arcabouço em projetos novos, copie do
diretório do arcabouço para o diretório do projeto:
– .\fontes os módulos de definição
• CESPDIN.H
• CONTA.H
• GENERICO.H
• LERPARM.H
• TST_ESPC.H
Março 2017 34 / 40Alexander Chávez López - LES/DI/PUC-Rio
Compilação via arcabouço
• 1º PASSO: Certificar de que (1) as variáveis de ambientes
foram configuradas (vsvar32.bat) e de que (2) a biblioteca
estática esteja no diretório do projeto (ArcaboucoTeste.lib)
Março 2017 35 / 40Alexander Chávez López - LES/DI/PUC-Rio
Compilação via arcabouço
• 1º PASSO: Certificar de que (1) as variáveis de ambientes
foram configuradas (vsvar32.bat) e de que (2) a biblioteca
estática esteja no diretório do projeto (ArcaboucoTeste.lib)
• 2º PASSO: Gerar o arquivo make do sistema (GeraMake.bat)
por meio do arquivo COMP
make: Arquivo de diretivas utilizado para compilar a versão de
produção do exemplo
Março 2017 36 / 40Alexander Chávez López - LES/DI/PUC-Rio
Compilação via arcabouço
• 1º PASSO: Certificar de que (1) as variáveis de ambientes
foram configuradas (vsvar32.bat) e de que (2) a biblioteca
estática esteja no diretório do projeto (ArcaboucoTeste.lib)
• 2º PASSO: Gerar o arquivo make do sistema (GeraMake.bat)
por meio do arquivo COMP
• 3º PASSO: Compilar o arquivo make (Compila.bat) para a
geração do .exe
Março 2017 37 / 40Alexander Chávez López - LES/DI/PUC-Rio
Compilação via arcabouço
• 1º PASSO: Certificar de que (1) as variáveis de ambientes
foram configuradas (vsvar32.bat) e de que (2) a biblioteca
estática esteja no diretório do projeto (ArcaboucoTeste.lib)
• 2º PASSO: Gerar o arquivo make do sistema (GeraMake.bat)
por meio do arquivo COMP
• 3º PASSO: Compilar o arquivo make (Compila.bat) para a
geração do .exe
• 4º PASSO: Executar o .exe gerado juntamente com o script
de teste.
Março 2017 38 / 40Alexander Chávez López - LES/DI/PUC-Rio
Mais informações...
• ArcaboucoTeste-2-00-LeiaMe.pdf
• ArcaboucoTeste-2-00.pdf
• GMAKE-v6-00.pdf
• Exemplos
• FAQ
• Materiais de aula (Vídeo)
• Monitoria
Março 2017 39 / 40Alexander Chávez López - LES/DI/PUC-Rio
Aula 06Instalação e Uso do Arcabouço
Alessandro Garcia
Alexander Chávez
LES/DI/PUC-Rio
Março 2017
Top Related