Conceitos básicos de programação

Tamanho: px
Começar a partir da página:

Download "Conceitos básicos de programação"

Transcrição

1 Especificação de comandos Objectivo: O objectivo da especificação formal de comandos é a necessidade de assegurar a correcção dos comandos a desenvolver. Torna-se necessário desenvolver uma metodologia formal para a especificação. Comentário introdutório: A especificação de comandos utiliza uma notação em que os requisitos relativos aos comandos em questão se expressam formal e rigorosamente.

2 Especificação de comandos Definição: A especificação de um comando é uma asserção da forma: {CD} c {CO}, em que {CD} é a condição dada (ou pré-condição) e {CO} denota a condição objectivo (ou pós-condição).

3 Correcção parcial Definição: Se a execução de um comando c se iniciar num estado da máquina E 0, em que se verifica {CD} e se a sua execução terminar, atingir-se-á um estado E f, em que se verifica {CO} Comentário: A correcção assim definida é dita parcial, pois não é fornecida garantia de terminação.

4 Correcção total Definição: Correcção total = correcção parcial + garantia de terminação Garantia de terminação Definição: A garantia de terminação impõe que a execução do comando em causa deve terminar sempre que em E 0 se verifique {CD}

5 Especificação de comandos Exemplos de comandos a especificar Exemplo 1: Soma dos naturais de 0 a 100: U c 100 s = i=0 ou i { U} c s = i, i [ 0,100]

6 Especificação de comandos Exemplo 2: Factorial de um natural entre 100 e 200: { n 100, 200 } c { f = n!}

7 Prova de Correcção X Teste de Programas Dada a especificação de um comando c como os dos exemplos anteriores, provar a sua correcção é uma tarefa difícil e por isso, na prática, não se faz prova formal de correcção mas sim testes aos programas. Testar um programa corresponde a executá-lo com determinadas condições de entrada e analisar os resultados obtidos para verificar se estão correctos.

8 Teste de Programas Por mais cuidadoso que seja o processo de construção de programas é sempre possível que estes contenham falhas. Falhas são os defeitos ou incorrecções latentes nos programas Acidentes são situações que impedem o correcto funcionamento dos programas. Ex: falta de energia. Erros são consequência da existência de falhas ou acidentes Danos são os prejuízos provocados pelos erros

9 Teste de Programas É evidente que o controlo de falhas ou acidentes é tão mais importante quanto maiores forem os danos que podem ser causados. Assim devemos considerar uma postura defensiva ao programar procurando entre outras coisas: -prevenir os acidentes -simplificar o uso dos programas -reduzir o tempo de execução de operações críticas

10 Teste de Programas Testar um programa é uma das formas que devemos utilizar para verificar a sua qualidade. Mas esta depende também de outras características como a legibilidade do código, a existência de especificações adequadas, a eficiência dos algoritmos utilizados, etc... Realizando testes podemos mostrar a presença de erros mas não a sua ausência, por isso, caso não seja encontrado um erro quando realizamos um teste, isso não pode ser entendido como a não existência de falhas.

11 Teste de Programas Os testes devem ser projectados de forma a que tenhamos exercitado todo o código do nosso programa sem perder tempo com testes redundantes. Realizar testes é caro e demorado pelo que precisamos estabelecer um compromisso entre o custo de realizar os testes e o nível de qualidade que será necessário garantir. Necessitamos portanto de conhecer formas de projectar casos teste que nos assegurem a detecção do maior número de falhas -> Teste Sistemático

12 Teste de Programas Para descobrir as falhas de um programa é necessário realizar testes de forma sistemática e para isso devemos: 1- Criar instrumentação de teste 2- Projectar os casos teste utilizando um critério de selecção eficaz 3- Analisar rigorosamente os resultados obtidos 4- Identificar e eliminar cuidadosamente as falhas encontradas

13 Teste de Programas 1- Criar instrumentação de teste Os programas devem conter instruções especificas para auxiliar a fase de teste e depuração. Por exemplo, se quisermos testar uma função podemos criar um programa que invoque essa função com determinados valores dos seus parâmetros e, nele, incluir também instruções para imprimir, não só os valores obtidos, mas eventualmente valores intermédios que permitam avaliar o correcto funcionamento dessa função. Este código adicional é designado por instrumentação de teste

14 Teste de Programas 2- Projectar os casos teste utilizando um critério de selecção eficaz. Um conjunto de casos teste T diz-se completo relativamente a um determinado critério de selecção C e um dado programa P se T foi seleccionado segundo C e o conjunto exercita integralmente o programa P. Um teste bem sucedido é aquele que permite evidenciar a existência de falhas.

15 Teste de Programas Critério de selecção é o método utilizado para seleccionar um conjunto de casos teste. Deve ser válido e confiável. Válido: Um critério C é válido desde que, existindo alguma falha num programa P, exista pelo menos um caso teste t, em algum conjunto completo de casos teste T, seleccionado segundo C e P capaz de evidenciar o erro decorrente. Confiável: Um critério de selecção C é confiável se particionar os dados de entrada do programa P de modo que, se t pertence a uma determinada partição, qualquer caso teste t, pertencente a essa partição e seleccionado segundo C, acusará a ocorrência dos mesmos erros que o caso teste t.

16 Teste de Programas Teorema demonstrado por Goodenough em 77: Um conjunto completo de casos teste T, projectado para o programa P e obtido segundo um critério de selecção válido e confiável C, demonstra a correcção de P desde que T tenha fracassado. Infelizmente é muito difícil demonstrar que o critério de selecção é válido e confiável e que o conjunto de casos teste é completo.

17 Teste de Programas 3- Analisar rigorosamente os resultados obtidos A cada execução do programa com um dado teste t devemos examinar os resultados obtidos e verificar se eles correspondem ao esperado. Caso isso não aconteça então o caso teste teve sucesso e teremos de encontrar a falha existente.

18 Teste de Programas 4- Identificar e eliminar cuidadosamente as falhas encontradas Uma vez evidenciada a existência da falha é necessário olhar o código do programa e procurar perceber onde está a falha que levou ao erro. Nesta fase é muitas vezes necessário usar a instrumentação para conseguir acompanhar a execução do programa e assim identificar a origem do problema. É importante lembrar que por vezes existem várias falhas que concorrem para o erro.

19 Projecto de Casos Teste Os casos teste podem ser criados tendo por base o código do programa (caixa aberta) ou considerando as relações de entrada e saída (caixa preta). Nos casos teste caixa aberta procuramos assegurar que todo o código do programa seja executado no conjunto dos testes seleccionados. Os casos teste caixa preta são projectados considerando as condições de entrada e saída do programa ou módulo a testar e sem levar em conta a maneira como foi implementado.

20 Projecto de Casos Teste Nos casos teste caixa aberta existem várias estratégias: cobertura de instruções - todas as instruções devem ser executadas pelo menos uma vez. cobertura de arestas: neste caso, pelo menos uma vez, devem ser executadas todas as arestas de transferência de controle cobertura de decisões: neste caso, pelo menos uma vez, devem ser geradas todas as condições elementares e as suas combinações quando contidas em expressões lógicas complexas.

21 Projecto de Casos Teste Nos casos teste caixa aberta existem várias estratégias: cobertura de decisões em cascata: neste caso, não só temos de cobrir todas as decisões elementares e as suas combinações como todas as combinações possíveis entre expressões lógicas de todas as instruções do programa. Se existirem ciclos dentro do programa na cobertura de decisões temos também que testar cada ciclo de forma a que ele execute: 0 vezes; 1 vez; n>1 vezes e ainda todas as possíveis formas de saída do ciclo

22 Projecto de Casos Teste Nos casos teste caixa preta existem também várias estratégias como por exemplo: condições de contorno - procura um mínimo de casos teste tal que situações limite ou pouco frequentes sejam exercitadas (este critério é pouco sistemático pelo que deve ser usado como complemento de outros critérios) gráficos de causa efeito - neste caso é criado um gráfico onde todas as causas (dados ou condições de entrada) e efeitos (resultados produzidos) do programa aparecem representados e quais as suas relações. Depois cria-se uma tabela de decisão e sobre ela determinam-se os casos teste

23 Projecto de Casos Teste Caso seja necessário um elevado grau de qualidade para um programa, devemos testá-lo utilizando diversas estratégias por exemplo: 1- examinar cuidadosamente o código e argumentar sobre a sua correcção 2- aplicar testes segundo o critério de cobertura de decisões 3- acrescentar testes de condições de contorno

24 Conceitos a saber: Especificação de comandos Prova de correcção Teste sistemático Instrumentação de programas Projectar casos teste por cobertura de decisões e condições de contorno Depuração de programas

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Testes de software - Teste funcional

Testes de software - Teste funcional Testes de software - Teste funcional Vitor Alcântara de Almeida Universidade Federal do Rio Grande do Norte Natal, Brasil 30 de outubro de 2014 Alcântara (UFRN) Testes de software - Testes funcionais 30

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Verificação e Validação (V&V) S.L.Pfleeger (Cap.8 & 9) R.Pressman (Cap.13 & 14) I.Sommerville (Cap.22 & 23) Introdução Verificação

Leia mais

4 Uma Linguagem Baseada em Máquinas de Estado 4.1. A Linguagem

4 Uma Linguagem Baseada em Máquinas de Estado 4.1. A Linguagem 4 Uma Linguagem Baseada em Máquinas de Estado 4.1. A Linguagem Acredita-se nesse trabalho que características reativas e fortemente baseadas em modelos tornam necessária a criação de uma linguagem específica

Leia mais

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016

Aula 20 Testes 3. Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Aula 20 Testes 3 Alessandro Garcia Leonardo da Silva Sousa OPUS Group/LES/DI/PUC-Rio Dezembro 2016 Slides adaptados de: Staa, A.v. Notas de Aula em Programacao Modular; 2008. Teste de Caixa Branca O que

Leia mais

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software Engenharia de Software Aula 17 Desenvolvimento de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 7 Maio 2012 1. Especificação de requisitos 2. Projeto

Leia mais

Programação I Apresentação

Programação I Apresentação Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação

Leia mais

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

Leia mais

Engenharia de Software

Engenharia de Software Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação

Leia mais

Teste de Software. Karen Frigo Busolin Novembro / 2010

Teste de Software. Karen Frigo Busolin Novembro / 2010 Teste de Software Karen Frigo Busolin Novembro / 2010 Processo de Testes de Software Possibilitar aos profissionais maior visibilidade e organização dos trabalhos. Representa uma estruturação de etapas,

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVO Compreender uma série de técnicas de testes, que são utilizadas para descobrir defeitos em programas Conhecer as diretrizes que

Leia mais

Informática para Ciências e Engenharias-B 2018/19

Informática para Ciências e Engenharias-B 2018/19 Informática para Ciências e Engenharias-B 2018/19 Trabalho Prático N o 2 2018/19 1 Objectivo do Trabalho Um grupo de historiadores está a estudar uma série de experiências antigas de química e precisa

Leia mais

Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana

Estágio II. Aula 02 Conceitos de Teste de Software. Prof. MSc. Fred Viana Estágio II Aula 02 Conceitos de Teste de Software Prof. MSc. Fred Viana Agenda Teste de Software Defeito, Erro ou Falha? Dimensões do Teste Níveis de Teste Tipos de Teste Técnicas de Teste Teste de Software

Leia mais

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh Sistemas Digitais Minimização de Funções: Mapas de Karnaugh João Paulo Baptista de Carvalho (Prof. Auxiliar do IST) joao.carvalho@inesc-id.pt Minimização de uma Função Trata-se de obter a expressão mínima

Leia mais

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end. SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão

Leia mais

VERIFICAÇÃO & VALIDAÇÃO

VERIFICAÇÃO & VALIDAÇÃO VERIFICAÇÃO & VALIDAÇÃO Validação: Estamos construindo o produto certo? Verificação envolve checar se o software cumpre com suas especificações. Verificação: Estamos construindo certo o produto? Validação

Leia mais

Melhor caminho entre duas estações de metro

Melhor caminho entre duas estações de metro Melhor caminho entre duas estações de metro Concepção e Análise de Algoritmos Turma Nuno Machado Matos Tiago Daniel Sá Cunha Data: 11 de Junho de 2010 Introdução No âmbito da realização do projecto da

Leia mais

Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de

Leia mais

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Exercício 01 Qual é a importância dos testes de software? Exercício 01 Resposta Qual é a importância dos testes de software? Descobrir o maior número

Leia mais

Metodologia Simplified. António Rocha

Metodologia Simplified. António Rocha Metodologia Simplified António Rocha - 2003 Metodologias As empresas precisam de uma metodologia simples e eficaz para realizarem o seu primeiro projecto OO Uma metodologia tem mais probabilidades de ser

Leia mais

TECNOLOGIAS DE CONSTRUÇÃO

TECNOLOGIAS DE CONSTRUÇÃO TECNOLOGIAS DE CONSTRUÇÃO DE SOFTWARE CMP 1069 Prof. Me. Fábio Assunção Parte 2 PONTO DE VISTA DO USUÁRIO? Resume ao o que o software faz, não como. Um olhar para o o que. Lembrar-se dos testes caixa-preta,

Leia mais

Tarefa Orientada 7 Consultas de selecção

Tarefa Orientada 7 Consultas de selecção Tarefa Orientada 7 Consultas de selecção Objectivos: Consultas de selecção O Sistema de Gestão de Bases de Dados MS Access Consultas As consultas (queries) permitem interrogar a base de dados, de acordo

Leia mais

Informática para Ciências e Engenharias-B 2017/18

Informática para Ciências e Engenharias-B 2017/18 Informática para Ciências e Engenharias-B 2017/18 Trabalho Prático N o 2 2017/18 1 Objectivo do Trabalho Até 1982, a insulina disponível para tratamento de diabetes era obtida por purificação de tecidos

Leia mais

Verificação e Validação (V & V)

Verificação e Validação (V & V) Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo

Leia mais

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40 Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos

Leia mais

Semântica Operacional

Semântica Operacional Semântica Conceitos Semântica é o estudo do significado. Incide sobre a relação entre significantes, tais como palavras, frases, sinais e símbolos, e o que eles representam, a sua denotação. Semântica

Leia mais

Organização para Realização de Teste de Software

Organização para Realização de Teste de Software Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:

Leia mais

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de

Leia mais

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa

Leia mais

Apêndice 1. Recomendações para testes de módulos

Apêndice 1. Recomendações para testes de módulos Recomendações para testes de módulos - 1 Apêndice 1. Recomendações para testes de módulos O presente conjunto de recomendações tem por objetivo definir um conjunto mínimo de critérios de seleção de casos

Leia mais

Programação 2017/2018 2º Semestre

Programação 2017/2018 2º Semestre Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 2º Semestre Aula de Problemas 1 Os alunos deverão executar os passos aqui descritos no seu computador pessoal ou no laboratório.

Leia mais

AULA TEÓRICA 1 Tema 6. Algoritmos e Fluxogramas

AULA TEÓRICA 1 Tema 6. Algoritmos e Fluxogramas AULA TEÓRICA 1 Tema 6. Algoritmos e Fluxogramas Ø Resolução de problemas. Ø Algoritmo. Ø Pseudo-código. Ø Fluxograma. Ø Tipos de fluxogramas. Fluxograma sequencial. Ø Fluxograma com ramificação. Selecção

Leia mais

Semântica Axiomática

Semântica Axiomática Semântica Axiomática O estilo axiomático presta-se particularmente à prova e raciocínio sobre propriedades dos programas, e à sua verificação, i.e. à prova de correcção dos programas face às suas especificações.

Leia mais

Teste Estrutural ou Caixa Branca

Teste Estrutural ou Caixa Branca Teste de Estrutura de Controle Os testes dos caminhos básicos (todos os nós) e caminhos independentes (todas as arestas) são simples e eficaz, mas nem sempre são suficientes Outras variações: Teste de

Leia mais

Lógica Proposicional

Lógica Proposicional Lógica Proposicional Lógica Computacional Carlos Bacelar Almeida Departmento de Informática Universidade do Minho 2007/2008 Carlos Bacelar Almeida, DIUM LÓGICA PROPOSICIONAL- LÓGICA COMPUTACIONAL 1/28

Leia mais

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica

SEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO DOCENTE: ROGÉRIO VARGAS DISCENTE: MARIANNA NOVAES Semântica SEMÂNTICA Semântica é a área

Leia mais

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio

USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS. Bruno Maffeo Departamento de Informática PUC-Rio USANDO UM MÉTODO INDUTIVO PARA RESOLVER PROBLEMAS Bruno Maffeo Departamento de Informática PUC-Rio MÉTODO INDUTIVO O método indutivo para resolver problemas aqui empregado inspira-se na formulação mais

Leia mais

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de: a) Um erro b)

Leia mais

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh

Sistemas Digitais Minimização de Funções: Mapas de Karnaugh Sistemas Digitais Minimização de Funções: Mapas de Karnaugh João Paulo Baptista de Carvalho joao.carvalho@inesc-id.pt Minimização de uma Função Trata-se de obter a expressão mínima de uma função A representação

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 3 Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia Civil Linguagens de Programação Uma linguagem

Leia mais

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Teste de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Tópicos da Aula Ø Teste de Software Ø Terminologia e Conceitos Básicos Ø Técnicas e Critérios de Teste Ø Técnicas

Leia mais

1 Introdução à Programação O que é? Para que serve?... 1

1 Introdução à Programação O que é? Para que serve?... 1 Nesta aula... Conteúdo 1 Introdução à Programação 1 1.1 O que é?................................. 1 1.2 Para que serve?............................. 1 2 Linguagens de programação 2 2.1 Programação estruturada........................

Leia mais

Manual de instruções Desbloqueio de actuador e de fuga em emergência AZ/AZM 415-B Sobre este documento. Conteúdo

Manual de instruções Desbloqueio de actuador e de fuga em emergência AZ/AZM 415-B Sobre este documento. Conteúdo Desbloqueio de actuador e de fuga em emergência AZ/AZM 41-B30 1. Sobre este documento Manual de instruções............páginas 1 a 6 Tradução do manual de instruções original 1.1 Função O presente manual

Leia mais

TESTES DE SOFTWARE. Profa. Maria Auxiliadora

TESTES DE SOFTWARE. Profa. Maria Auxiliadora TESTES DE SOFTWARE 1 Teste de software É uma atividade crítica na garantia de qualidade de software; Quatro dimensões: Estado do teste ( o momento ); Técnica do teste ( como vou testar ); Metas do testes

Leia mais

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses:

Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:

Leia mais

1. A principal razão de dividir o processo de teste em tarefas distintas é:

1. A principal razão de dividir o processo de teste em tarefas distintas é: Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. A principal razão de dividir o processo de teste em tarefas distintas é: a) Cada fase do teste tem uma proposta diferente b) É mais fácil para gerência

Leia mais

É neste ponto que entra o conceito de lógica de programação.

É neste ponto que entra o conceito de lógica de programação. AULA 01 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo, em afirmar que ela seja a ciência da verdade.

Leia mais

As opções de menu Análise ABC e Plano Trabalhos saíram do menu Objectos e passaram para o menu Ferramentas.

As opções de menu Análise ABC e Plano Trabalhos saíram do menu Objectos e passaram para o menu Ferramentas. Documento da versão PRODUTO ManWinWin DATA INÍCIO 18-10-2016 VERSÃO 5.4.2.0 DATA FECHO 10-01-2017 Novas Funcionalidades Preferências No separador Parque, as opções referentes ao registo Histórico Utilização

Leia mais

Lógica de Programação

Lógica de Programação Resolução de problemas utilizando computador Módulo II Prof. RANILDO LOPES Computador: ferramenta para processamento automático de dados Processamento de dados: atividade que transforme dados de entrada

Leia mais

INTRODUÇÃO LINGUAGEM C

INTRODUÇÃO LINGUAGEM C INTRODUÇÃO LINGUAGEM C Aula 1 TECNOLOGIA EM JOGOS DIGITAIS LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

Estratégias de Testes Parte I

Estratégias de Testes Parte I Engenharia de Software III 5º. Semestre ADS Capítulo 9 Estratégias de Testes Parte I Profa. Dra. Ana Paula Gonçalves Serra Prof. Ms. Edson Saraiva de Almeida Agenda Exercício Profa. Dra. Ana Paula G. Serra

Leia mais

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO AULA 02 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo em afirmar que ela seja a ciência da verdade.

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

ANO LECTIVO 2008/2009. Planificação Médio Prazo. 8º Ano Área de Projecto. Horário Semanal: 1 Bloco de 90 min

ANO LECTIVO 2008/2009. Planificação Médio Prazo. 8º Ano Área de Projecto. Horário Semanal: 1 Bloco de 90 min DIRECÇÃO REGIONAL DE EDUCAÇÃO DO ALENTEJO CENTRO DA ÁREA EDUCATIVA DO BAIXO ALENTEJO E ALENTEJO LITORAL ESCOLA SECUNDÁRIA DE MANUEL DA FONSECA SANTIAGO DO CACÉM ANO LECTIVO 2008/2009 Planificação Médio

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA

MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA MÓDULO 16 PLANEJAMENTO DE CONSTRUÇÃO, TESTES E DOCUMENTAÇÃO DO SISTEMA Quando falamos para os alunos sobre projeto e desenvolvimento de sistemas de informação eles pensam logo em programar. A programação

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 2ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 2ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 2ª Parte Prof. Sandra Pais Soares Introdução à Lógica de Programação A elaboração de um

Leia mais

Um sistema de difusão de informação a nível da aplicação

Um sistema de difusão de informação a nível da aplicação Um sistema de difusão de informação a nível da aplicação Projecto de Redes de Computadores I - 2008/2009 LEIC IST, Tagus Park 21 de Setembro de 2008 1. Sumário O projecto pretende desenvolver um sistema

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Teste de Software Engenharia de Software 2o. Semestre de 2006 Slide

Leia mais

Manual de Utilizador

Manual de Utilizador Manual de Utilizador Introdução Este manual de utilizador tem por objectivo a introdução ao programa de gestão de um campeonato de voleibol aos seus utilizadores. Para isso, a informação será organizada

Leia mais

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti. Sintaxe e Semântica George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo

Leia mais

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo

Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.

Leia mais

7 Discussão dos Resultados

7 Discussão dos Resultados 7 Discussão dos Resultados Neste trabalho podemos dividir os resultados gerados em três grupos: a ferramenta de testes, a linguagem criada e sua aplicação em um projeto real. Embora sejam bastante diferentes

Leia mais

Introdução a Testes de Software. Ricardo Argenton Ramos

Introdução a Testes de Software. Ricardo Argenton Ramos Introdução a Testes de Software Ricardo Argenton Ramos ricargentonramos@gmail.com Agenda da Aula Introdução sobre Testes; Testes Funcionais de software; Testes Estruturais de Software; Teste de Software

Leia mais

Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos pontos

Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos pontos Exame Nacional do Ensino Secundário Decreto-Lei n.º 74/2004, de 26 de Março Prova Prática de Geometria Descritiva A 10.º e 11.º Anos de Escolaridade Prova 708/1.ª Fase 6 Páginas Duração da Prova: 150 minutos.

Leia mais

DESIGNAÇÃO. Introdução

DESIGNAÇÃO. Introdução DESIGNAÇÃO Introdução Um caso especial do modelo de transportes é aquele em que cada origem tem uma unidade disponível e cada destino necessita também de uma unidade. É o caso de escalar vendedores para

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 5 Modelo da Designação Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo. Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes

Leia mais

Teste de Software: conceitos, técnicas e benefícios

Teste de Software: conceitos, técnicas e benefícios Teste de Software: conceitos, técnicas e benefícios MSc. Alessandro Viola Pizzoleto IFSP - Instituto Federal de São Paulo Piracicaba - SP 30 de março de 2017 1 / 49 Sobre Mim Mestre em Engenharia de Software

Leia mais

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006 Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma

Leia mais

Sincronização Plano de IVA 7.00

Sincronização Plano de IVA 7.00 Sincronização Plano de IVA 7.00 Portugal Versão 1.0 Julho 2008 Índice Índice... 2 Introdução... 3 Motivação... 4 Pré-Requisitos... 4 Instalação... 4 Passos para a actualização... 5 Passo 1... 5 Passo 2...

Leia mais

Projecto e Desenvolvimento de Programas

Projecto e Desenvolvimento de Programas Projecto e Desenvolvimento de Programas Projecto de programas Metodologia de desenvolvimento Construção de algoritmos Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Programa de Computador

Leia mais

Análise de algoritmos

Análise de algoritmos Análise de algoritmos SCE-181 Introdução à Ciência da Computação II Alneu Lopes Thiago A. S. Pardo 1 Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado

Leia mais

Especificação Formal de Software

Especificação Formal de Software Especificação Formal de Software Carlos Figueiredo, Jorge Mack, Luís Magalhães, Vitor Pinto Introdução Nos dias de correm é cada vez maior a dependência dos computadores e seus aplicativos. Torna-se assim

Leia mais

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento Teste de Software 3 Teste de Software Objetivo: Executar software para revelar erros/falhas ainda não descobertos Pode gastar 40% do esforço de desenvolvimento 2 Teste de Software Defeito (fault, defects)

Leia mais

Aula 21 Testes 1. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio

Aula 21 Testes 1. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Aula 21 Testes 1 Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Especificação Objetivo dessa aula Apresentar os conceitos básicos utilizados ao testar módulos Apresentar 3 critérios de seleção de casos

Leia mais

Tema: Brainstormig 1 Helder Melim

Tema: Brainstormig 1 Helder Melim Tema: Brainstormig 1 O que é o Brainstorming Brainstorming é uma boa forma de pensar colaborativamente e encontrar um bom caminho para a resolução dum problema, duma necessidade, para a realização dum

Leia mais

Departamento de Matemática da Universidade de Aveiro Matemática Discreta. A prova consta de 4 questões cada uma cotada com 5 valores.

Departamento de Matemática da Universidade de Aveiro Matemática Discreta. A prova consta de 4 questões cada uma cotada com 5 valores. Departamento de Matemática da Universidade de Aveiro Matemática Discreta Exame Final ( 2 a Chamada: 22/0/2007 Licenciatura em Matemática (8220 Mest. Int. Eng. Computadores e Telemática (8240 Informações

Leia mais

Engenharia de Software. Teste de Software. Introdução. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Engenharia de Software. Teste de Software. Introdução. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Engenharia de Software Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Teste de Software Introdução Estratégias de teste Testes de módulo Testes de integração Teste de aceitação

Leia mais

Teste de Software Orientado a Objeto. Ricardo Argenton Ramos

Teste de Software Orientado a Objeto. Ricardo Argenton Ramos Teste de Software Orientado a Objeto Ricardo Argenton Ramos O que diferencia teste de software OO de testes Convencionais? Técnicas e abordagens são normalmente semelhantes, porém novos desafios são apresentados

Leia mais

Material Didático Unificado.

Material Didático Unificado. Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão da Disciplina Programação de Computadores I CDPCI Programação de Computadores I BCC701 www.decom.ufop.br/bcc701 Material

Leia mais

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão

Leia mais

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão 15/07/2013 Trabalho de LP Prof. Flávio Miguel Varejão OBSERVAÇÃO IMPORTANTE: LEIA ATENTAMENTE TODA A ESPECIFICAÇÃO DO TRABALHO E INSTRUÇÕES DE SUBMISSÃO DE MODO A NÃO COMETER ENGANOS POR DESATENÇÃO E SER

Leia mais

Metodologias de Teste de Software

Metodologias de Teste de Software Metodologias de Teste de Software Fernando Magno Quintão Pereira 10 de Novembro de 2010 A espiral de testes Muitos processos de teste de software seguem a mesma espiral de desenvolvimento que vemos em

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Conceito de Algoritmo Pseudocódigo Tipos de

Leia mais

A representação de sistemas digitais. Circuitos combinatórios. Equações algébricas. Tabelas de verdade. Organização: Formas básicas de representação:

A representação de sistemas digitais. Circuitos combinatórios. Equações algébricas. Tabelas de verdade. Organização: Formas básicas de representação: ircuitos combinatórios Organização: ormas básicas de representação Síntese por mapas de Karnaugh Projectos com blocos SSI / MSI nálise e teste ircuitos combinatórios - representação de sistemas digitais

Leia mais

Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos

Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos EXAME NACIONAL DO ENSINO SECUNDÁRIO Decreto-Lei n.º 74/2004, de 26 de Março Prova Prática de Geometria Descritiva A 11.º/ 12.º anos de Escolaridade Prova 708/1.ª Fase 7 Páginas Duração da Prova: 150 minutos.

Leia mais

Manual do Revisor Oficial de Contas. Directriz de Revisão/Auditoria 843

Manual do Revisor Oficial de Contas. Directriz de Revisão/Auditoria 843 Directriz de Revisão/Auditoria 843 Junho de 2002 Transformação de Sociedades ÍNDICE Parágrafos INTRODUÇÃO 1-3 OBJECTIVO 4-5 DESTINATÁRIOS 6 PROCEDIMENTOS DE VERIFICAÇÃO 7-8 RESERVAS 9 CONDICIONAMENTOS

Leia mais

Desenho de casos de teste

Desenho de casos de teste Desenho de casos de teste A função dos casos de teste é fornecer informação rápida e eficientemente Em teoria da informação, define-se informação em termos de redução de incerteza. Se há pouca incerteza,

Leia mais

Teoremas de De Morgan

Teoremas de De Morgan Teoremas de De Morgan Augustus De Morgan - Matemático e lógico britânico. Concebeu as Leis de De Morgan e foi o primeiro a introduzir o termo e tornar rigorosa a idéia de indução matemática. Fonte:http://pt.wikipedia.org/wi

Leia mais

Introdução aos Testes de Software

Introdução aos Testes de Software Introdução aos Testes de Software 1 Objetivos do curso Apresentar e discutir os conceitos básicos sobre o processo de testes Entender como criar e utilizar os documentos (artefatos) gerados ao longo deste

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos

Prova Prática de Geometria Descritiva A. Duração da Prova: 150 minutos. Tolerância: 30 minutos EXAME NACIONAL DO ENSINO SECUNDÁRIO Decreto-Lei n.º 74/2004, de 26 de Março Prova Prática de Geometria Descritiva A 11.º/ 12.º anos de Escolaridade Prova 708/2.ª Fase 6 Páginas Duração da Prova: 150 minutos.

Leia mais