Indo Além com Automação e Testes de Apps Android. Eduardo
|
|
- Leonardo Mangueira Lacerda
- 6 Há anos
- Visualizações:
Transcrição
1 Indo Além com Automação e Testes de Apps Android Eduardo
2 Você já se sentiu assim em seus projetos?
3 Infelizmente não há bala de prata...
4 Precisamos de segurança, para Iterações Rápidas.
5 Testes Automatizados podem ajudar Então o que vamos explorar hoje? Recursos Externos & Test Flakiness Simplificação de Dependências com Mocks UI Tests e as Camadas de Testes
6 Non-deterministic tests have two problems, firstly they are useless, secondly they are a virulent infection that can completely ruin your entire test suite. - Martin Fowler Recursos Externos e Test Flakiness
7 Test Flakiness Falham e passam aleatoriamente Escondem bugs Diminuem a confiança na suite de testes São difíceis de corrigir
8 Principais Causas Concorrência Dependência de comportamentos indefinidos ou não determinísticos Código de terceiros que falham e funcionam aleatoriamente Problemas de infraestrutura <adicione sua causa aqui>
9 O que acontece no Android? Rede Recursos de Hardware do telefone (ex.: sensores) Interação com outros apps Dependências de serviços, apis e sdks externos
10 Exemplificando Caso comum: chamadas a serviços REST Dependência de recursos de rede, disponibilidade de serviços etc Como resolver o flakiness no teste da chamada de um serviço? Resposta: Desacoplar e Isolar
11 Desacoplando e Isolando Origem do flakiness Presentation Activity Fragment Views Domain Use Cases Repositories Biz Entities Data Data Sources Data Entities RestAPI Network Latency Service Errs. etc...
12 Desacoplando e Isolando Produção API Calls RestApi Interface Data Layer App Config Base URL <<builds>> RestApi Connection <<provides>> <<injects>> Retrofit OkHttp etc <<network calls>> RestAPI Server
13 Desacoplando e Isolando <<creates>> Teste RestApi Interface Test URL Test Responses Test <<provides>> <<injects>> <<builds>> RestApi Connection Retrofit OkHttp etc <<local calls>> Mock Local Server
14 E o código... Com Retrofit + OkHttp + MockWebServer dependencies { testcompile 'com.squareup.okhttp3:mockwebserver:3.3.0' }
15 E o código... Exemplo em NEOM on Github: public void setup() throws IOException { prepareexpectedtestdata(); server = new MockWebServer(); server.enqueue( new MockResponse().setBody(TestServiceResponseFor getJson()) ); server.start(); restapi = new RestApi(server.url("/").toString()); public void teardown() throws IOException { server.shutdown(); }
16 E o código... Exemplo em NEOM on Github: public void testsuccessfullistnearearthobjects() throws Exception { List<NearEarthObjectJsonEntity> nearearthobjectjsonentitylist = restapi.listnearearthobjectsfor(requestdate); assertthat(nearearthobjectjsonentitylist, is(expectednearearthobjectjsonentitylist)); }
17 Em nosso exemplo... Isolamos a chamada à nossos serviços Substituímos o servidor por um componente sob nosso controle Podemos testar esta camada com testes unitários Tomamos controle sobre um recurso que poderia ser Flaky
18 Simplificação com Mocks
19 Dependências + Dependências = + Acoplamento Alto acoplamento dificulta a criação de testes e a automação Sistemas 100% desacoplados são raros
20 Mocking Objetos dublês Controle sobre o comportamento e estado Isolamento da unidade a ser testada Deve nos ajudar a lidar com as dependências de maneira simples
21 O que acontece no Android? Dependência de componentes do framework é frequente Ex.: Context, Dados de Sensores, Services, Activities etc Complexidade dos testes aumenta muito
22 Mockito API fácil de entender Configuração de comportamentos e Stubs Permite a verificação de comportamentos
23 Mas como funciona? Exemplo em NEOM on Github: class) public class NearEarthObjectListPresenterTest { NearEarthObjectListPresenter private private NearEarthObjectsListView private ArgumentCaptor<Observer<List<NearEarthObject>>> mockinteractor; private void setup() { presenter = new NearEarthObjectListPresenter( mockinteractor); } }
24 Mas como funciona? Exemplo em NEOM on Github: public void testsuccessfulpresenterinitialization() { presenter.attachto(mockview); verify(mockview).hideretry(); verify(mockview).showloading(); // Here we capture the observer registration to mock the update call verify(mockinteractor, times(1)).addobserver(observerargumentcaptor.capture()); verify(mockinteractor).execute(); observerargumentcaptor.getvalue().update(mockinteractor, new ArrayList<NearEarthObject>()); verify(mockview).rendernearearthobjectslist(any(list.class)); verify(mockview).hideloading(); }
25 Robolectric Testes que dependem do Android na JVM Provê mocks e stubs ao Android SDK Execução mais rápida de testes Demora para disponibilizar versões mais recentes do SDK
26 Mas como funciona? Exemplo em NEOM on = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP) public class NearEarthObjectsListActivityTest { private NearEarthObjectsListActivity public void setup() { nearearthobjectslistactivity = Robolectric.setupActivity(NearEarthObjectsListActivity.class); } }
27 Mas como funciona? Exemplo em NEOM on Github: public void testerrormessagedisplay() { final String expectederrormessage = "Error message"; nearearthobjectslistactivity.showerror(expectederrormessage); View errorview = findbyid(nearearthobjectslistactivity, R.id.error_view); TextView errortextview = findbyid(nearearthobjectslistactivity, R.id.error_message_text_view); assertthat(errorview.getvisibility(), is(visible)); assertthat(errortextview.gettext().tostring(), is(expectederrormessage)); }
28 + Combinação Poderosa Testes Rodando na JVM Local = Produtividade Ajuda com dependências indiretas do Android Framework Permite o mocking e uso de classes do Android na JVM Local
29 Exemplificando Caso: Uso de dados obtidos de um Content Provider O Content Provider nos provê um Cursor Como testar um componente que dependa de um Cursor? Resposta: Mocks* * A classe MockCursor do Android Framework foi Deprecated na API Level 24. Uma das sugestões é usar o Mockito com ATSL.
30 Mocking Produção <<queries>> Component Content Resolver <<uses>> <<queries>> <<creates>> Cursor Content Provider
31 Mocking Boilerplate Teste <<queries>> Component Content Resolver <<uses>> <<creates>> Cursor Componente a ser Testado <<queries>> Content Provider
32 Mocking Teste <<tests>> Test Component <<uses>> <<mocks>> Cursor
33 E o código... Com Mockito + Robolectric dependencies { testcompile 'org.robolectric:robolectric:3.0' testcompile 'org.mockito:mockito-core:2.+' }
34 E o código... Exemplo em Vilibra on = BuildConfig.class) public class BookBorrowingContentProviderMapperTest public void preparetest() { this.bookborrowingcontentprovidermapper = new BookBorrowingContentProviderMapper(); public void testtransformemptycursortobookborrowing() throws Exception { Cursor cursor = mock(cursor.class); when(cursor.movetofirst()).thenreturn(false); List<BookBorrowing> bookborrowings = this.bookborrowingcontentprovidermapper.transform(cursor); assertthat(bookborrowings, is(empty())); } }
35 Em nosso exemplo... Isolamos o componente a ser testado de dependências boilerplate Usamos mocks para criar as situações de teste desejadas Podemos rodar nossos testes como testes unitários na JVM
36 Usando mocks lembre-se... Se você cria mocks para tudo você não testa nada Mocks nos ajudam a isolar o componente a ser testado e a ter controle sobre dependências e comportamentos externos Podem ajudar a reduzir flakiness
37 UI Tests e as Camadas de Testes
38 Camadas de Testes Estratégia para automação de testes Onde investir nossos recursos para automação? Layers of Test by Mike Cohn Fonte: Layers of Test Automation by Stuart Ashman
39 Custo Testes Manuais e Exploratórios $$$$ UI $$$ Testes de Integração $$ Testes Unitários $ Criação e Manutenção Tempo Execução e Criação
40 Testes de Interface do Usuário (UI) Devem focar em funcionalidades, user stories, casos de uso etc Testes do ponto de vista do usuário (UI) Retira o trabalho repetitivo do time QA pode se dedicar a testes mais complexos
41 Algumas Ferramentas ATST
42 Android Testing Support Library Execução relativamente rápida Bem próximo da plataforma e exige conhecimentos de dev. Utiliza as mesmas ferramentas que usamos para criar as apps Difícil para não desenvolvedores
43 Android Testing Support Library Ferramentas específicas para testes de componentes Android AndroidJUnitRunner + JUnit4 Rules + Espresso + UIAutomator Em geral compatível com Api Level 8 ou superior UIAutomator é compatível com Api Level 18 ou superior
44 UI Tests Uma abordagem possível <<instruments>> <<tests>> Test <<uses>> App Espresso UIAutomator <<mocks>> External Dependency External Dependency External Dependency External Dependency
45 Um exemplo simples... Exemplo em Vilibra on Github: TestEmptyLoanedBooksList.java android { defaultconfig{ testinstrumentationrunner android.support.test.runner.androidjunitrunner } } dependencies { androidtestcompile androidtestcompile androidtestcompile androidtestcompile } 'com.android.support.test:runner:0.5' 'com.android.support.test:rules:0.5' 'com.android.support.test.espresso:espresso-core:2.2.2' 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
46 Um exemplo simples... Exemplo em Vilibra on Github: public class TestEmptyLoanedBooksList { private Context public ActivityTestRule<BookListActivity> activityrule = new public void setup() { this.context = gettargetcontext(); cleartestdata(); public void simpletestemptystateofloanedbookslist() { onview(withid(r.id.loaned_book_list_view)).check(matches(not(isdisplayed()))); onview(withid(r.id.empty_book_list_icon)).check(matches(isdisplayed())); } }
47 Testes de Interface do Usuário (UI) São difíceis de criar e manter Sua execução geralmente é mais lenta, deixe-os para o final Selecione a ferramenta adequada aos conhecimentos do time Quer saber mais? Dê uma olhada em minhas outras apresentações!
48 Pensamentos Finais Mantenha o Test Flakiness sob controle Mocks podem aumentar sua produtividade e controlar o flakiness Testes de UI são difíceis de criar e manter, use-os sabiamente Cuide de seus códigos de testes assim como você cuida de seus códigos de produção!
49 Perguntas? Material em: if you are afraid to change something it is clearly poorly designed. - Martin Fowler
50 Obrigado! Eduardo github.com/ecarrara-araujo
51 Referências Building Effective Unit Tests by Android Documentation How to Deal With and Eliminate Flaky Tests Flaky Tests at Google and How We Mitigate Them Eradicating Non-Determinism in Tests by Martin Fowler Retrofit 2 Mocking HTTP Responses The Difference Between Mocks and Stubs by Martin Fowler Mockito Robolectric Layers of Test Automation Android Test Support Library Espresso Test Recorder Docs
Programação Orientada a Objetos
Ciência da Computação Prof. Elias Ferreira Elaborador por: Ana Claudia Bastos Loureiro Monção JUNIT Teste de Software Processo de Software Um processo de software pode ser visto como o conjunto de atividades,
JUnit: framework de testes unitários. Fred Lopes
JUnit: framework de testes unitários Fred Lopes Agenda Parte 1 - teoria Testes unitários JUnit Introdução Arquitetura API resumida Boas práticas Exemplos de uso Parte 2 prática (Eclipse) Criando testes
Testes Unitários com JUnit
Testes Unitários com JUnit Por: Luiz Gustavo Stábile de Souza http://luizgustavoss.wordpress.com Abril/2009 Motivação Apesar de já fazer um certo tempo que escrevi a primeira versão deste tutorial, o assunto
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO API de Compatibilidade API de Compatibilidade ou API de Suporte permite acesso em versões mais antigas do android a recursos
Escolhendo quais testes rodar através do JUnit e profiles do Maven
maven_ Escolhendo quais testes rodar através do JUnit e profiles do Maven Escolha quais testes rodar através de profiles do Maven, seu plugin Surefire e o framework JUnit. Grátis, rápido e indolor. Viva
O impacto de práticas de teste na velocidade de DevOps. Renato Quedas VP Solutions Marketing
O impacto de práticas de teste na velocidade de DevOps Renato Quedas VP Solutions Marketing A consequência da Inovação Desafios de Hoje na Entrega de Aplicações Time to Market Proliferação de Dispositivos
Teste como Serviço (TaaS) na Computação em Nuvem
Teste como Serviço (TaaS) na Computação em Nuvem Ricardo Ramos de Oliveira ICMC-USP E-mail: ricardoramos@icmc.usp.br Orientador: Prof. Dr. Adenilso da Silva Simao 1/64 Apresentação Ricardo Ramos de Oliveira
Introdução ao Desenvolvimento de Aplicativos Android
Introdução ao Desenvolvimento de Aplicativos Android Preparando o ambiente de desenvolvimento Entre as ferramentas que você precisa instalar estão: JDK - como o Android faz uso da tecnologia Java, é necessário
Sumário. Parte I Fundamentos Capítulo 1 O Problema de Entregar Software... 3
Sumário Parte I Fundamentos... 1 Capítulo 1 O Problema de Entregar Software... 3 Introdução...3 Alguns antipadrões comuns de entrega de versão...4 Antipadrão: implantar software manualmente...5 Antipadrão:
Programação para Android. Aula 08: Persistência de dados SQL
Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente
DESCOBERTO. (Glen Myers)
"A ATIVIDADE DE TESTAR É O PROCESSO DE EXECUTAR UM PROGRAMA COM A INTENÇÃO DE DESCOBRIR UM ERRO. UM BOM CASO DE TESTE É AQUELE QUE TEM UMA ELEVADA PROBABILIDADE DE REVELAR UM ERRO AINDA NÃO DESCOBERTO.
Chromecast. Seu aplicativo na TV. Ivan de Aguirre @IvAguirre ivan.aguirre@gmail.com
Chromecast Seu aplicativo na TV Ivan de Aguirre @IvAguirre ivan.aguirre@gmail.com Cast Sender: Sender: Android, ios, Chrome App Sender: Android, ios, Chrome App Receiver: Sender: Android, ios, Chrome
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do
Análise e Projeto Orientados a Objetos
Análise e Projeto Orientados a Objetos Testes de unidade Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Introdução Por que testar?
SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta
1 SELENIUM 28/03/2011 Márcio Delamaro Harry Trinta O que é a Selenium? Selenium é uma ferramenta desenvolvida para a automação de testes em aplicações Web Suporta diversos browsers: Firefox Internet Explorer
Planning for and Managing Devices in the Enterprise: Enterprise Management Suite (EMS) & On-Premises Tools (20398)
Planning for and Managing Devices in the Enterprise: Enterprise Management Suite (EMS) & On-Premises Tools (20398) Formato do curso: Presencial Localidade: Lisboa Data: 18 Dez. 2017 a 22 Dez. 2017 Preço:
Levantamento de classes (Análise de casos de uso)
Plano Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Levantamento no método APOO Projeto por padrões: MVC e Observador Estereótipos de classes Visão geral do método Engenharia
Prof. Me. Marcos Echevarria
Prof. Me. Marcos Echevarria JUnit é um framework, open-source, que auxilia a criação e execução de testes unitários em classes Java. Engenharia de Software 2 JUnit facilita a criação de testes automatizados,
Capítulo 4. Programação em ASP
Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro
ArcGIS para Developers
ArcGIS para Developers Introdução do SIG para programadores João Ferreira O SIG responde a tomadas de decisão Fornece uma plataforma para a compreensão Visual Integrada Quantitativa Sistemática Compreensiva
Conteúdo Programático
Ementa do Curso O treinamento ios+swift Intro foi criado pela Catteno com o intuito de introduzir os alunos em programação de Apps para a plataforma ios (tablets e smartphones), utilizando a linguagem
06/10/16 Ademir Santos EVANCE PLATAFORMA NA NUVEM
06/10/16 Ademir Santos EVANCE PLATAFORMA NA NUVEM O que é evance? evance Services High Level Product and Training Overview Um novo mercado Clientes potenciais para o evance: instaladores e empresas de
JUnit. Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues
JUnit Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues Roteiro Teste Unitário: O que? Por quê? Quando? Quem? O que testar? Teste Funcional: O que é? JUnit:
Primeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo
Primeira Aplicação Android Olá Mundo Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Passo- a- passo de um Projeto Android Conceitos Básicos de uma Aplicação Principais Arquivos Execução da
Android. Marcelo Quinta @mrquinta
Android Marcelo Quinta @mrquinta Oi, eu sou o Marcelo Quinta Pública Público-privada Privada Próprio negócio Voluntariado Parabéns à organização do GO-GTUG Tablets 160% de aumento em 2011 Smartphones
Criação de uma aplicação Web ASP.NET MVC 4
Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership
Teste de Software. Roberta Coelho
Teste de Software Roberta Coelho Agenda Desafios do Teste de Software Atividades Realizadas em 2014 Atividades Planejadas Agenda Desafios do Teste de Software Atividades Realizadas em 2014 Atividades Planejadas
POO Programação Orientada a Objetos
POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar
Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla
Levantamento de classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Plano Levantamento no método APOO Análise (conceitos) Projeto por padrões: MVC e Observador Estereótipos de classes Método para
October 13, 2016 Web.br hugeinc.com
October 13, 2016 Web.br hugeinc.com 13 de outubro, 2016 Desenvolvendo aplicações de qualidade com TDD Huge Isabella Silveira Web Engineer @ Huge. Front-End, Back-End, Agile e Integração Contínua. Agenda.
TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de
Introdução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K
Android I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O P R O F E S S O R L E O N A R D O C. R. S O A R E S - L A R B A C K Introdução O Android é a resposta da Google ao mercado crescente de dispositivos
Para baixá-lo entre no site : http://www.netduino.com/; Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse
Para baixá-lo entre no site : http://www.netduino.com/; Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse programa será possível conectar-se ao Netduíno. Execute
5 Trabalhos Relacionados
5 Trabalhos Relacionados Durante o trabalho desenvolvido nesta dissertação foram estudadas diversas tecnologias que têm objetivos semelhantes ao nosso. Os trabalhos estudados apresentam modelos de programação
Parte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
IBM Bluemix. A Plataforma de Inovação Digital
Gabriel Pereira Borges Application Architect / Technical Team Lead / Agile Coach CBSoft 2015 Introdução ao IBM Bluemix DevOps Services IBM Bluemix A Plataforma de Inovação Digital Quem sou eu Watson? Você
UML Diagramas Estruturais Diagrama de Componentes
UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu
EA998/MC933 Guido Araujo e Sandro Rigo
EA998/MC933 Guido Araujo e Sandro Rigo 1 Introdução Livros adotados (e-books) Learning Android, Marco Gargenta, O Reilly Media (livro texto) Professional Android Application, Reto Meier, Wrox Abordagem
Microsoft Visual Studio Community 2013
Microsoft Visual Studio Community 2013 Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação
TESTES DE SOFTWARE 1. Fundamentos sobre testes de software
ENG SOFT - TESTES TESTES DE SOFTWARE 1. Fundamentos sobre testes de software A atividade de teste de software sempre foi considerada como um gasto de tempo desnecessário, uma atividade de segunda classe,
BITDEFENDER GRAVITYZONE. Diogo Calazans Diretor Comercial
BITDEFENDER GRAVITYZONE Diogo Calazans Diretor Comercial QUEM É A BITDEFENDER Fundação / Lançamento da Linha Varejo Inicio das Parcerias OEM Lançamento da Linha Corporativa 1ª Vez como Melhor Taxa de Detecção
ASSINATURAS LABORATÓRIOS AUGUST 2012
ASSINATURAS LABORATÓRIOS AUGUST 2012 HTTP! Lorem server Ipsum server Dolor server HTTP! TCP/IP! HTTP! TCP/IP! YOUR DBMS TCP/IP! Auth server HTTP! Amet HTTP! Clients FOOTER SOFTWARE ENGINEERING DIAGRAMS
Interfaces Gráficas parte 3
parte 3 (Listview, AlertDialog e ActionBar) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação
Introdução ao Desenvolvimento para Dispositivos Móveis
PARTE II Introdução ao Desenvolvimento para Dispositivos Móveis Victor Adriel de Jesus Oliveira INF - UFRGS Summary PARTE I Introdução a Plataformas Móveis Padrões para o Desenvolvimento de Aplicativos
Práticas de desenvolvimento aplicadas na automação de testes com Selenium Robson Bittencourt #gutsrs
Práticas de desenvolvimento aplicadas na automação de testes com Selenium Robson Bittencourt #gutsrs /@gutsrs Programação 19h15 às 19h45 Recepção, boas vindas e Coffee para integração 19h45 às 19h55 Abertura
Test-friendly development
Test-friendly development como projetar, estruturar e construir sua aplicação de modo a aumentar a testabilidade Cleuton Sampaio, M.Sc, SCEA, PMP cleuton.sampaio@gmail.com $ whoami Escritor profissional,
Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.
Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de
Exemplo de Aplicaça o Facebook
HCIM Summer Workshop Guião Hands-on Exemplo de Aplicaça o Facebook 1. Download do Software Development Kit (SDK) O download do SDK do Facebook encontra-se disponível aqui. Depois de fazer o download do
Programação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 03 Introdução ao ambiente de desenvolvimento: Eclipse e Android SDK Dalton Martins dmartins@gmail.com São
Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira
Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:
Técnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
Manifesto Ágil Princípios
Manifesto Ágil Princípios Indivíduos e interações são mais importantes que processos e ferramentas. Software funcionando é mais importante do que documentação completa e detalhada. Colaboração com o cliente
7 Utilização do Mobile Social Gateway
7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,
Lidando com Java Obsoleto: Do Struts 1.0 ao CDI. Java na Crista da Onda
Lidando com Java Obsoleto: Do Struts 1.0 ao CDI Java na Crista da Onda Lidando com Java Obsoleto: Do Struts 1.0 ao VRaptor com CDI Java na Crista da Onda David Robert davidrobert@gmail.com linkedin.com/in/davidrobert
Construa um sistema completo de teste HIL preparado para o futuro
Construa um sistema completo de teste HIL preparado para o futuro Jeferson Cintra Engenheiro de Vendas National Instruments Jeferson.cintra@ Diferentes desafios Aumento do desempenho O desafio da qualidade
Aplicações Web com Servlets e JSP
J550 Desenvolvimento de Aplicações Web com Servlets e JSP Helder da Rocha www.argonavis.com.br 1 Objetivos Este curso explora os recursos da linguagem Java para o desenvolvimento de aplicações Web Tem
Primeiramente assista ao vídeo sobre uso da tecnologia Java. Está em inglês, mas mesmo aqueles que não dominam a linguagem vão entender a ideia.
DIA 7. Java não é só uma linguagem. Java é uma tecnologia. Se você aprender bem a linguagem C++, por exemplo, não há mais nada que precise saber (incluindo a orientação a objeto). Mas se você aprender
Sumário. Prefácio 16. Capítulo 1 - Solicitação de Avaliação de Aplicativo na Play Store 24. Capítulo 2 - Mantendo Listas, Sem Novos Carregamentos 62
Prefácio 16 Para quem é este livro? 17 Objetivo do livro 18 Por que um livro de receitas? 18 Como este livro está escrito 19 Perguntas 19 Código em texto corrido 19 Caixas de código 19 Como o livro está
Engenharia de Software II
Engenharia de Software II Aula 7 http://www.ic.uff.br/~bianca/engsoft2/ Aula 7-12/05/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software (Caps. 13 e 14 do
Desenvolvimento de Software de Qualidade através de Testes Automatizados
Desenvolvimento de Software de Qualidade através de Testes Automatizados Fabio Kon e Paulo Cheque Departamento de Ciência de Computação IME/USP 9/2/2009 Verão 2009 Erros de Software Causam prejuízos de
1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)
Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:
Versão 3.1br. Foundation Level Model Based Tester
GLOSSÁRIO DE TERMOS Versão 3.1br Foundation Level Model Based Tester Os termos deste documento são complementares ao Glossário de Termos Núcleo Base para o exame de certificação CTFL-MBT Model Based Tester.
API JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo
API JDBC Paulo Ricardo Lisboa de Almeida 1 JDBC JDBC Java Database Connectivity API Java para conexões com bancos de dados Encontrada dentro de java.sql 2 JDBC Necessário driver JDBC do banco Classes concretas
GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS
GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS Introdução Objetivos Fundamentação teórica Especificação Implementação Operacionalidade Resultados e discussão Conclusão
Curso Superior de Banco de Dados
Curso Superior de Banco de Dados Disciplina: Spring Prof. Emanuel Mineda Carneiro emanuel.mineda@fatec.sp.gov.br São José dos Campos - SP Dependências do Jeito Antigo Injeção de Dependência Inversão de
MOCKITO - - Alexandre Gazola (alexandregazola@gmail.com / Twitter: @alexandregazola)
cinto de utilidades mocks_ CRIAÇÃO DE MOCKS COM MOCKITO No último artigo desta coluna, falamos de uma forma geral sobre diversas ferramentas para suporte a testes automatizados. Dentre as ferramentas mencionadas,
Android Core. Felipe Silveira felipesilveira.com.br. Aula 6
Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações II Services Services Service é um dos componentes principais da plataforma Android. Executado em background Sem interface com o usuário
Testes de Unidade. Curso de Verão IME/USP Hugo Corbucci
Testes de Unidade Curso de Verão 2010 - IME/USP www.agilcoop.org.br Hugo Corbucci hugo@agilcoop.org.br Caracterização 2 Caracterização 3 Caracterização 4 Caracterização 5 Caracterização Como? 6 Caracterização
Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008
Android José João Junior Universidade Federal de Santa Catarina 17 de dezembro de 2008 Agenda 1 Visão geral 2 Estrutura do sistema 3 Ferramentas de desenvolvimento 4 Uma aplicação Visão geral Histórico
Universidade Federal do Paraná
Universidade Federal do Paraná Departamento de Informática Ciência da Computação Tópicos em Sistemas Embarcados Android Prof. Eduardo Todt 2016 objetivos Com Android studio criar primeira app Projetar
J550 Testes em Aplicações Web com Cactus
J550 Testes em Aplicações Web com Cactus Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Este módulo descreve um framework - o Jakarta Cactus - que pode ser utilizado para testar
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS Marcelo Henrique dos Santos Marcelo Henrique dos Santos Email: Site: marcelosantos@outlook.com www.marcelohsantos.com.br TECNOLOGIA EM JOGOS
Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services
Modelação Engenharia de Software Sistemas Distribuídos Departamento Engenharia Informática Livro de Receitas Framework de aplicações com Web Services 2009-04-17 Versão 1.1 Índice Índice... 2 Nota prévia...
BI para GPs e Atendimentos. Treinamento Técnico
BI para GPs e Atendimentos Treinamento Técnico Agenda O que é tagueamento? Como funciona a coleta de dados? Papéis e Responsabilidades no tagueamento Fluxo de trabalho Tipos de tagueamentos existentes
Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana
Estágio II Aula 04 Testes Ágeis Prof. MSc. Fred Viana Agenda Manifesto dos Testes Ágeis Testes Ágeis x Testes Tradicionais Sinais de que os Testes Não São Ágeis Testador Ágil Testador Ágil em Equipe Independente
Guia de Instalação SMX
Guia de Instalação SMX 1 O conteúdo deste material é de propriedade intelectual BLOCKBIT : é proibida sua utilização, manipulação ou reprodução, por pessoas estranhas e desvinculadas de suas atividades
Teste de Software Parte 2. Prof. Jonas Potros
Teste de Software Parte 2 Prof. Jonas Potros Conteúdos Processo de Teste Planejamento de Teste Processo de Teste Independentemente da fase de teste, o processo de teste inclui as seguintes atividades:
COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android
COMPUTAÇÃO MÓVEL Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android O que é computação Móvel Acesso à informação a qualquer lugar, a qualquer momento. O que é computação Móvel Tecnicamente: Processamento
Configurando uma aplicação Struts
Configurando uma aplicação Struts Instalando os Softwares 1. NetBeans IDE 5.0 2. Java Standard Development Kit (JDK ) version 1.4.2 or 5.0 Criando uma nova aplicação Struts 1. Click File > New Project.
Estratégias de Escrita de Testes Automatizados
Estratégias de Escrita de Testes Automatizados Paulo Cheque 12/02/2009 Verão 2009 2 Sobre a Palestra Refatoração TAD TFD/POUT TDD BDD Padrões e Anti padrões 3 (Refatoração) Uma modificação feita em pequenos
Quem sou eu? Rafael Toledo. Dev Java / Android. www.rafaeltoledo.net
Quem sou eu? Rafael Toledo Dev Java / Android www.rafaeltoledo.net Integração REST Praticamente nenhum app funciona isoladamente Integração com APIs é essencial Eficiência é um requisito, sempre! Material
TRANSPORTE DE PREFIXOS VIA VPNV4
TRANSPORTE DE PREFIXOS VIA VPNV4 Nesse artigo vou descrever as configurações para utilizar o transporte de prefixos. Neste senário nosso objetivo é transportar o prefixo de nosso Switch de acesso pela
TUTORIAL PARA NAVEGAÇÃO NO MAPA DO HABITASAMPA
1 Descrição geral O habitasampa é uma ferramenta dedicada a publicação de mapas através da intra/internet e é utilizada para a integração e o compartilhamento das informações relativas à habitação no município
Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços
Web Services EclipseSDK/DB2 Construindo/Consumindo Serviços Mario C. Ponciano a.k.a: Razec http://razec.wordpress.com mrazec@gmail.com 28 de Novembro 2009 2 Sumário Objetivo... 3 Requisitos... 3 Desenvolvimento...
DNS central. A new approach for DNS records management at Unesp. Carlos Coletti GRC
DNS central A new approach for DNS records management at Unesp Carlos Coletti GRC carlos.coletti@unesp.br Agenda Introdução Objetivos Infraestrutura atual Nova infraestrutura proposta Proposta de nova
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2 #laryssa-muniz Graduada em Telemática - Estácio de Sá Especialista em Engenharia de Software - UECE Mestranda em Ciências da Computação - UECE Analista de Sistemas - Brain
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do
IF Sudeste MG Notícias IF Sudeste MG News
IF Sudeste MG Notícias IF Sudeste MG News Gustavo Ciampi Costa Faulhaber 1, Felipe Barra Knop 2 e Sandro Roberto Fernandes 3 Resumo: O uso de dispositivos móveis está consolidado em nosso cotidiano. A
Frameworks O que é um framework?
Frameworks Qual é o problema? Programar é difícil Onde está a maior dificuldade? "Interface design and functional factoring constitute the key intelectual content of software and is far more difficult
Testar: impossível. Jorge Diz Globalcode. Agile Brazil 2010 Slide 1
Testar: impossível Jorge Diz Globalcode Agile Brazil 2010 Slide 1 Palestrrante Jorge Alberto Diz Mestre e bacharel pela UNICAMP Programando desde 1983 Testando desde 1994 Javeiro Consultor: testes, metodologia
Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP088 Laboratório de Programação Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Manipulação de Exceções; 1) Try e Catch 2) Finally 3) Propagação (Throw e Throws) 2) Erros e Exceções Comuns;
Versão: 1.0 Doc Manager
Plano de Gerenciamento de Configuração versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza 1 Data: 10/04/2016
O Processo Unificado: Workflow de Análise. Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009
O Processo Unificado: Workflow de Análise Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009 Workflow de Análise Objetivos da análise: manter uma especificação precisa dos requisitos
Desenvolvimento Seguro de Aplicações para Android. Ana Cláudia Costa
Desenvovimento Seguro de Apicações para Android Ana Cáudia Costa Desenvovimento Seguro-Android Android dominated the smartphone market with a share of 82.8% Desenvovimento Seguro-Android Desenvovimento
Errors and exceptions
Errors and exceptions Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 14-1 Overview Introdução Testes e Testes unitários Noção de Exceção A hierarquia
FATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes
FATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes Vânia Somaio Teixeira 1,2, Marcio Eduardo Delamaro 1, Auri Marcelo Rizzo Vincenzi 3 1 Programa de Pós-graduação em Ciência da Computação
Java RMI. Alcides Calsavara
Java RMI Alcides Calsavara Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância de uma classe Java) situado em outra máquina
INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo
INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo Requisitos de Ambiente: Desenvolvido por: Fabrício Alves e Daniela Claro contato: fabufbc@dcc.ufba.br, dclaro@ufba.br Java 1.6