SlideShare uma empresa Scribd logo
ABORDANDO TDD NO IOS
Utilizando Xcode, swift e boa fé.
GABRIEL OLIVA
➤ Mineiro que não come queijo;
➤ iOS developer @ CI&T;
➤ Coffee addicted;
➤ Baterista aposentado.
@gabrieloliva_
/gabrieloliva
AGENDA
➤ O que é TDD?
➤ Por que utilizar TDD?
➤ Como utilizar TDD no iOS?
O QUE É TDD?
O QUE É TDD?
➤ Escrever primeiramente o teste falho
➤ Escrever a quantidade mínima de código
para o teste passar
➤ Refatorar
O QUE É TDD?
POR QUE UTILIZAR TDD?
POR QUE UTILIZAR TDD?
0
20
40
60
80
Hoje 1 mês depois 2 meses depois 3 meses depois
POR QUE UTILIZAR TDD?
➤ No final das contas, TDD é sobre automatizar essa
processo chato de escrever teste
VANTAGENS DO TDD
➤ Alta cobertura de teste
➤ Menos debug
➤ Testes documentam o código
➤ Fácil manutenção
➤ Código modular
➤ Você só escreve o código que precisa
DESVANTAGENS DO DDD
➤ Não é bala de prata
➤ Parece mais lento no início
➤ Todos os membros do time precisam utilizar
➤ Não é recomendável para protótipos
COMO UTILIZAR TDD NO IOS
COMO UTILIZAR TDD NO IOS?
SUnit
1994
OCUnit
1998
OCUnit no Xcode
2005
“Core Data 1.0 is not perfect, but it is a rock solid product that I’m
damned proud of. The quality and performance achieved could not
have been done without the use of unit testing.
-Bill Bumgarner
http://www.friday.com/bbum/2005/09/24/unit-testing/
COMO UTILIZAR TDD NO IOS?
OCUnit no
iPhone SDK 2.2
2008
Renomeado
para XCUnit
2012
Teste unitário se torna
first-class citizen com
introdução do XCTest
2013
TDD NO XCODE
E AGORA?
➤ Apple promove teste unitário (XCTest, UITesting, Apple
Server, etc)
➤ Vai levar tempo…
➤ Pratique!
LIVROS
INTERNET
http://nshipster.com/unit-testing/
INTERNET
https://www.objc.io/issues/15-testing/
OBRIGADO!

Mais conteúdo relacionado

Mais procurados

Codelab Git
Codelab GitCodelab Git
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
Josenaldo de Oliveira Matos Filho
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da porta
Fabio Telles Rodriguez
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
Gabriel Pereira
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
Alan Rafael Batista
 
Tdd & CI
Tdd & CITdd & CI
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
tdc-globalcode
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
jesuinoPower
 
PostgreSQL Rock Star
PostgreSQL Rock StarPostgreSQL Rock Star
PostgreSQL Rock Star
Fabio Telles Rodriguez
 
Como Programar Melhor em Java
Como Programar Melhor em JavaComo Programar Melhor em Java
Como Programar Melhor em Java
Mauricio Volkweis Astiazara
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
Paulo Igor Alves Godinho
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
Claudiney Marques
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
Josenaldo de Oliveira Matos Filho
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
Jony Ferreira dos Santos
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
Robert Silva
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
Josenaldo de Oliveira Matos Filho
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
Vinta Software
 

Mais procurados (19)

Codelab Git
Codelab GitCodelab Git
Codelab Git
 
O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!O Spring está morto! Viva o Spring!
O Spring está morto! Viva o Spring!
 
Fazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da portaFazendo uma manada de elefantes passar por baixo da porta
Fazendo uma manada de elefantes passar por baixo da porta
 
Pep 8
Pep 8Pep 8
Pep 8
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
 
Tdd & CI
Tdd & CITdd & CI
Tdd & CI
 
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
PostgreSQL Rock Star
PostgreSQL Rock StarPostgreSQL Rock Star
PostgreSQL Rock Star
 
Como Programar Melhor em Java
Como Programar Melhor em JavaComo Programar Melhor em Java
Como Programar Melhor em Java
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!Coding Dojo em 10 Minutos!
Coding Dojo em 10 Minutos!
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
 

Semelhante a Abordando tdd no i os

RealDay: Introduction to TDD
RealDay: Introduction to TDDRealDay: Introduction to TDD
RealDay: Introduction to TDD
Miguel Schmitz Grazziotin
 
Tdd direto das trincheiras
Tdd direto das trincheirasTdd direto das trincheiras
Tdd direto das trincheiras
Scumpb
 
TDD direto das trincheiras
TDD direto das trincheirasTDD direto das trincheiras
TDD direto das trincheiras
Luiz Borba
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Thiago Barradas
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
Rogerio Fontes
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
cesarcneto
 
TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2
Luiz Borba
 
Test Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoTest Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concreto
Hélio Medeiros
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
thiagodp
 
Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020
Wagner Mendes Voltz Fusca
 
Seu código fede e você nem sabia
Seu código fede e você nem sabiaSeu código fede e você nem sabia
Seu código fede e você nem sabia
Wagner Mendes Voltz Fusca
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
Eduardo Mendes
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
Hélio Medeiros
 
All You Need Is TDD (Português)
All You Need Is TDD (Português)All You Need Is TDD (Português)
All You Need Is TDD (Português)
Huge
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
Dionatan default
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
Daniel Sobral
 
Criando uma Arquitetura Testável
Criando uma Arquitetura TestávelCriando uma Arquitetura Testável
Criando uma Arquitetura Testável
Cleiton Felipe Moraes
 
Pensando TDD
Pensando TDDPensando TDD
Pensando TDD
Luiz Ricardo Silva
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
Raphael Paiva
 

Semelhante a Abordando tdd no i os (20)

RealDay: Introduction to TDD
RealDay: Introduction to TDDRealDay: Introduction to TDD
RealDay: Introduction to TDD
 
Tdd direto das trincheiras
Tdd direto das trincheirasTdd direto das trincheiras
Tdd direto das trincheiras
 
TDD direto das trincheiras
TDD direto das trincheirasTDD direto das trincheiras
TDD direto das trincheiras
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Treinamento TDD - Atech
Treinamento TDD - AtechTreinamento TDD - Atech
Treinamento TDD - Atech
 
TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2TDD Direto das Trincheiras versao 2
TDD Direto das Trincheiras versao 2
 
Test Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concretoTest Driven Development - Em busca de feedback util e concreto
Test Driven Development - Em busca de feedback util e concreto
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020
 
Seu código fede e você nem sabia
Seu código fede e você nem sabiaSeu código fede e você nem sabia
Seu código fede e você nem sabia
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
All You Need Is TDD (Português)
All You Need Is TDD (Português)All You Need Is TDD (Português)
All You Need Is TDD (Português)
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
Criando uma Arquitetura Testável
Criando uma Arquitetura TestávelCriando uma Arquitetura Testável
Criando uma Arquitetura Testável
 
Pensando TDD
Pensando TDDPensando TDD
Pensando TDD
 
Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?Como TDD pode influenciar na construção do seu Produto?
Como TDD pode influenciar na construção do seu Produto?
 

Abordando tdd no i os