SlideShare a Scribd company logo
1 of 15
Download to read offline
Why? What? How?
Geraldo Bastos iOS Developer at IBM Brazil
iOS Developer since 2011. Now, I’m working at IBM Partnership with Apple.
Author of e-book Iniciando com XCTest
Worked at Fingertips, MobJoy, C.E.S.A.R., i2 Mobile
Projects iOS communication with car, social network for industry car,
bank app, health app …
Crazy for coffee, pizza, and movie.
linkedin.com/in/bastosgeraldo
twitter.com/geraldobastos
About me
Why need to create a tests?
Mobile Application
Reduce bugs
Integration
Assuranc
Security
Refactor
Coverage
Documentation
Clean Code
Best Practices
Show Progress
Cost is most important than…?
THINK
Cost is most important than…?TotalCost
Without Tests With Tests
Time
Breakeven
by Tom Fischer
Cost is most important than…?TotalCost
Without Tests With Tests
Time
Breakeven
by Tom Fischer
Transition
Release
Test is Agile?
Inception
Initiate Project
Construction
Interactions
Yes! Test is Agile!
…
…
Sprint backlog
Story 1
TDD CI
ReleaseSprint
What is TDD?
Test Driven Development or TDD
Kent Beck
Fails
Pass
Refactor
TDD
Extreme Programming or XP
What is CI?
Continuous Integration
Grady Booch
Chief Scientist of Rational Software
Corporation
thought its acquisition by IBM.
mainline
code code
code
XP
Object-Oriented Analysis and
Design with Applications (2nd
edition)
Continuous Integration is not a tool?
... a fully automated and reproducible build, including testing, that runs
many times a day. This allows each developer to integrate daily, thus
reducing integration problems. (Martin Fowler and Matthew Foemmel)
Yes!!!
Ok! I loved it, but How can I create tests?
Nice question!!!! =)
JUnit
JavaScript
Tests
XCTest
iOS
Android
Jasmine
Windows
Phone 8
UnitTestFramework
Nice! What I need to create tests?
team
Developer
QA
Designer
…
Manager
and a lot of coffee ;)
Thank You! =)
References
[Slide 5] https://www.simple-talk.com/dotnet/.net-framework/unit-testing-myths-and-practices/
[Slide 6] http://www.ambysoft.com/essays/agileTesting.html#AgileSDLC
[Slide 7] http://www.ibm.com/developerworks/rational/library/continuous-integration-agile-development/
[Slide 8] Kent Beck Photo - https://pt.wikipedia.org/wiki/Kent_Beck
[Slide 9] https://en.wikipedia.org/wiki/Continuous_integration
[Slide 9] https://en.wikipedia.org/wiki/Grady_Booch
[Slide 9] http://www.ibm.com/developerworks/rational/library/sep05/lee/
[Slide 10] http://www.martinfowler.com/articles/continuousIntegration.html?
cm_mc_uid=71146886230214599723323&cm_mc_sid_50200000=1460918642
[Slide 11] http://developer.android.com/intl/pt-br/training/testing/unit-testing/local-unit-tests.html
[Slide 11] http://junit.org/junit4/
[Slide 11] http://developer.android.com/intl/pt-br/training/testing/unit-testing/local-unit-tests.html
[Slide 11] https://msdn.microsoft.com/pt-br/library/windows/apps/dn168930(v=vs.105).aspx
http://c2.com/cgi/wiki?UnitTestingCostsBenefits

More Related Content

Similar to Why?What?How?

Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented reportGlobant
 
Mobile development for startups
Mobile development for startupsMobile development for startups
Mobile development for startupsJorge Barroso
 
How to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdf
How to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdfHow to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdf
How to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdfNoman Shaikh
 
Learn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptxLearn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptx75waytechnologies
 
ChatBot Company in INdia
ChatBot Company in INdiaChatBot Company in INdia
ChatBot Company in INdiaHarithaMithran
 
ChatBot Company in INdia
ChatBot Company in INdiaChatBot Company in INdia
ChatBot Company in INdiaHarithaMithran
 
Building windows phone_apps_-_a_developers_guide_v7_no_cover
Building windows phone_apps_-_a_developers_guide_v7_no_coverBuilding windows phone_apps_-_a_developers_guide_v7_no_cover
Building windows phone_apps_-_a_developers_guide_v7_no_coverPhan Sanh
 
A lap around monotouch
A lap around monotouchA lap around monotouch
A lap around monotouchmecurioJ
 
10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App DevelopersJigyasa Makkar
 
IoT Application Development: 4 Pointers Before Starting A Project 
IoT Application Development: 4 Pointers Before Starting A Project IoT Application Development: 4 Pointers Before Starting A Project 
IoT Application Development: 4 Pointers Before Starting A Project Flexsin
 
Webinar: How To Build A Bot With Cisco Spark And Built.io Flow
Webinar: How To Build A Bot With Cisco Spark And Built.io FlowWebinar: How To Build A Bot With Cisco Spark And Built.io Flow
Webinar: How To Build A Bot With Cisco Spark And Built.io FlowBuiltio
 
Remote Usability - Indigo.Design
Remote Usability - Indigo.Design Remote Usability - Indigo.Design
Remote Usability - Indigo.Design Poojitha B
 
Bridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer EditionBridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer EditionJason Mesut
 
Bridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer EditionBridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer EditionPlan
 
Certificate Examination Developement Application for Smartphone english ver1.0
Certificate Examination  Developement  Application for Smartphone english ver1.0Certificate Examination  Developement  Application for Smartphone english ver1.0
Certificate Examination Developement Application for Smartphone english ver1.0河上 純二
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportPunit Jajodia
 
Hour of Code 2015 - Elementary School
Hour of Code 2015 - Elementary SchoolHour of Code 2015 - Elementary School
Hour of Code 2015 - Elementary SchoolFrances Coronel
 
ANDROID APPS DEVELOPMENT
ANDROID APPS DEVELOPMENTANDROID APPS DEVELOPMENT
ANDROID APPS DEVELOPMENTBestSeoteam
 

Similar to Why?What?How? (20)

Converge augmented report
Converge augmented reportConverge augmented report
Converge augmented report
 
Mobile development for startups
Mobile development for startupsMobile development for startups
Mobile development for startups
 
How to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdf
How to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdfHow to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdf
How to Hire a Dedicated iOS App Developer for Developing Your iOS App.pdf
 
Learn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptxLearn How to Get Started with iOS App Development.pptx
Learn How to Get Started with iOS App Development.pptx
 
ChatBot Company in INdia
ChatBot Company in INdiaChatBot Company in INdia
ChatBot Company in INdia
 
ChatBot Company in INdia
ChatBot Company in INdiaChatBot Company in INdia
ChatBot Company in INdia
 
Building windows phone_apps_-_a_developers_guide_v7_no_cover
Building windows phone_apps_-_a_developers_guide_v7_no_coverBuilding windows phone_apps_-_a_developers_guide_v7_no_cover
Building windows phone_apps_-_a_developers_guide_v7_no_cover
 
Civi mobile & CiviSync Mobile
Civi mobile & CiviSync MobileCivi mobile & CiviSync Mobile
Civi mobile & CiviSync Mobile
 
A lap around monotouch
A lap around monotouchA lap around monotouch
A lap around monotouch
 
10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers10 Design Commandments for Mobile App Developers
10 Design Commandments for Mobile App Developers
 
IoT Application Development: 4 Pointers Before Starting A Project 
IoT Application Development: 4 Pointers Before Starting A Project IoT Application Development: 4 Pointers Before Starting A Project 
IoT Application Development: 4 Pointers Before Starting A Project 
 
Webinar: How To Build A Bot With Cisco Spark And Built.io Flow
Webinar: How To Build A Bot With Cisco Spark And Built.io FlowWebinar: How To Build A Bot With Cisco Spark And Built.io Flow
Webinar: How To Build A Bot With Cisco Spark And Built.io Flow
 
Kotlin Script
Kotlin ScriptKotlin Script
Kotlin Script
 
Remote Usability - Indigo.Design
Remote Usability - Indigo.Design Remote Usability - Indigo.Design
Remote Usability - Indigo.Design
 
Bridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer EditionBridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer Edition
 
Bridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer EditionBridging the Physical-Digital Divide: Industrial Designer Edition
Bridging the Physical-Digital Divide: Industrial Designer Edition
 
Certificate Examination Developement Application for Smartphone english ver1.0
Certificate Examination  Developement  Application for Smartphone english ver1.0Certificate Examination  Developement  Application for Smartphone english ver1.0
Certificate Examination Developement Application for Smartphone english ver1.0
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 Report
 
Hour of Code 2015 - Elementary School
Hour of Code 2015 - Elementary SchoolHour of Code 2015 - Elementary School
Hour of Code 2015 - Elementary School
 
ANDROID APPS DEVELOPMENT
ANDROID APPS DEVELOPMENTANDROID APPS DEVELOPMENT
ANDROID APPS DEVELOPMENT
 

Why?What?How?

  • 1. Why? What? How? Geraldo Bastos iOS Developer at IBM Brazil
  • 2. iOS Developer since 2011. Now, I’m working at IBM Partnership with Apple. Author of e-book Iniciando com XCTest Worked at Fingertips, MobJoy, C.E.S.A.R., i2 Mobile Projects iOS communication with car, social network for industry car, bank app, health app … Crazy for coffee, pizza, and movie. linkedin.com/in/bastosgeraldo twitter.com/geraldobastos About me
  • 3. Why need to create a tests? Mobile Application Reduce bugs Integration Assuranc Security Refactor Coverage Documentation Clean Code Best Practices Show Progress
  • 4. Cost is most important than…? THINK
  • 5. Cost is most important than…?TotalCost Without Tests With Tests Time Breakeven by Tom Fischer
  • 6. Cost is most important than…?TotalCost Without Tests With Tests Time Breakeven by Tom Fischer
  • 7. Transition Release Test is Agile? Inception Initiate Project Construction Interactions
  • 8. Yes! Test is Agile! … … Sprint backlog Story 1 TDD CI ReleaseSprint
  • 9. What is TDD? Test Driven Development or TDD Kent Beck Fails Pass Refactor TDD Extreme Programming or XP
  • 10. What is CI? Continuous Integration Grady Booch Chief Scientist of Rational Software Corporation thought its acquisition by IBM. mainline code code code XP Object-Oriented Analysis and Design with Applications (2nd edition)
  • 11. Continuous Integration is not a tool? ... a fully automated and reproducible build, including testing, that runs many times a day. This allows each developer to integrate daily, thus reducing integration problems. (Martin Fowler and Matthew Foemmel) Yes!!!
  • 12. Ok! I loved it, but How can I create tests? Nice question!!!! =) JUnit JavaScript Tests XCTest iOS Android Jasmine Windows Phone 8 UnitTestFramework
  • 13. Nice! What I need to create tests? team Developer QA Designer … Manager and a lot of coffee ;)
  • 15. References [Slide 5] https://www.simple-talk.com/dotnet/.net-framework/unit-testing-myths-and-practices/ [Slide 6] http://www.ambysoft.com/essays/agileTesting.html#AgileSDLC [Slide 7] http://www.ibm.com/developerworks/rational/library/continuous-integration-agile-development/ [Slide 8] Kent Beck Photo - https://pt.wikipedia.org/wiki/Kent_Beck [Slide 9] https://en.wikipedia.org/wiki/Continuous_integration [Slide 9] https://en.wikipedia.org/wiki/Grady_Booch [Slide 9] http://www.ibm.com/developerworks/rational/library/sep05/lee/ [Slide 10] http://www.martinfowler.com/articles/continuousIntegration.html? cm_mc_uid=71146886230214599723323&cm_mc_sid_50200000=1460918642 [Slide 11] http://developer.android.com/intl/pt-br/training/testing/unit-testing/local-unit-tests.html [Slide 11] http://junit.org/junit4/ [Slide 11] http://developer.android.com/intl/pt-br/training/testing/unit-testing/local-unit-tests.html [Slide 11] https://msdn.microsoft.com/pt-br/library/windows/apps/dn168930(v=vs.105).aspx http://c2.com/cgi/wiki?UnitTestingCostsBenefits