40
Aula 06 Instalação e Uso do Arcabouço Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2017

Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Aula 06Instalação e Uso do Arcabouço

Alessandro Garcia

Alexander Chávez

LES/DI/PUC-Rio

Março 2017

Page 2: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 3: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 4: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 5: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Março 2017 5 / 40Alexander Chávez López - LES/DI/PUC-Rio

Recapitulando...

• Por que módulos podem conter defeitos?

Page 6: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 7: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Março 2017 7 / 40Alexander Chávez López - LES/DI/PUC-Rio

Recapitulando...

• O que é testar um módulo?

Page 8: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 9: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Março 2017 9 / 40Alexander Chávez López - LES/DI/PUC-Rio

Recapitulando...

• Como testar um módulo?

Page 10: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 11: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 12: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 13: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Março 2017 13 / 40Alexander Chávez López - LES/DI/PUC-Rio

Recapitulando...

• Porque testar?

Page 14: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 15: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 16: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 17: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 18: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 19: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 20: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 20 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 21: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 21 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 22: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 22 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 23: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 23 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 24: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 24 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 25: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 25 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 26: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 26 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 27: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 27 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 28: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 28 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 29: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Estrutura de diretórios do arcabouço

Março 2017 29 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 30: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 31: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 32: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 33: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 34: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 35: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 36: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 37: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 38: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 39: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

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

Page 40: Aula 06 Instalação e Uso do Arcabouçoinf1628/docs/2017_1/INF1301_Aula06... · 2017. 3. 28. · Março 2017 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação •

Aula 06Instalação e Uso do Arcabouço

Alessandro Garcia

Alexander Chávez

LES/DI/PUC-Rio

Março 2017