Software de Telecomunicações. Introdução aos testes
|
|
- Rubens Festas Santos
- 7 Há anos
- Visualizações:
Transcrição
1 Software de Telecomunicações Introdução aos testes Prof RG Crespo Software Telecomunicações Testes:1/43 Introdução (1) 1. Prova formal da correcção de programas Complexo, exigindo conhecimentos de matemática Demorado Viável apenas no mundo académico e para aplicações informáticas nas quais a correcção é requisito fundamental (aviação, ) 2. Testes aceitáveis, desde que executados metodicamente!!!! Prof RG Crespo Software Telecomunicações Testes:2/43
2 Introdução (2) Definições básicas Erro: inserção de uma afirmação contrária aos requisitos do sistema. Na fase de codificação são denominados bugs. Defeito ( fault ): Representação de um erro num esquema de representação de software (diagrama DFD, código fonte, ). O mesmo erro pode provocar vários defeitos. Falha: Estado do sistema após a execução de um defeito. A falha do sistema pode não ser imediatamente visível ao utilizador do sistema. Defeitos distintos podem provocar o mesmo tipo de falhas. Incidente: Sintoma de falha que é visível para o utilizador (cliente ou programador). Teste: Execução do sistema segundo um plano ( test case ). Prof RG Crespo Software Telecomunicações Testes:3/43 Introdução (3) Normalmente, a especificação, o programa e o plano de testes descrevem comportamentos ( behaviour ) distintos. Especificação (requisito) Programa (verificado) Universo comportamentos Omissões do programa Erros do programa Plano de teste (observado) Prof RG Crespo Software Telecomunicações Testes:4/43
3 Introdução (4) O plano de teste típico contém:- Identificador do plano de teste Objectivos do teste: motivos para plano de teste (idealmente ligados aos requisitos) Entradas: Pré-condições (determinam em que estados o programa se deve encontrar antes da execução) Parâmetros (entradas fornecidas ao programa) Saídas: Pós-condições (determinam em que estados o programa se deve encontrar após a execução) Resultados esperados Historial Test case ID: Purpose: Inputs: Pre-conditions: Parameters: Outputs: Post-conditions: Expected results: Execution history Date Result Version Run by Prof RG Crespo Software Telecomunicações Testes:5/43 Introdução (5) 1. Requisitos Exemplo de programa/plano de testes i. Pré-condições (espaço de dados admissível no início do programa) ii. O programa aceita à entrada um caracter ord e vector A[0..N], no qual: ord = 'S' OU ord = 'P' N 0 # o vector tem, pelo menos 1 elemento Os elementos A[0..N] são inteiros Pós-condições (propriedade satisfeita após execução do programa) O programa calcula a soma, ou o produto, dos valores A[0..N] conforme ord seja igual a, respectivamente, 'S' e 'P'. Prof RG Crespo Software Telecomunicações Testes:6/43
4 Introdução (6) 2. Programa (NB! implementação incorrecta) int calc(char ord; int A[ ],N;) { int result = 0; int index; for(index=0; index<n; index++) { if (ord=='s') result=result+a[index]; else result=result*a[index]; } return result; } 3. Plano de testes: deve incluir casos normais (extremos e intermédios) e situações erróneas. Prof RG Crespo Software Telecomunicações Testes:7/43 Introdução (7) Pré-condições Parâmetros Pós-condições Observado N Ord A[0..N] res 3 'S' 0,5, 'S' 'P' 'P' 1,7, 'T' 1,15,10 erro 0 Os testes revelam defeitos no tratamento dos valores de ORD diferentes de 'S'. Prof RG Crespo Software Telecomunicações Testes:8/43
5 Introdução (7) O modelo do ciclo de testes tem, por base, o modelo do processo de software de cascata. Erros Requisitos Erros Defeitos Arquitectura Erros Defeitos Codificação Defeitos Teste Resolução Isolamento Classificação Incidente Prof RG Crespo Software Telecomunicações Testes:9/43 Introdução (8) O plano de testes é identificado segundo uma abordagem: 1. Funcional ( black-box ): o sistema é considerado uma caixa negra, cujas saídas são função da entrada entrada Programa saída 2. Estruturada ( white-box ): escolhem-se casos de teste que exercitem, idealmente, todo o código. Prof RG Crespo Software Telecomunicações Testes:10/43
6 Introdução (9) Para exemplificar cada abordagem, é usado um programa classificador de triângulos. Programa: Classificador de triângulos Entrada: 3 números, separados por vírgulas, correspondentes às dimensões dos três lados Saída: Cadeia de caracteres indicativa da classificação Algoritmo: Se a dimensão de um lado for superior à soma das dimensões dos outros dois lados, escrever "Não é triângulo". Caso seja um triângulo válido, escrever a classificação do triângulo consoantes os lados sejam todos diferentes ("Escaleno"), dois iguais ("Isósceles") ou todos iguais ("Equilátero"). Prof RG Crespo Software Telecomunicações Testes:11/43 Abordagem funcional (1) A partir dos requisitos, o comportamento da aplicação informática é dividido em partições. A bateria de testes é gerada seguindo os passos seguintes: 1. Cada partição do comportamento é posto à prova por um único teste 2. Gerados testes que cubram situações habituais de ocorrência de defeitos, tais como tratamento dos dados de entrada incorrectos e dados mal formatados Há 3 métodos de gerar a bateria de testes segundo a abordagem funcional: Análise de valores fronteiros Classes de equivalência Tabelas de decisão Elevado Esforço de identificação de testes Baixo Valores fronteiros Classes de equivalência Tabelas de decisão Prof RG Crespo Software Telecomunicações Testes:12/43
7 Abordagem funcional (2) Vantagens da abordagem funcional Independentes da implementação: a bateria de testes pode ser reutilizada quando a implementação é alterada. Testes modulares podem ser executados em paralelo com a codificação. Inconvenientes da abordagem funcional Redundância de testes. Não garante teste a todas as sequências de código. Prof RG Crespo Software Telecomunicações Testes:13/43 Valores fronteiros (1) Uma percentagem muito significativa de erros ocorre em valores fronteiros ( boundary values ). Exemplos: teste de ciclo < quando devia ser, contador cujo valor está deslocado de uma unidade, Com base nos limites, a cada entrada x i, é identificado o conjunto de valores Mínimo-x min Imediatamente acima do mínimo-x min+ Nominal-x nom Imediatamente abaixo do máximo-x max- Máximo-x max Prof RG Crespo Software Telecomunicações Testes:14/43
8 Valores fronteiros (2) A ferramenta T gera automaticamente os valores, a partir da especificação de um programa e é usada em diversos CASE como Teamwork da Cadre e Software Trough Pictures da Interactive Development Environments. Existem 4 métodos de geração da bateria de testes, usando a análise de valores fronteiros: Básico Robusto Teste aos piores casos Robustez nos piores casos Prof RG Crespo Software Telecomunicações Testes:15/43 Valores fronteiros (3) AF.1 Análise básica Baseada no pressuposto da teoria da fiabilidade de "defeito singular": falhas no sistema raramente são resultado de dois (ou mais) defeitos. Funciona bem apenas quando o programa a testar é função de variáveis independentes, cada uma representando quantidades físicas limitadas. Nas combinações de teste, todas as variáveis excepto uma, tomam o valor nominal e a restantes variáveis assumem todos os valores extremos. Para n variáveis, a análise básica gera 4n+1 casos. Exemplo: Consideremos uma função F(x1,x2), na qual os parâmetros são limitados a x1 b, c x2 d. A bateria de testes para F(x1,x2) são: x {<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>, <x1nom,x2max>,<x1nom,x2max>, <x1min,x2nom>, <x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>} Prof RG Crespo Software Telecomunicações Testes:16/43 2 d c a b x 1
9 Valores fronteiros (4) Para o classificador de triângulos, os três parâmetros são limitados inferiormente a 1. Não há limite superior, mas arbitra-se o valor 200. Os valores de teste são: min=1, min+=2, nom=100, max-=199, max=200. Para este exemplo, a análise de valores fronteiros não testa o caso do triângulo escaleno (ex: a=2, b=200, c=199). Prof RG Crespo Software Telecomunicações Testes:17/43 Valores fronteiros (5) ID a b c Resultado AVF Isósceles AVF Isósceles AVF Equilátero AVF Isósceles AVF Não é triângulo AVF Isósceles AVF Isósceles AVF8 Teste AVF3 AVF Isósceles AVF Não é triângulo AVF Isósceles AVF Isósceles AVF13 Teste AVF3 AVF Isósceles AVF Não é triângulo Prof RG Crespo Software Telecomunicações Testes:18/43
10 Valores fronteiros (6) AF.2 Análise robusta É extensão da análise básica. Para além dos 5 valores da análise básica, são utilizados valores que ultrapassam ligeiramente (max+) ou ficam aquém ligeiramente (min-). O teste à robustez incide no tratamento de excepções (ex: ângulo de asa do avião ultrapassar dado limite, exceder capacidade do elevador, data fixada a 31 Fevereiro, ). O teste de robustez é uma boa escolha para teste de variáveis internas ao sistema, ou variáveis auxiliares. x 2 d c a b x 1 Prof RG Crespo Software Telecomunicações Testes:19/43 Valores fronteiros (7) AF.3 Teste aos piores casos A bateria de testes é gerada pelo produto cartesiano das variáveis assumindo os 5 valores min, min+, nom, max- e max. Para n variáveis, a bateria de testes aos piores casos gera 5 n testes distintos (ex: para classificador de triângulos, a bateria de testes contém 5 3 =125 casos). As combinações de teste geradas no teste aos piores casos focam nas situações em que mais de uma variável toma valores extremos. AF.4 Teste robustez aos piores casos No teste de robustez aos piores casos, o plano de teste é formado pelo produto cartesiano das variáveis assumindo 7 valores. Ao todo, são gerados 7 n testes distintos (ex: para classificador de triângulos, a bateria de testes contém 7 3 =343 casos). Prof RG Crespo Software Telecomunicações Testes:20/43 x 2 d c a b x 1
11 Classes de equivalência (1) O método de classes de equivalência tem por objectivo a completude dos testes, evitando a redundância. Uma relação R A 2 é uma relação de equivalência sse R é reflexiva, simétrica e transitiva (ex: relações de igualdade e congruência) Dada uma relação de equivalência, pode-se definir subconjuntos formados pelos elementos relacionados entre si: os subconjuntos constituem partições induzidas pela relação de equivalência. Ex: Seja o conjunto N e a relação de equivalência módulo 3. As partições induzidas são {{0,3,6,...}, {1,4,7,...}, {2,5,8,...}}. A escolha da relação de equivalência é determinante na identificação da bateria de testes! Uma boa selecção de classes de equivalência reduz a redundância nos testes. Prof RG Crespo Software Telecomunicações Testes:21/43 Classes de equivalência (2) As combinações de teste são geradas pelo seguinte algoritmo: 1. Identificar as classes de equivalência em termos de validade. Para cada parâmetro, determinar as gamas de valores válidos e inválidos. 2. Gerar testes para todas as combinações possíveis de um valor da classe de equivalência para cada parâmetro. 3. Gerar testes para todas as combinações possíveis de um valor inválido para um parâmetro e um valor válido para os restantes parâmetros. Vantagens das classes de equivalência Útil para teste de funções complexas. Orientado para a completude. Inconvenientes das classes de equivalência Identificação das classes exige conhecimento da (provável) implementação. Parâmetros devem ser independentes entre si: caso contrário, são geradas situações de "erro". Prof RG Crespo Software Telecomunicações Testes:22/43
12 Classes de equivalência (3) Há 3 métodos de gerar a bateria de testes segundo as classes de equivalência, de acordo com as combinações dos elementos de cada partição: Equivalência fraca Equivalência forte Validação Exemplo: consideremos o programa fomado por 3 variáveis a:a, b:b, c:c e que são identificadas as seguintes partições dos domínios: A = A1 A2 A3 B = B1 B2 B3 B4 C = C1 C2 Prof RG Crespo Software Telecomunicações Testes:23/43 Classes de equivalência (4) CE.1 Equivalência fraca As variáveis têm valores em sucessão de cada uma das partições. Se os domínios tiverem menor número de partições, a sucessão regressa à ordem inicial. O número de testes é igual ao número de classes da maior partição. ID a b c WE1 a1 b1 c1 WE2 a2 b2 c2 WE3 a3 b3 c1 WE4 a1 b4 c2 Prof RG Crespo Software Telecomunicações Testes:24/43
13 Classes de equivalência (5) CE.2 Equivalência forte Bateria de testes construída pelo produto cartesiano das classes de partições. O número de testes é igual ao produto do número de classes de cada partição (no exemplo, 3*4*2=24). ID a b c SE1 a1 b1 c1 SE2 a1 b1 c2 SE3 a1 b2 c1 SE4 a1 b2 c2 SE5 a1 b3 c1 SE6 a1 b3 c2 SE7 a1 b4 c1 SE8 a1 b4 c2 SE9 a2 b1 c1 SE10 a2 b1 c2 SE11 a2 b2 c1 SE12 a2 b2 c2 SE13 a2 b3 c1 SE14 a2 b3 c2 SE15 a2 b4 c1 SE16 a2 b4 c2 SE17 a3 b1 c1 SE18 a3 b1 c2 SE19 a3 b2 c1 SE20 a3 b2 c2 SE21 a3 b3 c1 SE22 a3 b3 c2 SE23 a3 b4 c1 SE24 a3 b4 c2 Prof RG Crespo Software Telecomunicações Testes:25/43 Classes de equivalência (6) CE.3 Validação Bateria de testes definida em termos de dados válidos e inválidos. Para entradas válidas, usar os valores da equivalência fraca Para entradas inválidas, usar para cada teste uma entrada inválida e as restantes entradas válidas. Testes de equivalência baseada na validação são usados em linguagens de programação não fortemente tipificadas, i.e., sem tipos gamas de dados (COBOL, FORTRAN, ) Prof RG Crespo Software Telecomunicações Testes:26/43
14 Classes de equivalência (7) Para o exemplo do classificador de triângulos Classes de equivalência identificadas com base nas relações de igualdade entre os parâmetros para triângulos válidos: D1={<a,b,c>: a=b=c} D2={<a,b,c>: a=b,a c} D3={<a,b,c>: a=c,a b} D4={<a,b,c>: b=c,a b} D5={<a,b,c>: a b,a c,b c} Classes de equivalência identificadas com base nas relações de igualdade entre os parâmetros para triângulos inválidos: D6a={<a,b,c>: a=b+c}, D6b={<a,b,c>: a>b+c} D7a={<a,b,c>: b=a+c}, D7b={<a,b,c>: b>a+c} D8a={<a,b,c>: c=a+b}, D8b={<a,b,c>: c>a+b} Prof RG Crespo Software Telecomunicações Testes:27/43 Classes de equivalência (8) ID a b c Resultado E Equilátero E Isósceles E Isósceles E Isósceles E Escaleno E6a Não é triângulo E6b Não é triângulo E7a Não é triângulo E7b Não é triângulo E8a Não é triângulo E8b Não é triângulo Prof RG Crespo Software Telecomunicações Testes:28/43
15 Tabelas de decisão (1) As tabelas de decisão baseam-se nos relacionamentos lógicos entre as partições de uma aplicação informática. Canto superior esquerdo: condições descritoras dos estados possíveis dos parâmetros Canto inferior esquerdo: acções da aplicação informática observadas externamente Colunas do lado direito (regras): condições descritas na parte superior (/N) desencadeiam as acções marcadas (X). Várias condições podem ser verdadeiras, ou falsas, em simultâneo. Para determinadas condições, mais do que uma acção pode ser desencadeada pela aplicação informática. Prof RG Crespo Software Telecomunicações Testes:29/43 Tabelas de decisão (2) As combinações de teste são geradas para as condições de cada regra que não resultem em acções impossíveis. Vantagens do teste por tabelas de decisão Útil para teste de programas onde várias accções são executadas perante um conjunto variável de condições Força rigor lógico na fase de requisitos/arquitectura Inconveniente do teste por tabelas de decisão Apresenta problemas de escala (n condições implicam 2 n regras). Prof RG Crespo Software Telecomunicações Testes:30/43
16 Tabelas de decisão (3) c1: a<b+c c2: b<a+c c3: c<a+b c4: a=b c5: a=c c6: b=c a1: Não é um triângulo a2: Escaleno a3: Isósceles a4: Equilátero a5: Impossível Condições de entrada Acções N X N N X X X N N N N X X X N N N X X X N N N N N X A acção a5 é executada nos casos de violação da propriedade da transitividade (na qual, se x=y e y=z, então x=z). Prof RG Crespo Software Telecomunicações Testes:31/43 Tabelas de decisão (4) ID a b c Resultado TD Não é triângulo TD Não é triângulo TD Não é triângulo TD Equilátero TD Isósceles TD Isósceles TD Isósceles TD Escaleno Prof RG Crespo Software Telecomunicações Testes:32/43
17 Abordagem estrutural (1) A abordagem estrutural baseia-se na estrutura do programa e não na sua definição. São escolhidos casos de teste que exercitem, idealmente, todo o código. Os métodos estruturais parte da identificação do grafo (direccionado) do programa, em que: Nós representam blocos básicos (sequência de instruções, para a qual há apenas um ponto de entrada e um de saída) Arcos representam fluxo do controlo de execução É assumido o aluno ter conhecimento básico de grafos, (matéria de Algoritmos e Estruturas de Dados/MEEC) Prof RG Crespo Software Telecomunicações Testes:33/43 Abordagem estrutural (2) Algoritmo de identificação dos blocos básicos 1. Identificar os cabeçalhos dos blocos básicos i. A primeira instrução do programa é cabeçalho de um bloco básico ii. Todas as instruções que são alvo de saltos (condicionais ou incondicionais) são cabeçalho de um bloco básico. iii. Todas as instruções que seguem um salto (condicional ou incondicional) são cabeçalho de um bloco básico. 2. Os blocos básicos iniciam-se nos cabeçalhos identificados em 1) e acabam antes do cabeçalho de bloco seguinte ou final do programa São consideradas instruções de salto e não chamadas a rotinas porque nas segundas apenas há um caminho de ida e regresso Prof RG Crespo Software Telecomunicações Testes:34/43
18 Abordagem estrutural (3) Instruções IF-THEN-ELSE e DO-WHILE executadas com auxílio de saltos. IF cond THEN block b ELSE block c DO WHILE cond block stat stat cond cond block b True: goto block goto True: block c False: False: Os endereços alvo de instruções de salto são: A primeira instrução dos blocos block b e block c A primeira instrução de stat Os endereços alvo de instruções de salto são: A primeira instrução do bloco block e stat A primeira instrução de DO WHILE cond Prof RG Crespo Software Telecomunicações Testes:35/43 Abordagem estrutural (4) Grafos correspondentes a diversas estruturas sintácticas de linguagens de programação imperativa Sequência Ciclo pré-testado Ciclo repeat If-Then If-Then-Else Case Prof RG Crespo Software Telecomunicações Testes:36/43
19 Abordagem estrutural (5) /* 1 */ void function triangle () { /* 2 */ int a,b,c; /* 3 */ enum {FALSE, TRUE} istriangle; /* 4 */ printf( Introduza o comprimento dos tres lados do triangulo ); /* 5 */ scanf( %d %d %d,&a,&b,&c); /* 6 */ if (a<b+c && b<a+c && c<a+b) /* 7 */ istriangle=true; /* 8 */ else istriangle=false; /* 9 */ if (istriangle) /* 10 */ { /* 11 */ if (a==b && b==c) K /* 12 */ printf( Equilatero\n ); /* 13 */ else if (a!=b && a!=c && b!=c) /* 14 */ printf( Escaleno\n ); /* 15 */ else printf( Isosceles\n ); /* 16 */ } /* 17 */ else printf( Nao e um triangulo\n ); /* 18 */ } Prof RG Crespo Software Telecomunicações Testes:37/43 B L A D F J C E H G I Abordagem estrutural (6) Os inícios de blocos são listados na tabela Caso Início de programa 4 Instruções End. alvo de instrução de salto 9,8,13,15,16,17,18 Instrução seguinte a instrução de salto 7,10,12,14 Os blocos básicos são formados por: {A}4-6, {B}7, {C}8, {D}9, {E}10-11, {F}12, {G}13, {H}14, {I}15, {J}16, {K}17, {L}18 Um grafo de programa, definido por blocos básicos é denominado grafo DD (decisão-decisão): corresponde a uma condensação do grafo de instruções. Prof RG Crespo Software Telecomunicações Testes:38/43
20 Abordagem estrutural (7) Há 4 métodos de geração da bateria de testes segundo a abordagem estrutural: Grafo DD (Decisão-Decisão) Grafo DU (Decisão-Uso) Caminhos básicos Fatia Esforço de identificação de testes Elevado Baixo DD Base DU Fatia Prof RG Crespo Software Telecomunicações Testes:39/43 Caminhos básicos (1) Caminho independente: sequência de instruções que possui um subconjunto (aresta) totalmente que não é percorrida pelos caminhos restantes. McCabe propôs uma métrica de complexidade, que determina o número máximo de caminhos independentes. V(G) = nº predicados +1 Uma vez que todos os outros caminhos do grafo são combinações de caminhos independentes, V(G) é o limite inferior de testes de caminhos. Prof RG Crespo Software Telecomunicações Testes:40/43
21 Caminhos básicos (2) Para o programa classificador de triângulos, os predicados são Nó True False A a<b+c && b<a+c && c<a+b a>=b+c b>=a+c c>=a+b D mesmo que A mesmo que A E a==b && b==c a!= b b!= c G a!=b && a!=c && b!=c a==b a==c b==c V(G) = 4 +1= 5 Na realidade há apenas 4 caminhos independentes, porque os testes A e D são iguais) Prof RG Crespo Software Telecomunicações Testes:41/43 Caminhos básicos (2) Para identificar a bateria de testes, McCabe propõe o método 1. Escolher um caminho base, correspondente a uma execução normal, com o maior número possível nós de decisão. 2. O caminho base é alterado para ramos alternativos nos nós em que outdeg 2. Para o programa classificador de triângulos, os caminhos são: A. Caminho base (o mais longo): A-B-D-E-G-H-J-L Condições a satisfazer: A=true (a<b+c && b<a+c && c<a+b) E=false (a!=b b!= c) G=true (a!= b && a!= c && b!= c) Entrada: a=2, b=3, c=4: Saída: escaleno Prof RG Crespo Software Telecomunicações Testes:42/43
22 Caminhos básicos (2) A. Alternativa no nó A: A-C-D-K-L Condições a satisfazer: A=false (a>=b+c b>=a+c c<a+b) Entrada: a=1, b=2, c=5; Saída: não é triângulo B. Alternativa no nó E: A-B-D-E-F-J-L Condições a satisfazer: A=true (a<b+c && b<a+c && c<a+b) E=true (a==b && b==c) Entrada: a=4, b=4, c=4; Saída: equiláterio C. Alternativa no nó G: A-B-D-E-G-I-J-L Condições a satisfazer: A=true (a<b+c && b<a+c && c<a+b) E=false (a!=b b!= c) G=false (a == b a == c b == c) Entrada: a=2, b=4, c=4; Saída: isósceles Prof RG Crespo Software Telecomunicações Testes:43/43
Programação de Sistemas. Introdução aos testes
Programação de Sistemas Introdução aos testes Introdução (1) 1. Prova formal da correcção de programas Complexo, exigindo conhecimentos de matemática. O método de verificação de modelos ( model checking
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 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 maisTestes 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 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 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 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 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 maisCapítulo III : A Linguagem Pascal Estruturas de Controlo
Capítulo III : A Linguagem Pascal Estruturas de Controlo 1 Capítulo III : A Linguagem Pascal Estruturas de Controlo Sequência Estruturas de Base Selecção Repetição Sub-Programas Alternativa Múltipla Enquanto
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. 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 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 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 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 maisAula 01. Programação Condicional Programação repetitiva
Logo Aula 01 Programação Condicional Programação repetitiva 2 Programação Condicional Uma programação condicional, como o próprio nome já diz, permite que determinadas instruções sejam executadas ou não,
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 maisAlgoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...
Algoritmos e Lógica de Programação 80 horas // 4 h/semana Estrutura Condicional: aninhada, seleção de casos e outras. Aula 06 Prof. Piva Exercício... Faça um algoritmo que leia dois números inteiros e
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 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 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 maisCapítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
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 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 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 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 maisA linguagem C (visão histórica)
A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,
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 maisLógica de Hoare. Abordagem que usaremos: aplicar o método de Hoare sobre uma linguagem de programação imperativa simplificada.
Lógica de Hoare Método axiomático para provar que determinados programas são corretos. Introduzido em 1969 por Charles Antony Richard Hoare. Também utilizado para especificar a semântica de linguagens
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia maisCompiladores. Análise Léxica
Compiladores Análise Léxica Cristiano Lehrer, M.Sc. Introdução (1/3) Análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é: Fazer a leitura do programa
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 maisInstruções condicionais
Folha Prática Instruções condicionais 1 Instruções condicionais - Indentação e comentários para facilitar a leitura e compreensão do código escrito em C. - Relação entre algoritmo e programa. - Correspondência
Leia maisLINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL
LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL Prof. André Backes FLUXOGRAMAS Condição ou Decisão Representado por losangos Normalmente contém uma pergunta do tipo Sim/Não ou um teste de Verdadeiro/Falso.
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 mais2.2.5 EXPRESSÕES - Regras para o cálculo de valores
Métodos de Programação I Departamento de Matemática, FCTUC 30 2.2.5 EXPRESSÕES - Regras para o cálculo de valores As expressões fornecidas ao computador, quer tenham variáveis, constantes ou apenas literais,
Leia maisTeste de Validação. ações visíveis ao usuário e entradas e saídas do sistema reconhecíveis pelo usuário
Testes Teste de Validação Objetivos: Garantir que... 1)... todos os requisitos funcionais sejam satisfeitos 2)... todas as características comportamentais sejam obtidas 3)... todos os requisitos de desempenho
Leia maisESTRUTURAS DE CONTROLE
ESTRUTURAS DE CONTROLE ESTRUTURA SEQUENCIAL E ESTRUTURAS CONDICIONAIS Introdução à Ciência da Computação Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples
Leia maisEngenharia Civil. Introdução à Programação
Engenharia Civil Introdução à Programação Como se faz um algoritmo computacional? Exemplo Exemplo Será que o algoritmo vai funcionar? Questões: Área de uma circunferência programa area AREA, RAIO: real
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 maisLinguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
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.4. Estruturas de Controle 3.4.1. Comandos
Leia maisESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza
ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura
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 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 mais4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos
46 4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos Para definir a representação de um modelo para problemas de planejamento
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
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 maisLinguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisIntrodução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius
Leia maisC Comandos de Controle
C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de
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 maisCompilador de LP3 para C3E e P3
Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem
Leia maisTeste de Software Parte 2. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016
Teste de Software Parte 2 Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Técnica Estrutural (Caixa Branca) Ø Baseada no conhecimento da estrutura interna (implementação) do
Leia maisEngenharia de Software
Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação
Leia maisRecursividade, Tentativa e Erro
Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas
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 maisProgramação Estruturada
Programação Estruturada Estruturas condicionais Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Comandos condicionais
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 maisFicha de Avaliação Sumativa. Notas Gerais:
Ficha de Avaliação Sumativa EFA Tecnológico - Técnico de Informática e Sistemas UFCD:0783 Programação em C C++ - Ciclos e Decisões Duração: 150 minutos Nome Formando: Data: / / Formador: João Leitão :
Leia maisUm algoritmo deve conter passos não ambíguos, executáveis e que sejam terminados quando seguidos.
Programação Um programa é uma sequência de instruções de uma linguagem de programação (VB no nosso caso). Cada instrução representa uma qualquer acção que nós pretendemos ver executada. Programar consiste
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 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 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 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 maisC Comandos de Controle
C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Comandos
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 maisMétodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
Leia maisLINGUAGEM C: COMANDOS DE REPETIÇÃO
LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições
Leia maisAula Anterior. Decomposição algorítmica (continuação)
Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada
Leia maisTeste de Software Parte 2. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Teste de Software Parte 2 Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Técnica Estrutural (Caixa Branca) Ø Baseada no conhecimento da estrutura interna (implementação) do
Leia mais& somadosnumeros = valor
Correção exercícios Exercício 1 Exercício 2 a) scanf( %d", &valor); b) printf("o produto de %d e %d e %d\n", x, y, z) ; c) somadosnumeros = primeironumero + segundonumero d) /* Programa para determinar
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 maisAulas Anteriores. Detalhes da linguagem de programação
Aulas Anteriores Detalhes da linguagem de programação Elementos básicos (identificadores, constantes, símbolos gráficos) Estrutura básica de um programa (cabeçalho, parte declarativa, parte de execução)
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação.
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 maisExpressões e sentença de atribuição
Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisIEC081 Introdução à Ciência dos Computadores Estruturas Condicionais em Linguagem C
IEC081 Introdução à Ciência dos Computadores Estruturas Condicionais em Linguagem C Turma: 01A / 01B / 01C Professor: abíola Nakamura E-mail: fabiola@icomp.ufam.edu.br Página: iccufam.weebly.com Resolução
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 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 maisIntrodução à Programação
Introdução à Programação Instruções condicionais e Operadores Sumário Instruções Condicionais If Switch Precedência dos operadores 1 Instruções condicionais A condição if executa uma instrução caso a expressão
Leia maisALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com ALGORITMOS Em nosso cotidiano muitas situações requerem uma tomada de decisão,
Leia maisConceitos básicos de programação
Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe
Leia maisMatemática Discreta Parte 11
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta Parte 11 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti
Leia maisConhecendo a Linguagem de Programação C
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como
Leia maisApêndice 1. Recomendações para testes de módulos
Recomendações para testes de módulos - 1 Apêndice 1. Recomendações para testes de módulos O presente conjunto de recomendações tem por objetivo definir um conjunto mínimo de critérios de seleção de casos
Leia maisLINGUAGEM C CONTROLE DE FLUXO
LINGUAGEM C CONTROLE DE FLUXO Introdução à Programação Prof. Cayo Fontana SUMÁRIO Instruções Condicionais Simples Composta Seleção Instruções de Repetição Instruções de Desvio INSTRUÇÕES CONDICIONAIS Praticamente
Leia maisEngenharia de Software
UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 4 de Abril de 2017 Duração: 60 minutos Nome: Número: Este teste tem um conjunto de 8
Leia maisCorreção do 1º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 30 de Junho de 2006, 2º Semestre
Correção do º Exame de INTRODUÇÃO À PROGRAMAÇÃO Licenciatura em Engenharia Mecânica 3 de Junho de 26, 2º Semestre. (2.) Perguntas de resposta rápida de Fortran (.4 valores cada).. Todos os componentes
Leia maisLinguagens de Programação. Marco A L Barbosa
Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisCapítulo 1: Alfabetos, cadeias, linguagens
Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de
Leia maisTeste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento
Teste de Software 3 Teste de Software Objetivo: Executar software para revelar erros/falhas ainda não descobertos Pode gastar 40% do esforço de desenvolvimento 2 Teste de Software Defeito (fault, defects)
Leia maisSSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos
Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Mais um tipo numérico print() formatado: clássico pythônico Tuplas
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 maisIntrodução à Programação em C
Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções
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 maisRESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:
Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,
Leia mais