aula 06 instalação e uso do arcabouço de testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. ·...

40
Aula 06 Instalação e Uso do Arcabouço de Testes Alessandro Garcia LES/DI/PUC-Rio Abril 2019

Upload: others

Post on 16-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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

Alessandro Garcia

LES/DI/PUC-Rio

Abril 2019

Page 2: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 2 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 3: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 3 / 40Eduardo Fernandes - 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 de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 4 / 40Eduardo Fernandes - 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 de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 5 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Recapitulando...

• Por que módulos podem conter defeitos?

Page 6: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 6 / 40Eduardo Fernandes - 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 de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 7 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Recapitulando...

• O que é testar um módulo?

Page 8: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 8 / 40Eduardo Fernandes - 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 de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 9 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Recapitulando...

• Como testar um módulo?

Page 10: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 10 / 40Eduardo Fernandes - 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 de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Recapitulando...

• Vantagens

Setembro 2017 11 / 40Eduardo Fernandes - 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ço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Recapitulando...

• Desvantagens

Setembro 2017 12 / 40Eduardo Fernandes - 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ço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 13 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Recapitulando...

• Porque testar?

Page 14: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Setembro 2017 14 / 40Eduardo Fernandes - 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 de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 15 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 16: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Instalando o arcabouço

• 1º PASSO: Instalar o Visual Studio (versão 2008 ou 2010)

Setembro 2017 16 / 30Eduardo Fernandes - LES/DI/PUC-Rio

Page 17: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 17 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 18: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 18 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 19: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 19 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 20: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 20 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 21: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 21 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 22: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 22 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 23: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 23 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 24: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 24 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 25: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 25 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 26: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 26 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 27: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 27 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 28: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 28 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 29: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Estrutura de diretórios do arcabouço

Setembro 2017 29 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 30: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 30 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 31: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 31 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 32: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 32 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 33: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 batch file Tudo.bat.

• Caso nenhuma mensagem de erro seja exibida, o arcabouço

foi corretamente instalado.

Setembro 2017 33 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 34: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

Novo projeto

• Para utilizar o arcabouço em projetos novos, copie do

diretório do arcabouço para o diretório do projeto:

–O subdiretório .\Fontes contém os módulos de definição

• CESPDIN.H

• CONTA.H

• GENERICO.H

• LERPARM.H

• TST_ESPC.H

Setembro 2017 34 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 35: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 35 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 36: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 36 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 37: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 37 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 38: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 38 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 39: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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 2017 39 / 40Eduardo Fernandes - LES/DI/PUC-Rio

Page 40: Aula 06 Instalação e Uso do Arcabouço de Testesinf1628/docs/2019_1/aula_6.pdf · 2019. 4. 1. · próximos slides) Versão 2008 ou 2010: O arcabouço não tem apresentado problemas

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

Alessandro Garcia

LES/DI/PUC-Rio

Abril 2019