MOBILE DEVELOPMENT    AND TESTING       Scott Ryan      September 2011
AGENDAProject FocusProject OrganizationUnit Testing using JasmineIntegration and Functional Testing using PhantomGradle Bu...
PROJECT FOCUSGenerate a random number between 1 and set numberAllow configuration of repeatsPresent useful in flight data to...
TOOLSETCSS                       JasmineHTML 5                    PhantomJavascript                JS Test DriverJQuery Mo...
PROJECT STRUCTURELeverage Common StructureSource versus testSupport mobile developmentLayer javascript (Service, Presentat...
DEVELOPMENTStart with Test DescriptionBuild out the testsBuild code to satisfy the testsReview presentation with user/owner
TDD WITH JASMINEConstructorNumber GeneratorCheck and StoreLast NumberSelectionsReset
JASMINEDescribe to group high level conceptsMultiple layers of DescribeUse It descriptions to clarify tests
JASMINESuites and Specs help structure testsUse matchers to assert resultsCustom matchers can be developedRun from Spec HT...
JASMINEBefore and After structuresRunners are run before/after every spec in a suiteSuite based run before/after a specSpe...
JASMINE SPIESSupport mocking, faking and interceptingCan be used to mock out async behavourHave specific matchers  wasCalle...
ASYNC JASMINERunsWaitsWaitsFor
PHANTOM TESTINGOrganize to support project structureBuild tests to support integrated processesTests integration of javasc...
PHANTOMWebkit Headless Full Support browserCreate page with URLInject your behavior into the browserCan inject JS and CSS ...
JS TEST DRIVERSupports CIAllows for clustered executionVery scalable with parallel executionBuilt to test multiple browser...
BUILD AND PACKAGEGradle build leveraging Ant tasks as wellMinify and Replace‘About’ page replacementWar or zip deliveryMob...
SOURCE CODEGithubhttps://github.com/scryan7371/NumGen
Upcoming SlideShare
Loading in...5
×

Mobile Development and Testing

1,473

Published on

Presentation at Denver Open Source User Group on how to develop and test a JQuery Mobile application for IOS and Android

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,473
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Mobile Development and Testing

    1. 1. MOBILE DEVELOPMENT AND TESTING Scott Ryan September 2011
    2. 2. AGENDAProject FocusProject OrganizationUnit Testing using JasmineIntegration and Functional Testing using PhantomGradle Build ProcessesPackaging and Delivery
    3. 3. PROJECT FOCUSGenerate a random number between 1 and set numberAllow configuration of repeatsPresent useful in flight data to the userSupport multiple mobile and web platforms
    4. 4. TOOLSETCSS JasmineHTML 5 PhantomJavascript JS Test DriverJQuery Mobile ZombiePhone gap GradleEclipse/Xcode/Web Storm
    5. 5. PROJECT STRUCTURELeverage Common StructureSource versus testSupport mobile developmentLayer javascript (Service, Presentation, etc)Use frameworks such as Spine or Backbone, etc.
    6. 6. DEVELOPMENTStart with Test DescriptionBuild out the testsBuild code to satisfy the testsReview presentation with user/owner
    7. 7. TDD WITH JASMINEConstructorNumber GeneratorCheck and StoreLast NumberSelectionsReset
    8. 8. JASMINEDescribe to group high level conceptsMultiple layers of DescribeUse It descriptions to clarify tests
    9. 9. JASMINESuites and Specs help structure testsUse matchers to assert resultsCustom matchers can be developedRun from Spec HTMLRun from Phantom to support CI
    10. 10. JASMINEBefore and After structuresRunners are run before/after every spec in a suiteSuite based run before/after a specSpecs can have one or more after structures
    11. 11. JASMINE SPIESSupport mocking, faking and interceptingCan be used to mock out async behavourHave specific matchers wasCalled, wasCalledWith Spyon and .... (throw, return, call through)Properties count, parameters
    12. 12. ASYNC JASMINERunsWaitsWaitsFor
    13. 13. PHANTOM TESTINGOrganize to support project structureBuild tests to support integrated processesTests integration of javascript with each other and with thedisplay layerScreen capture to validate look and feelIntegrate with CI
    14. 14. PHANTOMWebkit Headless Full Support browserCreate page with URLInject your behavior into the browserCan inject JS and CSS filesCapture screen shots from within browser
    15. 15. JS TEST DRIVERSupports CIAllows for clustered executionVery scalable with parallel executionBuilt to test multiple browser behaviorIDE IntegrationQuick start up
    16. 16. BUILD AND PACKAGEGradle build leveraging Ant tasks as wellMinify and Replace‘About’ page replacementWar or zip deliveryMobile packaging using phonegap
    17. 17. SOURCE CODEGithubhttps://github.com/scryan7371/NumGen
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×