Desenho de casos de teste
|
|
- Yasmin Estrada Viveiros
- 7 Há anos
- Visualizações:
Transcrição
1 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, há pouca informação para ser ganha Um caso de teste que não promete obter informação significativa está mal concebido. Um bom caso de teste dá informação valiosa, quer o programa passe o teste quer falhe Universidade Portucalense Engenharia de Software ES
2 Características de um bom teste Tem uma probabilidade razoável de apanhar um erro Ao procurar ideias para casos de teste, recua-se a partir de uma ideia de como o programa pode falhar. Se o programa poderia falhar desta maneira, como é que vamos apanhar essa situação? Não é redundante É o melhor da família de testes semelhantes Não é demasiado simples nem demasiado complexo Podem-se combinar vários testes num caso, mas sem exageros Torna evidentes as situações de falha Universidade Portucalense Engenharia de Software ES
3 Qualidade dos testes Objetivos principais (em resumo...) Encontrar erros considerados relevantes por todos Ajudar a corrigir esses erros Um teste é melhor do que outros se for: Mais provável expor um erro, se ele existir Mais provável dar resultados significativos (motivadores) Mais credível (realista, representativo de acontecimentos resultantes da utilização normal do programa) Mais fácil de avaliar (não há dúvidas sobre o resultado) Útil para o diagnóstico (fácil de reproduzir) Mais informativo Adequadamente complexo Universidade Portucalense Engenharia de Software ES
4 O que é um caso de teste? IEEE standard 610 (1990) Um conjunto de entradas, condições de execução, e resultados esperados desenvolvido para um objetivo particular, tal como exercitar um determinado caminho do programa ou verificar a satisfação de um requisito específico IEEE standard Documentação especificando entradas, resultados esperados, e um conjunto de condições de execução para um item de teste Boris Beizer (1995, p. 3) Uma sequência de um ou mais sub-testes executados em sequência porque o resultado ou estado final de um sub-teste é a entrada ou estado inicial do seguinte. Universidade Portucalense Engenharia de Software ES
5 Classes de equivalência e valores fronteira Classes de equivalência Se se espera o mesmo resultado de dois testes, então são considerados equivalentes Um grupo de testes forma uma classe de equivalência se entendemos que: Todos testam o mesmo Se um deles encontra um erro, os outros provavelmente também Se um deles não encontra um erro, os outros provavelmente também não Frequentemente um grupo de testes caem na mesma classe de equivalência quando: envolvem as mesmas classes de entrada dão origem às mesmas operações no programa afetam as mesmas variáveis de saída nenhum, ou todos, forçam o programa a fazer tratamento de erros Universidade Portucalense Engenharia de Software ES
6 Abordagens ao teste Test-to-pass Atitude inicial Para encontrar erros em condições normais de funcionamento Test-to-fail Segunda fase Para encontrar erros em condições anormais de funcionamento Levar o programa ao limite, e mesmo passar o limite Universidade Portucalense Engenharia de Software ES
7 Condições para deteção de defeitos Alcance Para detetar um defeito, os dados de entrada fornecidos ao programa devem provocar a execução da instrução que contém o erro Necessidade Para detetar um defeito, os dados de entrada fornecidos ao programa devem fazer com que a instrução que contém o erro produza um valor diferente do valor correto Propagação Para detetar um defeito, os resultados internos incorretos produzidos pela instrução que contém o erro devem ser visíveis no resultado do programa Universidade Portucalense Engenharia de Software ES
8 Um exemplo (1) void check_square(double x) { double y=x; if (x<100) y= x+x ; /* devia ser x*x */ else y= sqrt(x ); if (y>x) System.out.println( verificado ); } Universidade Portucalense Engenharia de Software ES
9 Um exemplo (2) Alcance x < 100 Necessidade x 2 e x 0 Propagação Requer que (x + x > x) tenha um valor lógico diferente de (x * x > x). Isto é verdade quando 0 < x <= 1 ou x < 0. Para detetar este defeito, os dados de entrada de um caso de teste devem satisfazer as seguintes condições: (x < 100) e (x 2 e x 0) e ((0 < x <= 1) ou (x < 0)) Universidade Portucalense Engenharia de Software ES
10 Cobertura de linhas Cobertura de linhas Todas as linhas de código têm que ser testadas pelo menos uma vez IF (A > B AND C = 5) THEN do SOMETHING SET D = 5 Neste exemplo há quatro opções: A > B e C = 5 A > B e C 5 A B e C = 5 A B e C 5 O caso 1 testa todas as linhas de código Universidade Portucalense Engenharia de Software ES
11 Cobertura de ramos Cobertura de ramos Todas as seleções são testadas para cada uma das opções Inclui o teste de todos os ramos e todas as instruções No exemplo anterior, seria necessário testar um caso em que do SOMETHING é executado, e outro em que não é Universidade Portucalense Engenharia de Software ES
12 Cobertura de condições Cobertura de condições Testa todas as formas pelas quais uma condição pode ser feita verdadeira ou falsa No exemplo, todos os quatro casos Universidade Portucalense Engenharia de Software ES
13 Teste de caminhos O teste de caminhos não garante que o programa não tem erros Exemplo: INPUT A INPUT B PRINT A / B Funciona com A=1 e B=2, e testa todos os caminhos O teste é completo? O problema não é de caminhos, mas de dados Universidade Portucalense Engenharia de Software ES
14 Um exemplo A função pos_sum calcula a soma dos elementos positivos do array a; num_of_entries é o número de elementos do array pos_sum(a, num_of_entries) returns integer int sum = 0 int i = 0 while (i < num_of_entries) if a[i] > 0 sum = sum + a[i] endif i = i + 1 end while return sum end pos_sum O array a = [ 1, -45, 3] testa todas as instruções (linhas) e todos os ramos do programa Universidade Portucalense Engenharia de Software ES
15 Teste de ciclos Muitos defeitos estão associados à utilização de ciclos Se um ciclo pode ter uma gama de 0 a n iterações, devem ser usados casos de teste com: zero iterações uma iteração duas iterações k iterações, onde k < n n-1 iterações n iterações n+1 iterações (se possível) Exemplo: pretende-se somar os primeiros k elementos de um array com 20 elementos (isto é, n = 20) Universidade Portucalense Engenharia de Software ES
16 Outro exemplo (1) // Return the greatest // common denominator. int euclid (int m, int n) { assert(n > 0); assert(m > 0); int r; if (n > m) { r = m; m = n; n = r; } r = m % n ; while (r! = 0) m = n; n = r; r = m % n ; } return n; } Universidade Portucalense Engenharia de Software ES
17 Outro exemplo (2) n > m r!= 0 Caso de teste Caminho F F n = 3, m = 9 a c V F n = 9, m = 3 b c V V n = 8, m = 3 b d d d c Uma sugestão para gerar caminhos de teste: 1. Definir um caminho base, o principal do algoritmo 2. Alterar o resultado da primeira condição, tentando manter os resultados das restantes 3. Em seguida alterar o resultado da segunda condição. Repetir este processo para cada condição 4. Considerar o primeiro caminho variante (resultado do ponto 2) como o caminho base, e repetir o processo. 5. Repetir o ponto anterior para cada um dos caminhos alternativos Universidade Portucalense Engenharia de Software ES
18 Encontrando classes de equivalência (1) Duas pessoas a analisar o mesmo programa encontrarão diferentes classes de equivalência. É um processo subjetivo Isto não significa que todas as soluções são corretas! Compensa olhar para as classes de equivalência encontradas Ajuda a selecionar bem os testes, evitando perder tempo a repetir o que no fundo é o mesmo teste Testa-se um ou alguns dos casos de cada classe de equivalência Universidade Portucalense Engenharia de Software ES
19 Encontrando classes de equivalência (2) Não esquecer classes de equivalência para entradas inválidas É frequentemente a melhor fonte de erros Exemplo: um programa deve aceitar um número entre 1 e 99 Há pelo menos quatro classes de equivalência: Qualquer número entre 1 e 99 é válido Qualquer número menor que 1 é demasiado pequeno Qualquer número maior que 99 é demasiado grande Se não é um número, não é aceite Universidade Portucalense Engenharia de Software ES
20 Classes de equivalência - Outlines Organizar as classificações encontradas numa tabela ou outline 1. Fornecer um número 1.1. Caso válido Entre 1 e Casos inválidos > Cálculo cujo resultado é um valor inválido Números negativos Letras e outros caracteres não numéricos Letras Operadores aritméticos tais como +, -, *, / Outros caracteres não numéricos Com código ASCII menor que o do Com código ASCII maior que o do 9 Universidade Portucalense Engenharia de Software ES
21 Domínio de entradas Passo 1 identificar funções testáveis Casos de uso podem ser usados para identificar funções testáveis No caso de POO, cada método público pode ser uma função testável Passo 2 identificar todos os parâmetros que podem influenciar o comportamento de cada função testável Se o método pertence a uma classe com estado interno, este tem que ser incluído como parâmetro Passo 3 - definir os domínios das entradas Abordagem interface-based Considera cada parâmetro individualmente Abordagem functionality-based Considera as características que correspondem à funcionalidade pretendida Universidade Portucalense Engenharia de Software ES
22 Gamas de valores Procurar gamas de valores Sempre que se encontra uma gama de valores, encontram-se várias classes de equivalência Normalmente três classes inválidas: valores abaixo do limite, valores acima do limite, e valores não numéricos Procurar gamas múltiplas (por exemplo escalões fiscais) Cada sub-gama é uma classe de equivalência A transição entre gamas contíguas é frequentemente fonte de problemas Procurar pertença a um grupo Se uma entrada deve pertencer a um grupo, uma classe de equivalência inclui todos os membros do grupo, e outra tudo o resto Por exemplo, nomes de países Universidade Portucalense Engenharia de Software ES
23 Listas e menus Analisar respostas a listas e menus Tem que se fornecer um valor de uma lista. O programa responde de forma diferente a cada valor Cada valor possível é uma classe de equivalência Exemplo: Resposta Sim ou Não a Tem a certeza? (Sim/Não) Exemplo: estado civil no impresso do IRS Procurar variáveis que têm que ser iguais Pode escolher qualquer cor desde que seja preto. Exemplo: o produto está esgotado, exceto na cor preta. Escolhas que costumavam ser válidas deixam de o ser; verificar que só é possível escolher essa cor Universidade Portucalense Engenharia de Software ES
24 Tempo Criar classes de equivalência baseadas no tempo Suponhamos que se prime a tecla de espaço antes, durante, ou depois do carregamento de um programa do disco. Testes deste tipo fazem falhar alguns programas. Classes de equivalência: Tudo que se faz muito antes da operação, tudo que se faz pouco antes da operação, tudo que se faz pouco antes do programa terminar a leitura, etc. Procurar grupos de variáveis que devem dar origem a cálculos com um dado resultado Fornecer os três ângulos de um triângulo; a soma tem que ser 180º Universidade Portucalense Engenharia de Software ES
25 Baseadas nas saídas Procurar eventos de saída equivalentes Desenhar um segmento de reta Classe de equivalência válida: desde 1 pixel de largura, e até 10cm de comprimento Classes de equivalência inválidas: (1) não é desenhado o segmento, (2) o segmento tem mais de 10cm, (3) é desenhada uma curva A dificuldade está em determinar que entradas se devem dar ao programa para gerar as diferentes saídas Universidade Portucalense Engenharia de Software ES
26 Fronteiras - gamas de valores Devem-se usar, normalmente, até meia dúzia de casos de cada classe de equivalência Os melhores casos estão nas fronteiras das classes O maior, o menor, o próximo, o mais alto, o mais feio... Para detetar o problema das desigualdades ( < ou?) Normalmente os programas que falham fora das fronteiras também falham nas fronteiras Universidade Portucalense Engenharia de Software ES
27 Fronteiras - grupos de variáveis Há situações em que em vez de se pensar só numa variável, é necessário pensar em grupos de variáveis Exemplo: Dia do mês, numa data 1-28, 1-29, 1-30, 1-31 Dividem-se os meses em três conjuntos: {Fevereiro} {Abril, Junho, Setembro, Novembro} {Janeiro, Março, Maio, Julho, Agosto, Outubro, Dezembro} Para teste, seleciona-se pelo menos um mês de cada conjunto Universidade Portucalense Engenharia de Software ES
28 Exemplos Fronteiras - exemplos Se a gama válida é 1 a 99, os casos válidos são 1 a 99. Usar 0 e 100 para testes de valores inválidos Se um programa deve escrever cheques com valores de 1 a 99, aceitará escrever cheques de 0, 100, ou valores negativos? Se o programa espera uma letra maiúscula, testar A e Z. Deve-se porque é vizinho de A, e [ que é vizinho de Z. Testar também a e z. Se o programa deve desenhar linhas retas de largura superior a 1 pixel, e até 10 cm de comprimento, testar com uma linha de largura 1 pixel e de comprimento 10 cm. Testar com uma linha de 0 pixels de largura. Se a soma das entradas deve ser 180, testar 179, 180 e 181. Se o programa espera um dado número de valores de entrada, fornecer-lhe o valor correto, um a menos e um a mais. Universidade Portucalense Engenharia de Software ES
29 Exemplo de classes de equivalência (1) A referência dos produtos de uma empresa tem entre 3 e 15 caracteres alfanuméricos, dos quais os 2 primeiros têm que ser letras 1: Número de caracteres entre 3 e 15 2: Têm que ser alfanuméricos 3: Os dois primeiros têm que ser letras 3 classes de equivalência derivam da primeira condição: CE1: menos de 3 caracteres, inválido CE2: entre 3 e 15 caracteres, válido CE3: mais de 15 caracteres, inválido 2 classes de equivalência derivam da segunda condição: CE4: caracteres todos alfanuméricos, válido CE5: algum carácter é não alfanumérico, inválido 2 classes de equivalência derivam da terceira condição: CE6: os dois primeiros caracteres são letras, válido CE7: algum dos dois primeiros caracteres não é uma letra, inválido Universidade Portucalense Engenharia de Software ES
30 Exemplo de classes de equivalência (2) A tabela de descrição das classes de equivalência poderia ser: Condição Classes de equivalência válidas Classes de equivalência inválidas 1 CE2 CE1, CE3 2 CE4 CE5 3 CE6 CE7 Em seguida devem ser analisados os valores fronteira, ou limite. Por exemplo para o comprimento da referência: 1: Valor imediatamente abaixo do limite inferior (2) 2: Valor no limite inferior (3) 3: Valor imediatamente acima do limite inferior (4) 4: Valor imediatamente abaixo do limite superior (14) 5: Valor no limite superior (15) 6: Valor imediatamente acima do limite superior (16) Universidade Portucalense Engenharia de Software ES
31 Exemplo de classes de equivalência (3) Exemplo de valores de entradas para contemplar as classes de equivalência e valores fronteira No. Valor de entrada Classes de equivalência válidas 1 abc1 CE2, CE4, CE6, (3) 2 ab1 CE2, CE4, CE6, (2) 3 abcdef CE2, CE4, CE6, (5) 4 abcde CE2, CE4, CE6, (4) 5 abc* CE2, CE6 (3) CE5 6 ab CE4, CE6 CE1, (1) 7 abcdefg CE4, CE6 CE3, (6) 8 a123 CE2, CE4, (3) CE7 9 abcdef123 CE2, CE4, CE6 Classes de equivalência inválidas Universidade Portucalense Engenharia de Software ES
32 Critérios de combinação de classes (1) Quando há várias classes de equivalência correspondentes a diferentes variáveis, temos necessidade de testar combinações de valores dessas variáveis. Dependendo da situação, podemos elaborar conjuntos de casos de teste mais ou menos exaustivos. Exemplo: três partições com classes [A,B], [1,2,3] e [x,y] Critério: Cobertura de todas as combinações 12 casos: (A,1,x) (A,1,y) (A,2,x) (A,2,y) (A,3,x) (A,3,y) (B,1,x) (B,1,y) (B,2,x) (B,2,y) (B,3,x) (B,3,y) Universidade Portucalense Engenharia de Software ES
33 Critérios de combinação de classes (2) Critério: Cobertura de um valor de cada classe 3 casos, por exemplo: (A,1,x) (B,2,y) (A,3,x) Outro exemplo para este critério: Suponhamos uma função para classificar um triângulo, dados os comprimentos dos 3 lados. Cada lado pode ter os valores de teste -1, 0, 1, 2, dos quais os dois primeiros correspondem a casos inválidos. Segundo este critério, bastariam os casos (-1,-1,-1) (0,0,0) (1,1,1) (2,2,2) que são claramente insuficientes Universidade Portucalense Engenharia de Software ES
34 Critérios de combinação de classes (3) Cobertura de pares Um valor de cada classe deve ser combinado com um valor de cada classe de cada uma das outras variáveis Neste exemplo temos 8 casos: (A,1,x) (B,1,y) (A,2,x) (B,2,y) (A,3,x) (B,3,y) (A,-,y) (B,-,x) Cobertura de caso base É escolhido um valor base de cada classe, e é definido um teste com esses valores; outros testes são definidos variando uma variável de cada vez, a partir dos valores base Caso base, por exemplo: (A,1,x) Mais 4 casos, para os valores B, 2, 3 e y que não pertencem ao caso base: (B,1,x) (A,2,x) (A,3,x) (A,1,y) Cobertura de múltiplos casos base Como o anterior, mas com múltiplos casos base Universidade Portucalense Engenharia de Software ES
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 maisTeste 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 maisUnidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri
Unidade VI Técnicas de Teste de Software Profa. Dra. Sandra Fabbri Os requisitos de teste são extraídos de uma implementação em particular Teste dos detalhes procedimentais A maioria dos critérios dessa
Leia maisTestes de correção (de defeitos)
Testes de correção (de defeitos) Revelam a presença de erros, mas NÃO a ausência Um teste bem sucedido é aquele que descobre o maior número de erros existentes. Deve ser utilizado em conjunto com técnicas
Leia maisTeste 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 Técnica de Teste Estrutural Critérios de Teste 2 Casos de Teste Diante da impossibilidade
Leia maisProjeto de Casos de Teste
Projeto de Casos de Teste Alcemir Santos Slides baseados no Capítulo 4 do livro abaixo: Myers, Glenford J.. The Art of So1ware Tes3ng. Editora Wiley. 2004. 2ed. Este trabalho é licensiado sobre a licensa
Leia maisPlano de testes. Norma ANSI/IEEE para Documentação de Teste de Software define plano de testes como:
Plano de testes Norma ANSI/IEEE 829-1998 para Documentação de Teste de Software define plano de testes como: Um documento que define o âmbito, abordagem, recursos e escalonamento (planeamento) das atividades
Leia mais1. 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 maisProgramação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP
Programação I Aula 17 Correção de programas DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Classes de erros 2 Execução passo-a-passo 3 Testes na documentação 4 Asserções 5 Outros erros comuns DCC/FCUP 2019
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia maisAula 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 maisFundamentos de Teste de Software
Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 5 Técnicas de Especificação SUMÁRIO INTRODUÇÃO... 3 TÉCNICAS PARA PROJETO DE CASOS
Leia maisEngenharia 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 maisLinguagem de Programação
Linguagem de Programação Operadores de Condição if() / else if() / else{} / switch() Gil Eduardo de Andrade Introdução Operadores de condição permitem, ao programador, efetuar testes que determinam quais
Leia maisVamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como
Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como utilizá-la. 1 Por si só, uma equipe não é muito inteligente.
Leia maisSSC 0721 Teste e Validação de Software
SSC 0721 Teste e Validação de Software Conceitos básicos Prof. Marcio E. Delamaro delamaro@icmc.usp.br SSC 0721 Teste e Validação de Software ICMC/USP p. 1 O que é teste Atividade de executar um programa
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos
Leia maisIntrodução ao Teste de Software
Introdução ao Teste de Software Ricardo A. Ramos [Baseado na apresentação do LABS ICMC-USP -> http://www.labes.icmc.usp.br] Organização Introdução Teste de Software Terminologia e Conceitos Básicos Técnicas
Leia maisLógica de Programação I
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1 Comando Switch O comando Switch pode ser visto como uma especialização do comando if. Foi criado para facilitar um uso particular de comandos if encadeados.
Leia maisDesenvolvimento 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 maisMC102 Algoritmos e Programação de Computadores
MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos
Leia maisIntrodução à Programação. Expressões Booleanas e Comandos Condicionais
Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo
Leia mais6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES?
6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES? Atualmente existem muitas maneiras de se testar um software. Mesmo assim, existem as técnicas que sempre foram muito utilizadas em sistemas
Leia maisVisualização 2D: - Transformação window to viewport - Clipping
Visualização 2D: - Transformação window to viewport - Clipping Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Transformação de Visualização (window to viewport) Objectivo: obter uma matriz de transformação
Leia maisAlgoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi
Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se
Leia maisUNIVERSIDADE 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 maisEngenharia 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 maisProf. A. G. Silva. 13 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de / 21
INE5603 Introdução à POO Prof. A. G. Silva 13 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de setembro de 2017 1 / 21 Estruturas de repeteção (INTRODUÇÃO) Prof. A. G. Silva INE5603
Leia mais5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.
3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos
Leia maisGarantia de Qualidade
Garantia de Qualidade Teste de Software Profa Rosana Braga Material produzido por docents do Labes e revisado por Simone Souza Disciplina: Engenharia de Software ICMC/USP O Processo de Engenharia de Software
Leia maisIntrodução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
Leia maisIntroduçã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 maisDesenho de Segmentos de Recta
Desenho de Segmentos de Recta Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Alg. para desenho de Segmentos de Recta - Motivação A maior parte das primitivas 2D, desenhadas centenas ou mesmo milhares
Leia maisTeste de Software: Teste Funcional. Simone Senger Souza ICMC/USP
Teste de Software: Teste Funcional Simone Senger Souza ICMC/USP Teste de Software Objetivo? Quando testar? O que usar para testar? Quando parar de testar? Teste de Software Teste Funcional Critérios de
Leia maisLinguagens de Programação Aula 14
Linguagens de Programação Aula 14 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas
Leia maisFundamentos Programação
Fundamentos Programação A programação de computadores não é difícil. Realmente só requer algo como: Aprender alguns conceitos gerais Ser cuidadoso, organizado e lógico Praticar até aprender a dominar a
Leia maisEstruturas de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números
Leia maisTeste 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 maisProgramação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
Leia maisAULA TEÓRICA 03 COMANDO CONDICIONAL
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM BCC701 Programação de Computadores I www.decom.ufop.br/red 2017-1 AULA TEÓRICA 03 COMANDO CONDICIONAL 1 Programação Estruturada
Leia maisExercícios Repetição
Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que
Leia maisLinguagem e Técnicas em Programação. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 3.1.3 Condições compostas Linguagem e Técnicas em Programação As condições que vimos até agora sempre foram únicas. Entretanto, conforme aumenta a complexidade
Leia maisLinguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo
Linguagem C/C++ Estrutura Condicional Prof: Rosemary Melo Estrutura Condicional if... (simples) Sintaxe (como o comando deve ser escrito): if (condição) comando; ou, no caso de mais de um comando: if (condição)
Leia maisIntroduçã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 maisLógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo
Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo Este guia irá lhe ajudar a entender o laço de repetição
Leia maisIntroduçã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 maisMétodos Numéricos Zeros Posição Falsa e Ponto Fixo. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina
Métodos Numéricos Zeros Posição Falsa e Ponto Fixo Professor Volmir Eugênio Wilhelm Professora Mariana Kleina Método da Posição Falsa 2 Método da Posição Falsa O processo consiste em dividir/particionar
Leia maisFaculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1
Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,
Leia maisQuestão 1 Analise o trecho do código abaixo, escrito na linguagem C#:
Programação para Games I Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#: String[] vetor= { E, A, Z, D, W }; for(int i=4; i
Leia maisNós estamos acostumados com operações aritméticas: soma, subtração, multiplicação e divisão.
Bitwise tricks Operações com bits Nós estamos acostumados com operações aritméticas: soma, subtração, multiplicação e divisão. Mas os computadores entendem melhor operações booleanas, que computam diretamente
Leia maisMatemática. Exame Discursivo 07 / 12 / ª Fase. Caderno de prova. Boa prova!
2ª Fase Exame Discursivo 07 / 12 / 2008 Matemática Caderno de prova Este caderno, com dezesseis páginas numeradas seqüencialmente, contém dez questões de Matemática. Não abra o caderno antes de receber
Leia maisIntrodução à Programação em C (II)
Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem
Leia maisProgramação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal. Copyright 2010 All rights reserved.
Programação Folha Prática 5 Lab. 5 Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 5 5ª semana ESTRUTURAS
Leia maisResolução das Questões Discursivas
COMISSÃO PERMANENTE DE SELEÇÃO COPESE PRÓ-REITORIA DE GRADUAÇÃO PROGRAD CONCURSO PISM III - TRIÊNIO 008-010 Prova de Matemática Resolução das Questões Discursivas São apresentadas abaixo possíveis soluções
Leia maisAlgoritmos 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 maisCapítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
Leia maisListas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisLinguagem Java - Introdução
Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean
Leia maisAula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU
Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Leia maisProgramação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP
Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais
Leia maisAlgoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação
1 Algoritmo Prof. Anderson Almeida Ferreira Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação Desenvolvimento de programas 2 Análise do problema Desenvolvimento
Leia maisNo segundo caso, se a condição for verdadeira é executado o bloco-instruções1
1.3 Instruções de Decisão 1.3.1 Sintaxe 1. Decisão binária A decisão binária permite bifurcar a execução de um algoritmo em dois fluxos distintos, para tal é utilizada instrução if que tem duas formas
Leia maisProgramação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
Leia maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisCurso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)
Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Conceitos Práticos de Lógica de Programação) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito de Algoritmo
Leia maisVariáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Leia maisAula 6 Instruções de Seleção Cleverton Hentz
Aula 6 Instruções de Seleção Cleverton Hentz Sumário de Aula Instrução Condicional Instrução Escolha Teste de Mesa 2 Introdução O fluxo de execução é a sequência(ordem) em que as instruções são executadas
Leia maisProgramação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 04 Algoritmos e Programação Estruturada Objectivos: Aprender o conceito de algoritmo e suas características fundamentais
Leia maisGerê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 maisTeste de Software. Teste Funcional Teste Estrutural. Teste Baseado em Erros (Análise de Mutantes)
Teste de Software Teste Funcional Teste Estrutural Teste Baseado em Erros (Análise de Mutantes) Profa Rosana T. V. Braga Material adaptado do material dos profs. Ellen Francine Barbosa e José Carlos Maldonado
Leia mais3. 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.2. Estrutura de Programas e Representação
Leia maisTipos Primitivos, estruturas de iteração e decisão.
Tipos Primitivos, estruturas de iteração e decisão. André Luis Meneses Silva andreluis.ms@gmail.com http://br.geocities.com/programacao2ufs/ Agenda Tipos Primitivos de Dados Variáveis e Constantes es Comandos
Leia maisProcessamento digital de imagens
Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 6 de outubro de 2016 Segmentação de imagens A segmentação
Leia maisA linguagem Prolog. Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos.
A linguagem Prolog Sintaxe, terminologia e semântica informal: Os objectos de dados em Prolog são chamados termos. Um termo ou é uma constante, ou uma variável ou um termo composto. As constantes incluem
Leia mais8º ANO ENSINO FUNDAMENTAL Matemática. 1º Trimestre 45 questões 26 de abril (Sexta-feira)
8º ANO ENSINO FUNDAMENTAL Matemática S º Trimestre 5 questões 6 de abril (Sexta-feir 09 SIMULADO OBJETIVO 8º ANO º TRIMESTRE. O número, corresponde à fração 0. 00. 000.. 99. MATEMÁTICA COMENTÁRIO/RESOLUÇÃO:
Leia maisIntrodução ao Fortran 90-3
Introdução ao Fortran 90-3 Departamento de Física UFPel Controles de Fluxo de Execução Definição Estruturas (ou blocos) de programação que permitem controlar o fluxo de execução de um programa, além da
Leia maisAnálise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema
Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema
Leia maisLISTA DE EXERCÍCIOS: 1ª Unidade
LISTA DE EXERCÍCIOS: 1ª Unidade 1) Dado o trecho de código a seguir, qual será a saída se as entradas forem, respectivamente: A) 0 e 1 B) 2 e 3 C) 1 e 1 #include int main(){ float num1, num2;
Leia maisESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2002/ Valores
ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2002/2003 TRABALHO PRÁTICO Nº
Leia maisPRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015
PRIMEIROS PASSOS COM PYTHON Prof. Msc. Luis Filipe Alves Pereira 2015 PRIMEIROS PASSOS COM PYTHON 02/47 O QUE É PYTHON? Python é uma linguagem de propósito geral, de alto nível e interpretada Python será
Leia maisProgramação de Redes de Computadores
1: Introdução 1 MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Programação de Redes de Computadores
Leia maisSistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro
Leia maisComandos em C (cont.)
Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:
Leia maisComandos de Controle do Programa
Comandos de Controle do Programa Comandos de Seleção - if, else, switch Comandos de Iteração - for, while, do-while Comandos de Desvio - return, goto, break, continue O Comando if O if O else O if-else-if
Leia maisTÉCNICO DE INFORMÁTICA - SISTEMAS
782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar
Leia maisDesenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa
Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema
Leia maisTeste do Programa Writer do OpenOffice
Teste do Programa Writer do OpenOffice Patrícia Barrosa Filipe mei04013 Disciplina: Teste e Qualidade de Software Mestrado em Engenharia Informática - FEUP 1 Índice Introdução... 3 Oppenoffice Writer...
Leia mais1. 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 maisListas em Haskell. Listas. Linguagem Haskell. Maria Adriana Vidigal de Lima. Faculdade de Computação - UFU. Setembro
em Haskell Linguagem Haskell Faculdade de Computação - UFU Setembro - 2009 em Haskell 1 em Haskell Noções sobre Construção de por Compreensão Funções Sobre Processamento de Fundamentos em Haskell Noções
Leia maisProgramação I Estruturas de Decisão
Programação I Estruturas de Decisão Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões Lógicas Em C, não existe um tipo específico para a representação de valores lógicos.
Leia maisPortuguês Estruturado
Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,
Leia mais4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Leia maisnotas de aula versão 1 - Jerônimo C. Pellegrini notas de aula versão 1 11 de fevereiro de 2011
Introdução à Programação notas de aula versão 1 11 de fevereiro de 2011 1 Variáveis, entrada e saída Suponha que queiramos escrever um programa que calcule a área de um retânglo. É algo trivial e pode
Leia maisEstruturas de Repetição. for() while() do-while() break; continue;
Estruturas de Repetição for() while() do-while() break; continue; 1 Auto-Ajuda (!) Como ajudar a solucionar erros básicos do meu programa? Verificar os ; Verificar se não há comandos em maiúsculas; Verificar
Leia maisArquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Leia mais