Desenho de casos de teste
|
|
|
- Yasmin Estrada Viveiros
- 9 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
Teste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo
Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo [email protected] 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos
Projeto 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
Plano 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
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)
Programaçã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
Resoluçã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.
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
Fundamentos 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
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
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
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.
SSC 0721 Teste e Validação de Software
SSC 0721 Teste e Validação de Software Conceitos básicos Prof. Marcio E. Delamaro [email protected] SSC 0721 Teste e Validação de Software ICMC/USP p. 1 O que é teste Atividade de executar um programa
Algoritmos 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
Introduçã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
Lógica de Programação I
Gilson de Souza Carvalho [email protected] 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.
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 [email protected] 7 Maio 2012 1. Especificação de requisitos 2. Projeto
MC102 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
Introduçã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
6. 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
Visualizaçã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
Algoritmos. 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
Engenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira [email protected] 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
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.
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
Introduçã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
Introdução a Testes de Software. Ricardo Argenton Ramos
Introdução a Testes de Software Ricardo Argenton Ramos [email protected] Agenda da Aula Introdução sobre Testes; Testes Funcionais de software; Testes Estruturais de Software; Teste de Software
Desenho 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
Teste 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
Linguagens de Programação Aula 14
Linguagens de Programação Aula 14 Celso Olivete Júnior [email protected] Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas
Fundamentos 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
Estruturas 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
Programaçã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
Exercí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
Linguagem e Técnicas em Programação. Gilson de Souza Carvalho
Gilson de Souza Carvalho [email protected] 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
Linguagem 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)
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.
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
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
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
Mé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
Faculdade 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,
Questã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
Nó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
Matemá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
Introduçã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
Programaçã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
Resoluçã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
Algoritmos e Programação
Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes [email protected] 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for
Capí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
Listas 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 [email protected] Instituto de
Linguagem 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
Aula 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
Introduçã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
Algoritmo. 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
Programaçã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,
PROGRAMAÇÃ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:
Variá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/
Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ [email protected] 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);
Aula 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
Programaçã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
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
Teste 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
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.2. Estrutura de Programas e Representação
Tipos Primitivos, estruturas de iteração e decisão.
Tipos Primitivos, estruturas de iteração e decisão. André Luis Meneses Silva [email protected] http://br.geocities.com/programacao2ufs/ Agenda Tipos Primitivos de Dados Variáveis e Constantes es Comandos
Processamento 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
8º 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:
LISTA 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;
PRIMEIROS 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á
Programaçã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
Sistemas 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
Comandos 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:
TÉ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
Desenvolvimento 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
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
Listas 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
Portuguê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,
4. 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.
Estruturas 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
Arquitetura 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
