Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 ›...

41
Aula 06 Instalação e Uso do Arcabouço Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Setembro 2016

Transcript of Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 ›...

Page 1: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016

Page 2: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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).

Setembro 2016 2 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 3: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Recapitulando...

• Desvantagens

Setembro 2016 11 / 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 12: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Recapitulando...

• Vantagens

Setembro 2016 12 / 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 13: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 13 / 40Alexander Chávez López - LES/DI/PUC-Rio

Recapitulando...

• Porque testar?

Page 14: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Setembro 2016 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ço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 15 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 16: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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)

Setembro 2016 16 / 30Alexander Chávez López - LES/DI/PUC-Rio

Page 17: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 17 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 18: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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”.

Setembro 2016 18 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 19: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016 19 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 20: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 20 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 21: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 21 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 22: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 22 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 23: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 23 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 24: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 24 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 25: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 25 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 26: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 26 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 27: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 27 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 28: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 28 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 29: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Estrutura de diretórios do arcabouço

Setembro 2016 29 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 30: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 30 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 31: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 31 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 32: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 32 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 33: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 33 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 34: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016 34 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 35: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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)

Setembro 2016 35 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 36: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016 36 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 37: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016 37 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 38: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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.

Setembro 2016 38 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 39: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016 39 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 40: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 Alexander Chávez López - LES/DI/PUC-Rio 3 / 40 Especificação

Avisos

A monitoria serão nos seguintes horários:

– 4ª. Feira, 17:00 – 19:00

– 6ª. Feira, 12:00 – 14:00

Setembro 2016 40 / 40Alexander Chávez López - LES/DI/PUC-Rio

Page 41: Aula 06 Instalação e Uso do Arcabouço - PUC-Rio › ~inf1301 › docs › 2016_2 › INF1301_Aula06...Setembro 2016 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

Setembro 2016