Lições Aprendidas sobre Testes
|
|
- Kléber Cavalheiro Gabeira
- 8 Há anos
- Visualizações:
Transcrição
1 Lições Aprendidas sobre Testes Danilo Sato Rails Summit Latin America 16/Out/2008
2 Um pouco sobre vocês Será que estou na palestra certa?
3 Minha história com testes automatizados
4 Era uma vez
5 Era uma vez printf("passou 1\n"); printf("valor: %s\n",!
6 Era uma vez printf("passou 1\n"); printf("valor: %s\n",!
7 xunit! XP Kent Beck! Automatizar passos manuais! Você não quebra o que já está funcionando
8 Test::Unit! Classe que estende Test::Unit::TestCase! Métodos devem começar com "test"! Asserções:! assert(bool)!! assert_equal(expected, actual)!! assert_raise(args, blk)!! assert_nil(actual)!!!
9 require 'rubygems'" require 'test/unit'" require 'lib/card'" class CardTest < Test::Unit::TestCase" def test_equal" assert Card.new('QS') == Card.new('QC')" end" def test_greater" assert Card.new('AS') > Card.new('KH')" end" def test_lower" assert Card.new('TD') < Card.new('JH')" end" end
10 StrutsTestCase + AspectJ! Gravador de testes!! Gera as classes de teste pra você!
11 Primeiros Erros! Testes imensos! Várias asserções no mesmo cenário! Erros não ajudam muito! Debuggar o teste
12 Primeiras Lições! Testes grandes são difíceis de manter! Mas é bom cobrir a funcionalidade do ponto de vista externo Código de teste também é Código
13 ! RCov! Quais linhas estão sendo executadas pelos testes?! Objetivo: 100% Cobertura de Código
14 Cuidado!! Cobertura não garante qualidade dos testes!! Heckle: Mutação
15 ! Arrange-Act-Assert Testes Pequenos! Single Assertion per Test
16 E mais problemas! setup enormes! Carrega e limpa o banco de dados! E os métodos estáticos?
17 Test-Driven Development
18 Test-Driven Development
19 Testes Ajudam no Design! Refatoração! Maus Cheiros! YAGNI! Design Evolutivo
20 Testes Comunicam Intenção! Documentação Executável! Legibilidade é importante! Lemos mais código do que escrevemos
21 require 'rubygems'" require 'test/unit'" require 'lib/card'" class CardTest < Test::Unit::TestCase" def test_equal" assert Card.new('QS') == Card.new('QC')" end" def test_greater" assert Card.new('AS') > Card.new('KH')" end" def test_lower" assert Card.new('TD') < Card.new('JH')" end" end
22 RSpec require 'rubygems'" require 'spec'" require 'lib/card'" describe Card do" it 'should compare based on rank' do" Card.new('AS').should > Card.new('KH')" Card.new('QS').should == Card.new('QC')" Card.new('TD').should < Card.new('JH')" end" end!
23 Mais algumas lições Se está difícil de testar, provavelmente seu design precisa evoluir Use o código de teste para comunicar suas intenções atuais para o você do futuro (e seus colegas também)
24 Testes Unitários! Integridade Interna! Rápidos! Independentes! Desacoplados! Escrito por e para desenvolvedores! Não indicam integridade externa
25 Visão Mais Ampla
26 Histórias! Como <papel/usuário>! Eu gostaria de <funcionalidade>! Pois <valor de negócio>
27 Cenários (Exemplos)! Dado <contexto>! Quando <evento>! Então <consequência>
28 Story: I can rank poker hands" As a game player" I want to rank a poker hand" So that I can decide a winner for the prize" Scenario: Straight flush wins Four of a kind" Given a black hand with cards: 2H 3H 4H 5H 6H" And a white hand with cards: AC AH AD AS KC" Then black should win" Scenario: Four of a kind wins Full house" Given a white hand with cards: 2C 2H 2D 2S AC" And a black hand with cards: AC AH AD KS KC" Then white should win" Scenario: Full house wins Flush" Given a black hand with cards: 2C 2H 2S 3C 3S" And a white hand with cards: 4C 8C TC KC AC" Then black should win
29 require 'rubygems'" require 'spec/story'" require 'lib/hand'" require 'lib/card'" steps_for :poker do" Given "a $color hand with cards: $cards" do color, cards " instance_eval = Hand.new('#{cards}')"" end" Then ("black should win") }" Then ("white should win") }" Then ("tie") }" end" with_steps_for :poker do" Dir["**/*.story"].each { file run file }" end
30 ! Novo Story Runner Cucumber! Histórias em Português! Funcionalidade: Adição! Como um péssimo matemático" Eu quero saber saomr dois números! Para evitar erros bobos" Cenário: Adicionar dois números! Dado que eu digitei 50 na calculadora" E que eu digitei 70 na calculadora" Quando eu aperto o botão de soma! Então o resultado na calculadora deve ser 120
31 require 'spec " class Calculadora" def = << n" end " def { n,sum sum+n}; end" end" Before = Calculadora.new }" Given /que eu digitei (\d+) na calculadora/ do n.to_i! end " When 'eu aperto o botão de soma end " Then(/o resultado na calculadora deve ser (\d*)/) { == result.to_i }
32
33 Testes de Aceitação! Integridade Externa! Mais lentos! Acoplados! Mais difícil detectar causa de erros! Escrito para clientes! Não indicam integridade interna
34 ! Dirige o browser como se um usuário estivesse navegando as páginas! Várias ferramentas:! Selenium IDE! Selenium RC! Selenium on Rails! Selenium Grid* Selenium * Você está curioso? Vá para a palestra do lado!
35
36
37 Testes Unitários
38 Testes de Aceitação
39
40
41 ?
42 Integração
43 Mock! Permitem especificar interações! Trocam o objeto real por um dublê! Verificam se as expectativas foram atendidas! Substituem:! Objetos gordos! Serviços externos! Bibliotecas (não quero testar se o gem funciona)!
44
45 RSpec # Expectativas" band.should_receive(:rock)" band.should_not_receive(:pause)" # Quantidade de chamadas" guitar.should_receive(:tune).once" guitar.should_receive(:play).at_least(3).times" # Argumentos" guitar.should_receive(:strum_chord).with("e")" guitar.should_receive(:strum_chord).with(:anything)" # Valores de Retorno" band.should_receive(:rocking?).and_return(true)" band.should_receive(:stop).and_raise(cantstoprocking)
46 # Expectativas" band.expects(:rock)" band.expects(:pause).never" Mocha # Quantidade de chamadas" guitar.expects(:tune).once" guitar.expects(:play).at_least(3) " # Argumentos" guitar.expects(:strum_chord).with("e")" guitar.expects(:strum_chord).with(:anything)" # Valores de Retorno" band.expects(:rocking?).returns(true)" band.expects(:stop).raises(cantstoprocking)
47 Stubs! Dublês que não verificam expectativas! Não se importam com o que aconteceu # RSpec" band.stub!(:autograph).and_return('signature')" Guitar.stub!(:find).and_return(guitar)" # Mocha" band.stubs(:autograph).returns('signature')" Guitar.stubs(:find).returns(guitar)
48 Meus erros com mocks/stubs! Precisar gravar muitas expectativas! Muito acoplado com implementação! Muitos stubs poucos mocks! Mockar o próprio objeto! Testes podem passar com o sistema quebrado
49 ! Mock Roles not Objects [OOPSLA04]! Use mocks para desacoplar testes! Cuidado com mock de bibliotecas externas! Use um Adapter! Mocks não tiram o valor dos testes acoplados! CRC com testes Lições sobre mocks
50 class DataBranderTest < Test::Unit::TestCase" def test_saves_branded_to_storage" storage = Storage.new 'whatever'" storage.expects(:save).with('metal - rock')" DataBrander.new(storage).save_branded('rock')" end " end! class DataBrander" BRAND = "METAL"" def = storage" end" def "#{BRAND} - #{data}"" end" end!
51 class DataBranderTest < Test::Unit::TestCase" def test_saves_branded_to_storage" storage = Storage.new 'whatever'" storage.expects(:save).with('metal - rock')" DataBrander.new(storage).save_branded('rock')" end " end! class DataBrander" BRAND = "METAL"" def = storage" end" def "#{BRAND} - #{data}"" end" end!
52 class StorageTest < Test::Unit::TestCase" def test_saves_to_file" Storage.new('test.txt').save('rock')" assert_equal 'rock', File.read('test.txt')" ensure" FileUtils.rm_f('test.txt')" end" end class Storage" def = filename" end" def save(val)" File.open(@filename, 'w') { f f << val}" end" end!
53 class StorageTest < Test::Unit::TestCase" def test_saves_to_file" Storage.new('test.txt').save('rock')" assert_equal 'rock', File.read('test.txt')" ensure" FileUtils.rm_f('test.txt')" end" end class Storage" def = filename" end" def save(val)" File.open(@filename, 'w') { f f << val}" end" end!
54 class StorageTest < Test::Unit::TestCase" def test_saves_to_file" Storage.new('test.txt').save('rock', 'w')" assert_equal 'rock', File.read('test.txt')" ensure" FileUtils.rm_f('test.txt')" end" end class Storage" def = filename" end" def save(val, mode)" File.open(@filename, mode) { f f << val}" end" end!
55 class StorageTest < Test::Unit::TestCase" def test_saves_to_file" Storage.new('test.txt').save('rock', 'w')" assert_equal 'rock', File.read('test.txt')" ensure" FileUtils.rm_f('test.txt')" end" end class Storage" def = filename" end" def save(val, mode)" File.open(@filename, mode) { f f << val}" end" end!
56 storage = Storage.new("hello.txt")" data_brander = DataBrander.new(storage)" data_brander.save_branded('hello')!
57 storage = Storage.new("hello.txt")" data_brander = DataBrander.new(storage)" data_brander.save_branded('hello')!
58 Synthesis
59 class DataBranderTest < Test::Unit::TestCase" def test_saves_branded_to_storage" storage = Storage.new 'whatever'" storage.expects(:save).with('metal rock', 'w')" DataBrander.new(storage).save_branded('rock')" end " end! class DataBrander" BRAND = "METAL"" def = storage" end" def "#{BRAND} - #{data}", 'w'" end" end!
60 Synthesis
61 Synthesis! Cobertura de mocks! Testes acoplados somente nas bordas! Feedback rápido sobre potenciais erros! Funciona com Rspec/Mocha/Expectations! Tarefa Rake: Synthesis::Task.new('synthesis:spec') do t " t.adapter = :rspec" t.pattern = 'test_project/rspec/*_spec.rb'" end!
62 Visualizações
63
64 Builds rápidos!
65 Behaviour-Driven Development! Um processo ponta-a-ponta de desenvolvimento! Independente de ferramenta! Outside-in
66 Normalmente
67 BDD
68 BDD
69 Momento para Refletir
70 Resumo! Testes Unitários! Cobertura de Código! TDD! Histórias e STDD! Testes de Aceitação! Selenium! Mocks/Stubs! Synthesis! BDD
71 Por que testar?
72 Custo de encontrar um erro
73 Feedback! Confiança! Erros são detectados rapidamente! Ajudam a saber quando terminamos! Pensar no design antes de implementar! Evita generalização desnecessária! Regressão automatizada
74 Build Quality In Work smarter, not harder -- Tom de Marco, Slack Inspecionar para previnir defeitos é bom; Inspecionar para encontrar defeitos é desperdício -- Shigeo Shingo, The Toyota Production System
75 Auto-Inspeção
76 Bugs Bugs são testes que você esqueceu de escrever! Resolva a Causa Raiz
77 Verificação e Validação
78 Obrigado! Perguntas?
Behaviour-Driven Development com RSpec e RSpec on Rails. Danilo Sato www.dtsato.com
Behaviour-Driven Development com RSpec e RSpec on Rails Danilo Sato www.dtsato.com 1 Quem sou eu? Graduação/Mestrado no IME/USP AgilCoop Fundador do Dojo@SP ThoughtWorks UK 2 Programar Testar Ponto de
Leia maisDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes Test-Driven Development (TDD) Guilherme Chapiewski http://gc.blog.br gc@mandic.com.br O que é TDD? Regras fundamentais do TDD: Escreva o teste da implementação ANTES de
Leia maisAgile Methods for the Traditional Guy
Agile Methods for the Traditional Guy Conexão Java 07 Danilo Sato www.dtsato.com (Agradecimento: Mariana Bravo) Danilo Sato BCC/Mestrado - IME/USP AgilCoop Fundador do Dojo@SP ThoughtWorks UK Modelo? Quem
Leia maisTrilha Agile TDD e 20 coisas que você precisa saber
Trilha Agile TDD e 20 coisas que você precisa saber Camilo Lopes Quem sou eu?! Trabalha com desenvolvimento de software desde 2003. Atualmente Desenvolvedor de Software na ADP Labs, escritor do livro "Guia
Leia maisDesenvolvimento Dirigido por Testes (TDD)
Desenvolvimento Dirigido por Testes (TDD) Cursos de Verão 2008 www.agilcoop.org.br Mariana & Paulo O que é Desenvolvimento Dirigido por Testes? Dúvidas? Copyleft AgilCoop 2008 2 Testes a priori Conhecer
Leia maisIntrodução ao TDD. Dionatan Moura. #guma10anos Abril de 2014. about.me/dionatanmoura
Introdução ao TDD #guma10anos Abril de 2014 Dionatan Moura about.me/dionatanmoura Introdução ao TDD Extreme Programming TDD Refatoração xunit Baby Steps Clean Code Patterns para TDD Red Bar Test Green
Leia maisO CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE
O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo
Leia maisDesenvolvimento Dirigido por Testes (TDD)
Desenvolvimento Dirigido por Testes (TDD) Cursos de Verão 2010 www.agilcoop.org.br Hugo Corbucci O que é Desenvolvimento Dirigido por Testes? Entenderam? Copyleft AgilCoop 2010 2 Testes a priori Conhecer
Leia maisTest-driven Development no Rails Começando seu projeto com o pé direito. 2007, Nando Vieira http://simplesideias.com.br
Test-driven Development no Rails Começando seu projeto com o pé direito 2007, Nando Vieira http://simplesideias.com.br O que iremos ver? slides = Array.new slides
Leia maisA Evolução de XP segundo Kent Beck Parte 2
A Evolução de XP segundo Kent Beck Parte 2 O que mudou nesses 5 anos? Danilo Toshiaki Sato dtsato@ime.usp.br Agenda PARTE 1 1. Introdução 2. O que é XP? 3. O que mudou em XP? Valores, Princípios e Práticas
Leia maisTESTES AUTOMATIZADOS COM JUNITE MOCKITO
TESTES AUTOMATIZADOS COM JUNITE MOCKITO Jaime William Dias 12, Dener Barranco 1, Douglas Delapria 1 1 Universidade Paranaense (Unipar) 2 Universidade Estadual de Maringá (UEM) Paranavaí PR Brasil dener_barranco@hotmail.com,
Leia maisXP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br
XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br Introdução Criada por Kent Baeck em 1996 durante o projeto Daimler Chrysler. O sucesso
Leia maisAprendendo a ESTUDAR. Ensino Fundamental II
Aprendendo a ESTUDAR Ensino Fundamental II INTRODUÇÃO Onde quer que haja mulheres e homens, há sempre o que fazer, há sempre o que ensinar, há sempre o que aprender. Paulo Freire DICAS EM AULA Cuide da
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega
Leia maisDesenvolvendo Software Livre com Programação extrema
Desenvolvendo Software Livre com Programação extrema Dairton Bassi FISL 7.0 abril/2006 Panorama sobre o Desenvolvimento de Software A sociedade demanda: Grande quantidade de sistemas/aplicações Sistemas
Leia maisO evento não fará uso do vídeo (webcam), somente slides e áudio. Se necessário, ajuste o idioma da sala na barra de ferramentas superior
1 Orientações iniciais Dê preferência ao uso de uma conexão de banda larga O evento não fará uso do vídeo (webcam), somente slides e áudio Se necessário, ajuste o idioma da sala na barra de ferramentas
Leia maisEstratégias para testes: a metáfora da pirâmide alimentar
Estratégias para testes: a metáfora da pirâmide alimentar Jorge Diz Instrutor Globalcode Kleber Xavier Instrutor Globalcode 1 Agenda > O que são testes? > Tipos de testes > A pirâmide de testes (Huggins)
Leia maisEngenharia de Software II
Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O
Leia maisOs desafios do Bradesco nas redes sociais
Os desafios do Bradesco nas redes sociais Atual gerente de redes sociais do Bradesco, Marcelo Salgado, de 31 anos, começou sua carreira no banco como operador de telemarketing em 2000. Ele foi um dos responsáveis
Leia maisSistemas de Informação I
+ Sistemas de Informação I Extreme Programming I Ricardo de Sousa Britto rbritto@ufpi.edu.br Você gostaria de trabalhar assim? Análise de Requisitos Longe de acordo Requerimentos Complexo Anarquia Perto
Leia maisTeste de software. Definição
Definição O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados
Leia maisCSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO
CSF FasTest SOLUÇÕES DE OUTPUT DE PAGAMENTO CSF FasTest Reduzindo o esforço empregado nos testes Os testes são a faca de dois gumes da composição de documentos: durante o ciclo de vida de seu documento,
Leia maisGuia de boas práticas para realização de Backup
Objetivo Quando o assunto é backup de dados, uma proposição de atividades e procedimentos como sendo a melhor prática pode ser bastante controversa. O que permanece verdadeiro, porém, é que seguir algumas
Leia maisTestes de Software. Por quê testar? 3/28/2011. Andrew Diniz da Costa. andrew@les.inf.puc-rio.br. Manter alta qualidade. Prevenir e encontrar defeitos
Testes de Software Andrew Diniz da Costa andrew@les.inf.puc-rio.br Por quê testar? Manter alta qualidade Prevenir e encontrar defeitos Ganhar confiança sobre o nível de qualidade e prover informações.
Leia maisTDD-Test Driven Development
CENTRO UNIVERSITÁRIO UNA TDD-Test Driven Development Desenvolvimento guiado por testes Pós-graduação em Engenharia de Software Centrada em Métodos Ágeis TIME CAVE!RA Bruno Eustáquio Andrade Juliana Villas
Leia maisEvolução do Design através de Testes e o TDD
c a p a Lucas Souza (lucas.souza@caelum.com.br): é bacharel em Engenharia da Computação pela Universidade de Ribeirão Preto, possui a certificação SCJP e trabalha com Java há 4 anos. Atualmente é desenvolvedor
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisDICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 07
DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 07 Este é o 7º artigo da série de dicas para facilitar / agilizar os cálculos matemáticos envolvidos em questões de Raciocínio Lógico, Matemática, Matemática Financeira
Leia maisMelhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson
QUALIDADE Simpósio Brasileiro de Qualidade de Software - SBQS Instituto Nokia de Tecnologia Unit Test Sucess Bug INdT Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua
Leia maisESPECIFICANDO OS REQUISITOS. Cleviton Monteiro (cleviton@gmail.com)
ESPECIFICANDO OS REQUISITOS Cleviton Monteiro (cleviton@gmail.com) Roteiro User Story Critérios de aceitação Prototipação Luz, camera, ação! USER STORIES User Story não é Mockup Documento Caso de uso E-mail
Leia mais15 4 Operação Avançada do Sistema: Inclusão de Nota Fiscal e seus relacionamentos
15 4 Operação Avançada do Sistema: Inclusão de Nota Fiscal e seus relacionamentos Agora vamos fazer algo mais complexo, que vai demonstrar várias das facilidades do sistema. Vamos Incluir uma Nota Fiscal
Leia maisScrum Uma breve apresentação. Alfredo Goldman Dairton Bassi
Scrum Uma breve apresentação Alfredo Goldman Dairton Bassi Scrum Definição informal: Estratégia em um jogo de rugby onde jogadores colocam uma bola quase perdida novamente em jogo através de trabalho em
Leia mais1 Code::Blocks Criação de projetos
Programação MEEC Índice 1Code::Blocks Criação de projetos...1 2Code::Blocks Localização do projeto...5 3Code::Blocks Abertura de projetos já existentes...7 4Code::Blocks Funcionamento...8 5Code::Blocks
Leia maisManual de Relação de Pontos por Indicação
Manual de Relação de Pontos por Indicação Sumário 1. Verificando se o parâmetro das funções está ativo... 3 2. Efetuando o cadastro da faixa de indicação... 5 2.1. Cadastro de faixas com intervalos...
Leia maisTutorial de Active Directory Parte 3
Tutorial de Active Directory Parte 3 Introdução Prezados leitores, esta é a terceira parte de uma série de tutoriais sobre o Active Directory. O Active Directory foi a grande novidade introduzida no Windows
Leia maisProgramação Orientada a Testes Rodrigo Rebouças de Almeida
Programação Orientada a Testes Rodrigo Rebouças de Almeida http://rodrigor.com rodrigor@rodrigor.com Agenda Nossos objetivos hoje: Entender o que é programação orientada a testes Entender a sua função
Leia maisTESTE DE SOFTWARE COM XP. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
TESTE DE SOFTWARE COM XP Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Contexto Inúmeros processos de software Evolução das formas/metodologias de desenvolvimento de software Dificuldades encontradas
Leia maisExtração de Requisitos
Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo
Leia maisIntrodução à ES - Continuação
Introdução à ES - Continuação Roteiro Software X Hardware Manutenção de software Elementos da ES Mitos do software Princípios de Hooker Modelos de ciclo de vida Escopo do Curso Atividades de Desenvolvimento
Leia maisPor que usar o Poka-Yoke no Lean Seis Sigma?
Por que usar o Poka-Yoke no Lean Seis Sigma? Por Cristina Werkema O Poka-Yoke termo japonês que significa à prova de erros (error proofing ou mistake proofing) consiste em um conjunto de procedimentos
Leia maisMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software Livre Dionatan Moura Jamile Alves Porto Alegre, 09 de julho de 2015 Quem somos? Dionatan Moura Jamile Alves Ágil e Software Livre? Métodos Ágeis Manifesto
Leia maisNovas Ferramentas de Teste na plataforma Java Jorge Diz Workshop de testes para aplicativos web Slide 1
Just Java 2009 Novas Ferramentas de Teste na plataforma Java Jorge Diz Workshop de testes para aplicativos web Slide 1 Quem sou eu? Jorge Alberto Diz ( 95 Mestre em Eng. Elétrica (UNICAMP ( 89 Bach. em
Leia maisFOTOGRAFIA NA MONTANHA - Dicas
FOTOGRAFIA NA MONTANHA - Dicas Tirar fotos não é apenas uma ação de apontar a máquina e apertar o botão (a menos que essa seja sua intenção artística). É necessário saber o que vai retratar e como vai
Leia maisManual do Sistema "Vida em Mão - Controle Financeiro Para PALM" Editorial Brazil Informatica
Manual do Sistema "Vida em Mão - Controle Financeiro Para PALM" Editorial Brazil Informatica I Vida em Mãos - Controle Financeiro para PALM Conteúdo Part I Introdução 2 1 Fala Comigo -... Sistema de Atendimento
Leia maisSPARK - CONFIGURAÇÃO
SPARK - CONFIGURAÇÃO ATENÇÃO: No caso de usuários VPN (GPRS ou Velox), somente funciona com o usuário conectado à sua VPN. Faça o download do aplicativo do seguinte endereço: http://www.igniterealtime.org/downloads/download-landing.jsp?file=spark/spark_2_6_3.exe
Leia maisDISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga
DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 Extreme Programming (XP); DAS (Desenvolvimento Adaptativo de Software)
Leia maisResumo de: THE FOUR STEPS TO THE EPIPHANY de Steve Blank de Diogo Miguel Jesus, Engenharia Informática, Instituto Superior Técnico, Lisboa, 2011
Resumo de: THE FOUR STEPS TO THE EPIPHANY de Steve Blank de Diogo Miguel Jesus, Engenharia Informática, Instituto Superior Técnico, Lisboa, 2011 INTRODUÇÃO Ouvir os potenciais futuros clientes, ir ao terreno
Leia maisInformática Básica. Microsoft Word XP, 2003 e 2007
Informática Básica Microsoft Word XP, 2003 e 2007 Introdução O editor de textos Microsoft Word oferece um conjunto de recursos bastante completo, cobrindo todas as etapas de preparação, formatação e impressão
Leia maisManual de uso do aplicativo Filho Sem Fila
Manual de uso do aplicativo Filho Sem Fila Código escola Ao abrir o aplicativo, será exibida tela solicitando o código da escola que utilizará o sistema. Para acessar, basta digitar o código fornecido
Leia maisPost excerpt to catch readers attention and describe the story in short
Post excerpt to catch readers attention and describe the story in short A explosão do número de usuários de smartphones está promovendo uma mudança rápida na cultura de vendas e atendimento aos clientes.
Leia maisSeu Android está lento? tente as nossas dicas
Seu Android está lento? tente as nossas dicas by Admin QB - quarta-feira, outubro 07, 2015 http://qualquerbit.com.br/2015/10/seu-android-esta-lento-tente-as-nossas-dicas.html E ai pessoal, tudo tranquilo?
Leia maisTestes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB
Testes de Software 1 AULA 03 FERRAMENTAS DE AUTOMAÇÃO DE TESTES Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB Conteúdo Programático Aula 03 O que é automação de testes? Conceitos de automação de
Leia mais1. Instalei o DutotecCAD normalmente no meu computador mas o ícone de inicialização do DutotecCAD não aparece.
1. Instalei o DutotecCAD normalmente no meu computador mas o ícone de inicialização do DutotecCAD não aparece. Para acessar o programa através do comando na barra de prompt, basta digitar dutoteccad e
Leia maisJonas de Souza H2W SYSTEMS
Jonas de Souza H2W SYSTEMS 1 Tecnólogo em Informática Fatec Jundiaí MBA em Gerenciamento de Projetos FGV Project Management Professional PMI Mestrando em Tecnologia UNICAMP Metodologia de apoio à aquisição
Leia maisArtigo Lean Seis Sigma e Benchmarking
Artigo Lean Seis Sigma e Benchmarking David Vicentin e José Goldfreind Benchmarking pode ser definido como o processo de medição e comparação de nossa empresa com as organizações mundiais best-in-class.
Leia maisUMA ABORDAGEM SOBRE TESTES AUTOMATIZADO DE SOFTWARES EM AMBIENTES DE DESENVOLVIMENTO
UMA ABORDAGEM SOBRE TESTES AUTOMATIZADO DE SOFTWARES EM AMBIENTES DE DESENVOLVIMENTO Robson L. Nascimento 1, Késsia R. C. Marchi¹ 1 Universidade Paranaense (UNIPAR) Paranavaí-PR-Brasil robsonluisn@yahoo.com.br,
Leia maisLição 1 Introdução à programação de computadores
Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens
Leia maisMD5 no Android como mecanismo de autenticação na API do Google Maps. Claudio André claudio.andre@correios.net.br
MD5 no Android como mecanismo de autenticação na API do Google Maps Claudio André claudio.andre@correios.net.br 2011 MD5 no Android como mecanismo de autenticação na API do Google Maps Primeira parte Sumário
Leia maisFundamentos em Teste de Software. Vinicius V. Pessoni viniciuspessoni@gmail.com
Fundamentos em Teste de Software Vinicius V. Pessoni viniciuspessoni@gmail.com Objetivos do treinamento 1. Expor os fundamentos de Teste de Software; 2. Conceituar os Níveis de Teste; 3. Detalhar sobre
Leia maisManual do usuário. Manual do Usuário DER-MG Página : 1
Manual do usuário Manual do Usuário DER-MG Página : 1 Índice Ajuda 3 Operação do calendário 4 Operação de lista de passageiros 7 Operação de listas de veiculo 8 Esqueci minha senha 10 Alterar senha 11
Leia maisPor que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...
Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª
Leia maisTDD depois do mainstream. E agora?
TDD depois do mainstream. E agora? Mauricio Aniche mauricio.aniche@caelum.com.br www.aniche.com.br Nós amamos métodos ágeis (e TDD mais ainda)! Na academia... Mas tudo faz sentido... Será que vale a pena
Leia maisLiner. Manual do Usuário
Liner Manual do Usuário Parabéns, Você acaba de adquirir o Gravador Telefônico Digital Pctel Liner. Líder em seu segmento, disponibiliza a mais alta tecnologia em gravadores telefônicos digitais, convertendo
Leia maisGuia Prático. Sistema EAD PRO-CREA
Guia Prático Sistema EAD PRO-CREA Nesta Guia Prático mostraremos a você: O Sistema EAD PRO-CREA A Monitoria Dicas de como organizar seu estudo O Sistema EAD PRO-CREA O Sistema de Ensino a Distância EAD
Leia maisa) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema
Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Considerando as seguintes afirmações: I. 100% de cobertura de sentença (comando) garante 100% de cobertura de desvio II. 100% de cobertura de desvio
Leia maisSILVA MATTOS & Cia. Ltda. BANCO DE IMAGENS. Manual de Utilização. Banco de Imagens. 2009 Silva Mattos & Cia. Ltda.
Manual de Utilização Banco de Imagens Introdução O que é o Banco de Imagens? Uma biblioteca completa de logotipos, fotos de imagens e produtos em alta resolução - prontas para download instantâneo. Este
Leia maispercebe diferença e qual?
1 percebe diferença e qual? este ano ficou melhor 1 os cursos/qualificação 2 aulas de informática/internet 5 ter 2 diplomas 1 chances de emprego 1 mais oportunidades 1 diminuiu o tempo para a conclusão
Leia maisSphinx Scanner Informações gerais V 5.1.0.8
Sphinx Scanner Informações gerais V 5.1.0.8 Pré-requisitos: Possuir modalidade scanner no software Sphinx A SPHINX Brasil propõe uma solução de leitura automática de questionários por scanner. O Sphinx
Leia maisPROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ASP.NET
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ASP.NET Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer a plataforma ASP.Net Compreender os elementos de um sistema ASP.Net Capacitar o aluno para criar
Leia maisTópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.
Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico
Leia maisCOMO INVESTIR PARA GANHAR DINHEIRO
COMO INVESTIR PARA GANHAR DINHEIRO Por que ler este livro? Você já escutou histórias de pessoas que ganharam muito dinheiro investindo, seja em imóveis ou na Bolsa de Valores? Após ter escutado todas essas
Leia maisFala, CMO! Com Thiago Reis da Project Builder
Fala, CMO! Com Thiago Reis da Project Builder Fala, CMO! Voltamos com mais um post do Fala, CMO!. Hoje vamos entrevistar o Thiago Reis, Diretor Comercial na Project Builder, uma startup que desenvolve
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia maisCOMO SOLICITAR O CADASTRO DE UM ITEM SSA Central de Cadastro
COMO SOLICITAR O CADASTRO DE UM ITEM SSA Central de Cadastro Índice 1. Fluxo de Solicitação 2. Acesso ao Aplicativo 3. Alteração de Senha 4. Opções do Menu 5. Pesquisar um item já existente 6. Como criar
Leia maisNo meu caso usei o huawei e1756, onde tirei a opção de autorun, pois se estiver ativada, não será detectado pelo sistema.
Esse manual tem por finalidade atualizar a firmware das centrais multimídias chinesas da RoadRover. A minha central é uma axis digital car pc Model Number: C7010LE Para usarmos o waze é necessário, claro,
Leia maisProf. Me. Marcos Echevarria
Prof. Me. Marcos Echevarria Nas décadas de 80 e 90 a visão geral sobre a melhor maneira de desenvolver software era seguir um cuidadoso planejamento para garantir uma boa qualidade; Esse cenário era aplicável
Leia maisEstudo de Caso. Cliente: Rafael Marques. Coach: Rodrigo Santiago. Duração do processo: 12 meses
Estudo de Caso Cliente: Rafael Marques Duração do processo: 12 meses Coach: Rodrigo Santiago Minha idéia inicial de coaching era a de uma pessoa que me ajudaria a me organizar e me trazer idéias novas,
Leia mais2. CAIXA DE FERRAMENTAS - CHEGANDO A REDAÇÃO
SUMÁRIO INTRODUÇÃO 15 Para que serve este Livro 17 Como usar este livro 1. PARA ENTENDER A PROFISSÃO 23 O que é preciso para ter sucesso na profissão 23 TALENTO - Como saber se você tem 24 CONHECIMENTO-Como
Leia mais1 Detecção e correcção de erros 1 1.1 Erros sintáticos... 1 1.2 Erros de execução... 2 1.3 Erros semânticos... 5 1.4 Erros semânticos...
Nesta aula... Conteúdo 1 Detecção e correcção de erros 1 1.1 Erros sintáticos............................. 1 1.2 Erros de execução............................ 2 1.3 Erros semânticos............................
Leia maisCasa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil
Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora,
Leia maisPASSO A PASSO: CRIAÇÃO DE PERSONAS
PASSO A PASSO: CRIAÇÃO DE PERSONAS INTRODUÇÃO 1) INTRODUÇAO 2) PERGUNTAS O que é uma persona? Uma persona é a representação hipotética de um cliente ideal, com dados pertinentes sobre sua personalidade,
Leia maisGuia Rápido do Usuário - Assinatura Digital
Guia Rápido do Usuário - Assinatura Digital Objetivo O objetivo deste documento é orientar como o usuário deve usar a nova versão do Sistema de Assinatura Digital que permite a assinatura individual e/ou
Leia maisSei... Entra, Fredo, vem tomar um copo de suco, comer um biscoito. E você também, Dinho, que está parado aí atrás do muro!
Capítulo 3 N o meio do caminho tinha uma casa. A casa da Laila, uma menina danada de esperta. Se bem que, de vez em quando, Fredo e Dinho achavam que ela era bastante metida. Essas coisas que acontecem
Leia maisCartão SIM Eurail Roaming
Cartão SIM Eurail Roaming Guia Completo do Usuário Índice Início Rápido... 3 Chamadas... 4 Acesso à Internet... 5 Mensagens de texto... 8 Correio de Voz... 8 Desvio de chamadas... 9 Recarga de cartão SIM...
Leia maisAplicações desktop a jato com JRuby e Netbeans
c a p a Aplicações desktop a jato com JRuby e Netbeans Construindo aplicações Swing combinando as melhores técnicas e ferramentas de Java e Ruby Demetrius Nunes (me@demetriusnunes.com): formado em Engenharia
Leia maisAdicionando um amplificador linear! Pensar duas vezes! Quanto vai aumentar o seu sinal?
Don, N4UJW Adicionando um amplificador linear! Pensar duas vezes! Quanto vai aumentar o seu sinal? Será que a adição de um amplificador linear de minha estação de presunto fazer o meu sinal de "mais alto"?
Leia maisFRAMEWORK PARA GERENCIAMENTO E MONITORAMENTO DE
UNIVERSI DADE FEDE RAL DE PE RN AM BUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA FRAMEWORK PARA GERENCIAMENTO E MONITORAMENTO DE ASSETS GRÁFICOS EM JOGOS 2D Proposta de Trabalho de Graduação
Leia maisAmbientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014
UNIVERSIDADE CEUMA Ambientação JAVA Versão 0.1 08/01/2014 Este é um modelo de configuração para desenvolvimento no ambiente Java. MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 Sumário Sumário... 2 1
Leia maisComo melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008
Como melhorar a Qualidade de Software através s de testes e integração contínua. nua. Cláudio Antônio de Araújo 22/11/2008 Objetivos Fornecer uma visão geral da área de testes de software, com ênfase em
Leia mais2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Leia maisAlice: Um mundo 3D de animação grátis para o ensino de programação.
Alice: Um mundo 3D de animação grátis para o ensino de programação. Barbara Ericson ericson@cc.gatech.edu Oct 2005 Traduzido por Jonas Fitz e Felipe Giovanoni O que é Alice? Software de animação 3D grátis:
Leia maisO papel do CRM no sucesso comercial
O papel do CRM no sucesso comercial Escrito por Gustavo Paulillo Você sabia que o relacionamento com clientes pode ajudar sua empresa a ter mais sucesso nas vendas? Ter uma equipe de vendas eficaz é o
Leia maisCONTEÚDOS. Sobre Classroom tv A plataforma Por que Classroom tv Especificações Informação adicional
TV CONTEÚDOS Sobre Classroom tv A plataforma Por que Classroom tv Especificações Informação adicional 1 5 7 9 11 Classroom tv é uma plataforma educativa e social que ajuda as instituições a melhorar e
Leia maisCinco principais qualidades dos melhores professores de Escolas de Negócios
Cinco principais qualidades dos melhores professores de Escolas de Negócios Autor: Dominique Turpin Presidente do IMD - International Institute for Management Development www.imd.org Lausanne, Suíça Tradução:
Leia maisMANUAL DE INSTRUÇÕES. Versão 1.0. Visão Transportador
MANUAL DE INSTRUÇÕES Versão 1.0 Visão Transportador 2 Sumário Introdução... 3 Requisitos mínimos... 3 Acesso... 3 Primeiro acesso... 5 Navegando pelo sistema... 6 Menu Perfil... 7 Dados do Fornecedor...
Leia maisEquações do segundo grau
Módulo 1 Unidade 4 Equações do segundo grau Para início de conversa... Nesta unidade, vamos avançar um pouco mais nas resoluções de equações. Na unidade anterior, você estudou sobre as equações de primeiro
Leia maisO que tem neste ebook?
O que tem neste ebook? 01. Como avaliar bons Plugins antes usá-los 02. 10 Plugins que eu mais indico para o SEO do seu site 03. Onde baixar os Plugins que eu indico Sobre o Segredos da Audiência O site
Leia maisArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02
ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO
Leia mais