Projeto de Casos de Teste
|
|
- Ana Clara Henriques Belém
- 7 Há anos
- Visualizações:
Transcrição
1 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 ed.
2 Este trabalho é licensiado sobre a licensa CreaFve Commons AGribuFon- ShareAlike 3.0. Brasil.
3 Tópicos à Estudar Técnicas de Teste Caixa- Branca Teste por Cobertura Lógica Técnicas de Teste Caixa- Preta ParFção em Classes de Equivalência Análise de Valor Limite Grafo de Causa- Efeito Técnica de Teste Baseada em Erro Estratégia de Teste
4 Antes de tudo Teste não pode garanfr a ausência de todos os erros Projeto de Casos de Teste é importante Testar tudo é impossível O teste de quaisquer programa é necessariamente incompleto Devido a restrições de tempo e custos: Qual subconjunto de todos os casos de teste que tem maior probabilidade de detectar a maioria dos erros?
5 Teste por Cobertura Lógica TÉCNICAS DE TESTE CAIXA- BRANCA
6 Cobertura de Instrução Executar cada instrução do programa ao menos uma vez Este é um critério ingênuo O primeiro a vir à mente Este é um critério de teste fraco geralmente inúfl (exemplo no próximo slide) Um critério mais forte é conhecido como cobertura de decisões or cobertura de ramificações
7 Cobertura de Instrução Programa Foo Java setando A=2, B=0, no ponto a, todas instruções serão executadas uma vez Ramificação do Programa Foo Java Mas, talvez a primeira decisão deveria ser OR invés de AND Talvez a segunda decisão deveria ter Condicionado X>0 Estes erros não seriam iden3ficados.
8 Cobertura de Decisão Também conhecida como Cobertura de Ramificação Cada ramificação deve ser executada pelo menos uma vez. Ou seja, escrever casos de teste suficiente para que cada decisão tenha as saídas true e false ao menos uma vez Exemplos de instruções de ramificação são as instruções switch, do- while, e if- else.
9 Coertura de Decisão Cobertura de decisão geralmente safsfaz a cobertura de instrução Entretanto, existem ao menos três exeções: 1. Programas sem decisões 2. Programas ou métodos com múlfplos pontos de entrada Dada instrução pode ser executada somente se o programa começa a executar de um certo ponto 3. Instruções dentro de unidades- ON Atravessar cada ramificação não necessariamente irá executar uma unidade- ON Unidades- ON existem em algumas linguagens para controle de fluxo. Ajudando, por exemplo, no tratamento de exceções.
10 Cobertura de Condição GaranFr (com casos de teste) que cada condição de uma decisão assuma todos os valores possíveis ao menos uma vez O critério de cobertura de condição não safsfaz o critério de cobertura de decisão Ao testar a decisão IF(A && B), o critério de cobertura de condicão levaria a dois casos de teste (A = true, B = false e A = false, B = true) mas isto não causaria a execução da instrução THEN do IF
11 Programa Foo Java Cobertura de Condição Este exemplo mostra quatro condições: A>1, B=0, A=2 e X>1 suficientes casos de teste são necessários para forçar situações onde A>1, A 1, B=0, B 0, A=2, A 2, X>1, e X 1
12 Sobre o Teste por Cobertura Lógica Cobertura de Decisão e Cobertura de Condição são critérios mais fortes que a Cobertura de Instrução Cobertura de Condição é as vezes mais forte que Cobertura de Decisão No entanto, Cobertura de Condição não safsfaz a Cobertura de Decisão DILEMA: Como escolher entre os critérios de cobertura de decisão or condição?
13 Sobre o Teste de Cobertura Lógica Como solução do dilema, recomenda- se o uso de um critério híbrido Cobertura de Decisão/Condição Cobertura de decisão/condição requer casos de teste suficientes para que: Cada condição de uma decisão assuma todas os possíveis valores ao menos uma vez Cada decisão execute todos os ramos possíveis ao menos uma vez Cada ponto de entrada seja invocado ao menos uma vez
14 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com as técnicas de teste caixa- branca: public String foo(int x, int y){ boolean z; if ( x<y ) z = true; else z = false; if ( z && x+y == 10 ) return A ; else return B ; } Procure idenfficar casos em que as técnicas discufdas não foram capazes de idenfficar possíveis erros.
15 ParFção em Classes de Equivalência TÉCNICA DE TESTE CAIXA- PRETA
16 Par3ção em Classes de Equivalência É impossível testar exausfvamente as entradas de um programa O testador é limitado a tentar um conjunto limitado de entradas Qual subconjunto escolher? Como escolher o subconjunto para alcançar alguns objefvos para considerar o programa razoavelmente testado?
17 Par3ção em Classes de Equivalência: Propriedades de escolha de subconjunto O subconjunto deve reduzir significafvamente o número de outros casos de teste Cada caso de teste deve considerar invocar tantas entradas quanto possível para minimizar o total de casos de teste necessário O subconjunto deve cobrir um grande conjunto de outras possibilidades de casos teste O Testador deve tentar parfcionar o domínio da entrada de um programa dentro número finito de classes de equivalência
18 Par3ção em Classes de Equivalência: O primeiro passo 1. IdenFficar as classes de equivalencia: Tomar cada condição de entrada e parfcionar em dois ou mais grupos (válidos ou inválidos) Exemplo: Considere uma entrada de condição que especifique um intervalo de valores. if(count >1 && count <99) - Uma classe de equivalência válida é (1 < count < 99) - Duas classes de equivalência inválidas são (count 1 and count 99).
19 Par3ção em Classes de Equivalência: O Segundo Passo 2. Definir casos de teste: Atribua um único número para cada classe de equivalência. Exemplo: count == 50 [0 < count < 100] Até todas as classes de equivalência válidas tenham sido cobertas por casos de teste Exemplo: count == 50 (valid), Até todas as classes de equivalência inválidas tenham sido cobertas por casos de teste Exemplo: count==- 5 and count==110 (invalid)
20 Par3ção em Classes de Equivalência: Exemplo da mercearia (1/7) Considere um módulo de soyware que deve aceitar o nome do produto e uma lista de diferentes tamanhos que o produto está disponível Especificações Nome do produto: Somente letras, com tamanho do nome entre 2 e 15 caracteres Deve vir primeiro, seguido por vírgula, depois pela lista de tamanhos separados por vírgula Tamanhos do produto: Dentro do intervalo de 1 a 48, números inteiros somente. Em ordem ascendente (menores primeiro). No máximo cinco tamanhos para cada produdo. Espaços (em branco) devem ser ignorados em qualquer lugar da entrada Fonte: hgp://users.csc.calpoly.edu/~jdalbey/205/resources/grocerystore.html
21 Par3ção em Classes de Equivalência: Exemplo da mercearia (2/7) Classes de Equivalência 1. só contem letras 2. contém caracteres diferentes de letras 3. tem menos que 2 caracteres 4. tem entre 2 e 15 caracteres 5. tem mais que 15 caracteres 6. é menor que 1 7. Está entre 1 e É maior que É número inteiro 10. É número decimal 11. É um valor numérico 12. Inclui caracteres não numéricos 13. Lista em ordem ascendente 14. Lista em ordem descendentes 15. Lista de valores vazia 16. Lista contém entre 1 e 5 valores 17. Lista contem mais de cinco valores 18. Nome do produto primeiro 19. Nome do produto depois 20. Separação por uma vírgula 21. Diferente de vírgula 22. Não contém espaços em branco 23. Contém espaços em branco
22 Par3ção em Classes de Equivalência: Exemplo da mercearia (3/7) Classes derivadas para o nome do produto: válidas Só contem letras Tem entre 2 e15 caracteres Vem primeiro na entrada inválidas vem depois na entrada Tem menos de 2 caracteres Tem mais que 15 caracteres Contém caracteres diferentes de letras
23 Par3ção em Classes de Equivalência: Exemplo da mercearia (4/7) Classes derivadas do Tamanho dos Produtos: válidas É número Está entre 1 e 48 É número iteiro Entrada em ordem ascendente inválidas Inclui caracteres não numéricos É decimal É menor que 1 É maior que 48 Entradem em ordem descendente
24 Par3ção em Classes de Equivalência: Exemplo da mercearia (5/7) Classes derivadas da QuanFdade de Valores: válidas Entrada entre um e cinco valores inválidas Entrada vazia Entrada com mais de cinco valores
25 Par3ção em Classes de Equivalência: Exemplo da mercearia (6/7) Classes derivadas das Separação da Entrada: válidas Separado por uma vírgula Contém espaços em branco (???) não contém espaços em branco (???) inválidas Separador diferente de vírgula
26 Par3ção em Classes de Equivalência: Exemplo da mercearia (2/7) Classes de Equivalência 1. só contem letras 2. contém caracteres diferentes de letras 3. tem menos que 2 caracteres 4. tem entre 2 e 15 caracteres 5. tem mais que 15 caracteres 6. é menor que 1 7. Está entre 1 e É maior que É número inteiro 10. É número decimal 11. É um valor numérico 12. Inclui caracteres não numéricos 13. Lista em ordem ascendente 14. Lista em ordem descendentes 15. Lista de valores vazia 16. Lista contém entre 1 e 5 valores 17. Lista contem mais de cinco valores 18. Nome do produto primeiro 19. Nome do produto depois 20. Separação por uma vírgula 21. Diferente de vírgula 22. Não contém espaços em branco 23. Contém espaços em branco
27 Par3ção em Classes de Equivalência: Exemplo da mercearia (7/7) Test data Expected outcome Covered classes xy,1 T 1,4,7,9,11,13,16,18,20,22 AbcDefghijklmno,1,2,3,4,48 T 1,4,7,9,11,13,16,18,20,23 a2x,1 F 2 A,1 F 3 abcdefghijklmnop F 5 Xy,0 F 6 XY,49 F 8 Xy,2.5 F 10 xy,2,1,3,4,5 F 14 Xy F 15 XY,1,2,3,4,5,6 F 17 1,Xy,2,3,4,5 F 19 AB,2#7 F 12
28 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com a técnica de parfção de classes de equivalência: public String tritype(int a, int b, int c){ if ( a<=0 b<=0 c<=0 ) return não é triângulo ; if ( a<b+c b<a+c c<a+b) return não é triângulo ; if ( a == b ) if ( a == c ) return equilátero ; return isósceles ; else if ( b == c ) return isósceles ; else return escaleno ; } O Programa está correto? Procure idenfficar casos em que a técnica não foi capaz de idenfficar possíveis erros.
29 Exercícios Sugeridos Considere um método para validar uma nova senha. Com entrada o método recebe uma string que contendo a nova senha. A validação acontece com as seguintes regras: O tamanho da senha deve ser entre 6 e 15 caracteres A senha deve conter letras, números e caracteres especiais A senha não deve exisfr em um dicionário IdenFfique casos de teste com a técnica de parfção de classes de equivalência.
30 Análise de Valor Limite TÉCNICA DE TESTE CAIXA- PRETA
31 Análise de Valor Limite Condições limite são aquelas situações incidentes, acima e abaixo das bordas dos valores das classes de equivalência de entrada e saída. A experiência mostra que casos de teste que exploram as condições limite têm maior retorno.
32 Análise de Valor Limite Análise de valor limite parfção de equivalência: 1. Ao contrário de selecionar qualquer elemento na classe de equivalência, análise de valor limite requer a seleção de um ou mais elementos das bordas de cada classe de equivalência como entrada de casos de teste 2. Ao contrário de ter atenção nas condições de entrada, os casos de teste também são derivados considerando as classes de equivalência de saída
33 Análise de Valor Limite: o exemplo do triângulo Considere um método que aceita como entrada três inteiros representando lados de um triângulo (a, b, c). O problema é determinar o Fpo de triângulo (Equilátero, Isósceles, escaleno ou se não é um triângulo). Considere o tamanho do lado entre 1 e 200. Estas condições podem determinar se os lados da entrada formam um triângulo a b c a < b + c. 5. b < a + c. 6. c < a + b. Estas condições podem determinar o Fpo do triângulo. 1. If ( a = b = c ) then Equilátero. 2. If ( a = b a = c b = c ) then Isósceles. 3. If ( a b c ) then Escaleno.
34 Análise de Valor Limite: o exemplo do triângulo Limite inferior Limite superior- 1 Limite inferior+1 Limite superior Média Sobre o limite
35 Análise de Valor Limite: o exemplo do triângulo A B C Output Isósceles Isósceles Equilátero Isósceles Não é triângulo Isósceles Isósceles Equilátero Isósceles Não é triângulo Isósceles Isósceles Equilátero Isósceles Não é triângulo
36 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com a técnica de análise de valor limite: public Double qualdesconto(int preco, int qtde){ if ( (preco >= 50 && preco < 100 )&& qtde > 5 ) return 0.05; else if ( preco >= 100 && qtde > 3 ) return 0.1; } Procure idenfficar casos em que a técnica não foi capazes de idenfficar possíveis erros.
37 Grafo de Causa- Efeito TÉCNICAS DE TESTE CAIXA- PRETA
38 Grafo de Causa- Efeito Testar combinações de entrada não é trivial O número de combinações é astronômico O testador pode selecionar um subconjunto arbitrário de condições Isto pode levar a um teste não efefvo Grafo de Causa- Efeito auxilia na seleção (de forma sistemáfca), um conjunto de casos de teste de alto redimento Adicionalmente, ele aponta abiguidades e não completudes na especificação
39 Grafo de Causa- Efeito O processo de criação do grafo: 1. Decoponha as unidades a serem testadas (em caso de ter muitas funcionalidades a serem testadas) 2. IdenFfiue causas e efeitos 3. Estabeleça o grafo de relações entre causas e efeitos 4. Anote o grafo com restrições entre causas e/ou efeitos 5. Converta o grafo para uma tabela de decisão 6. As colunas da tabela são converfdas em casos de teste.
40 Grafo de Causa- Efeito Símbolos básicos de um grafo de causa- efeito IDENTIDADE NEGAÇÃO OR AND
41 Grafo de Causa- Efeito: um exemplo Especificação: O Caractere na coluna 1 deve ser um A ou um B. O caractere na coluna 2 deve ser um dígito. Nesta situação a atualizão do arquivo é feita. Se o primeiro caractere esfver incorreto, a mensagem X é exibida. Se o segundo caractere não for um dígito, a mensagem Y é exibida.
42 As causas são: Grafo de Causa- Efeito: um exemplo 1. Caractere na coluna 1 é A 2. Caractere na coluna 1 é B 3. Caractere na coluna 2 é um dígito Os efeitos são: 70. O arquivo é atualizado 71. A mensagem X é exibida 72. A mensagem Y é exibida
43 Grafo de Causa- Efeito: um exemplo Amostra do grafo de causa- efeito É impossível setar 1 para as causas 1 e 2 ao mesmo tempo.
44 Grafo de Causa- Efeito: um exemplo Símbolos de restrições No máximo um elemento pode ser 1 Ao menos um dos elementos Um e somente um deve ser 1 Se um elemento assumir um valor o outro também deve assumir
45 Grafo de Causa- Efeito: um exemplo Amostra do grafo de causa- efeito com a restrição exclusiva
46 Grafo de Causa- Efeito: um exemplo Grafo de Causa- Efeito: Tabela de Decisão Casos de Teste Causas Efeitos = true; 0 = false;
47 Exercícios Sugeridos Dado o método abaixo, idenffique casos de teste com a técnica de grafo de causa- efeito: public String tritype(int a, int b, int c){ if ( a<=0 b<=0 c<=0 ) return não é triângulo ; if ( a<b+c b<a+c c<a+b) return não é triângulo ; if ( a == b ) if ( a == c ) return equilátero ; return isósceles ; else if ( b == c ) return isósceles ; else return escaleno ; } O Programa está correto? Procure idenfficar casos em que a técnica não foi capaz de idenfficar possíveis erros.
48 TÉCNICA DE TESTE BASEADA EM ERRO
49 Teste Baseado em Erro Dado um programa, suponha: Prováveis Fpos de erros e depois escreva casos de teste para expor estes erros. Por intuição e experiência! Em outras palavras: Enumere aqueles casos especiais que podem ter sido negligenciados na etapa de projeto do programa
50 Teste Baseado em Erro: um exemplo Ao testar um método de busca binária, o testador pode tentar as seguintes situações: 1. Existe apenas uma entrada na tabela pesquisada 2. O tamano da tabela é uma potência de dois (exemplo: 16) 3. O tamanho da tabela é um abaixo ou um acima de uma potência de dois (exemplo: 15 ou 17)
51 ESTRATÉGIA DE TESTE
52 A Estratégia As metodologias de projeto de casos de teste discufdas podem ser combinadas de forma a construir uma estratégia razoável: 1. Se a especificação contém combinações das condições de entrada, comece por grafo de causa- efeito 2. Em qualquer evento, uflize análise de valor limite 3. IdenFque as classes de equivalência válidas e inválidas para a entrada e saída. Complemente os casos de teste idenfficados acima, caso necessário. 4. Use a técnica baseada em erro para casos de teste adicionais 5. Examine a lógica do programa considerando o conjunto de casos de teste
53 Exercícios Sugeridos Considere- se o testador de um sistema de gerenciamento de uma biblioteca. E você deve elaborar casos de teste para o contexto de solicitação de empresfmo. As restrições são as seguintes: O usuário (solicitante) deve estar cadastrado O solicitante pode ter até 3 emprésfmos simultâneos O solicitante não pode ter multa(s) à pagar O solicitante não pode ter quaiquer outra pendência IdenFfique casos de teste com as técnicas aprendidas.
54 Perguntas? Projeto de Casos de Teste por Alcemir Santos Slides baseados no Capítulo 4 do livro abaixo: Myers, Glenford J.. The Art of So1ware Tes3ng. Editora Wiley ed.
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 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 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 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 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 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 maisIntrodução à Computação - aulas 01 e 02 -
MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída
Leia maisJavaScript (ou JScript)
1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de
Leia maisDesenho 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 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 maisPrática 10 - Funções
Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada
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 maisEstruturas de seleção. Prof.: Jesus
Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações
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 maisLista de Exercícios 2
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca
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 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 maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações
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 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 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 maisExpressões Condicionais
Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2013.1 1/38 1 Combinando funções 2 Expressão condicional 3
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 maisTeste 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 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 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 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 maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy
Leia maisAula teórica 10 Tema 10. Selecção Instruções de selecção:
Aula teórica 10 Tema 10. Selecção Instruções de selecção: Selecção simples. Instrução if Selecção em alternativa. Instrução if Testes múltiplos Selecção múltipla. Instrução switch - case Objectivos da
Leia maisProgramação Estruturada
Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar
Leia maisIntrodução à Programação I
Introdução à Programação I Programação Estruturada Álgebra Booleana e Expressões Compostas Material da Prof. Ana Eliza Definição: Chama-se proposição todo o conjunto de palavras ou símbolos que exprimem
Leia maisProcessamento da Informação
Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece
Leia maisProgramação II. Aula 3
Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo
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 maisEstruturas de seleção. Prof.: Jesus
Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações
Leia maisFundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno
Fundamentos de Lógica e Algoritmos Aula 3.2 IDLE, Variáveis e Tipos Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br IDLE O IDLE é um ambiente de desenvolvimento integrado para Python; O IDLE permite: Escrever
Leia maisProf. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1
INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles
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 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 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 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 maisAnálise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34
Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais
Leia maisOperadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Operadores Lógicos e Relacionais Comandos condicionais (if-else) Casting AULA 04 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares
Leia maisIdentificadores Nome de variáveis, constantes, métodos, etc...
IV.2 Aspectos Léxicos Convencionais Classes de símbolos Genéricos Token genérico / Lei de formação bem definida Podem possuir limitações de tamanho e/ou valor Possuem valor semântico o token deve ser acompanhado
Leia maisOperadores e Estruturas de Decisão
Operadores e Estruturas de Decisão Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados
Leia maisOperadores e Estruturas de Decisão. Vanessa Braganholo
Operadores e Estruturas de Decisão Vanessa Braganholo vanessa@ic.uff.br Aula de hoje Operadores Aritméticos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em comparações
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 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 maisAlgoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:
Algoritmos Algoritmos Leandro Tonietto Unisinos ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/inf/pg1/algoritmosi_java.pdf Mar-2008 Possuem sintaxe flexível e são mais úteis para descrição
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 maisOperadores e Estruturas de Decisão
Operadores e Estruturas de Decisão Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Operadores Aritmé=cos (usados em contas) Relacionais (usados em comparações numéricas) Lógicos (usados em
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 maisLINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C#
LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 4 ESTRUTURA DE DECISÃO EM C# A estrutura de decisão, em qualquer linguagem de programação, é baseada em expressões lógicas, mais conhecida por lógica booleana
Leia maisINTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB
TURMA 1 AULA 5 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB MINICURSO PET-POTÊNCIA 2016.1 RÔMULLO RANDELL MINICURSO PET-POTÊNCIA 2016.1 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB RÔMULLO RANDELL Turma
Leia maisPORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA
PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA SUMÁRIO Introdução Conceitos básicos Formato básico Tipos primitivos Variáveis Constantes Operadores Operações
Leia maisConceitos Básicos de Algoritmos
Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas
Leia maisIntrodução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin
Introdução a Programação Curso: Sistemas de Informação Programação I José R. Merlin Programas Programas são instruções para o computador executar uma tarefa Estas instruções seguem uma lógica Lógica: modo
Leia maisPROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
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 maisdouble x; x = enigmab1(100);
8h Universidade Federal do ABC Avaliação: Prova 02 Disciplina: Processamento da Informação Turmas: A4, A5 (8hs) Professor: Jesús P. Mena-Chalco Data: 05/05/2016 Nome: RA: Instruções para a prova (leia
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 maisLinguagem de Programação. Tutorial 3 Os comandos if, else e else if
Linguagem de Programação Tutorial 3 Os comandos if, else e else if Objetivo Introdução Utilizar a Estrutura de Decisão ou Condicional. Em programação, não é incomum o computador se deparar com uma situação
Leia maisParadigmas de Linguagens de Programação. Expressões e Instruções de Atribuição
Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação
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 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas
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 maisTreinamento Olimpíada Brasileira de Informática
Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 03 1/2 Estrutura Condicionais Linguagem de Programação C Bruno Otávio, George,
Leia maisCompiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de
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 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 maisExpressões Condicionais
Programação Funcional Capítulo 4 Expressões Condicionais José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/39 1 Combinando funções 2 Expressão condicional 3
Leia maisLÓGICA DIGITAL - CONCEITOS. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas.
* Tipos de Dados. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas. 1 TIPOS DE DADOS Dados inteiros Representação das informações pertencentes
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 4 Estruturas de Condição Profa. Marina Gomes marinagomes@unipampa.edu.br 06/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura condicional simples Utilização
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada
Leia maisProva 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins
Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins 1. (25 pontos) A listagem a seguir mostra o código de uma função que converte uma cadeia de caracteres com a representação
Leia maisLinguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo
Programação Estruturada Linguagem C Estruturas de Controle Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Tipos de Estruturas de Controle Estruturas de Seleção Simples
Leia maisProgramação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio
Leia maisPuca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
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 maisFundamentos de Programação em Python
Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa do
Leia maisINSTRUÇÕES DE REPETIÇÃO
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma
Leia mais15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo
Professor Ariel da Silva Dias Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; Caracterizada por três conceitos Variáveis; Atribuições; Sequência;
Leia maisLinguagem C++ Estruturas de controle Parte II Estruturas de repetição
Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um
Leia maisCompiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 31. Instituto de C
ompiladores Análise Léxica Bruno Lopes Bruno Lopes ompiladores 1 / 31 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?
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 maisProgramas Interativos
Programação Funcional DECOM UFOP 2012-1 Aula prática Capítulo 8 Prof. José Romildo Malaquias Programas Interativos Resumo Nesta aula pretende-se explorar construção de programas interativos usando ações
Leia maisESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza
ESTRUTURAS CONDICIONAIS Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais
Leia maisI1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.
Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis
Leia maisIntrodução à Computação
Conteúdo de hoje... Your Logo Here Prof. Lucas Amorim lucas@ic.ufal.br Tipos de dados Dados numéricos Inteiro Real Dados literais Dados lógicos Variáveis Introdução à Computação Tipos de dados, variáveis
Leia maisComputação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28
Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Tipos de Dados Dados Numéricos Números Inteiros: Int/Long Ponto Flutuante: Float Números Complexos: Complex
Leia maisIntrodução à Programação. Uma Abordagem Funcional
Introdução à Programação Uma Abordagem Funcional Tipos em Haskell Linguagem fortemente tipada Em Haskell, conhecendo-se o tipo das operações e funções que compõem uma expressão podemos determinar o tipo
Leia maisProcedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução
Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial
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 maisIntrodução à Computação
Your Logo Here Prof. Bruno de Jesus bruno.jesus@ic.ufal.br Introdução à Computação Tipos de dados, variáveis e expressões Conteúdo de hoje... Tipos de dados Dados numéricos Inteiro Real Dados literais
Leia maisCONDICIONAL / de SELEÇÃO / de DECISÃO
ESTRUTURA de CONTROLE CONDICIONAL / de SELEÇÃO / de DECISÃO LPI (CONTINUAÇÃO) IFs ANINHADOS E ELSE IF É comum precisarmos selecionar um entre vários blocos de comandos a serem executados e não apenas um
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia mais