Presents  Continuous Integration  and Automation for  Mobile Development &  TestWebinar                    1
Where to automate for rapid mobile dev and testTODAY’S PRESENTERS•     Dave Meyer: Product Marketing Manager, Atlassian - ...
o   Introductiono   Poll Questiono   Continuous Integration and Bamboo for Mobileo   Test Management and the CI processo  ...
o   Shear Number of Devices (953M Smartphones)o   Different Operating Systemso   Scale of Global Customers (6B)o   Dynamic...
Pace and Scale of MobileFingers and Eyeballs   VS.                                  Development                           ...
SDLC tasks are a constant. Pace Isn’t                                        6
The Mobile Need is Elementary> More Progress in Less Time <                                 7
8
We help plan, build, and launch great              software           Team Collaboration                             Track...
Dave Meyer  @d_meyer             10
Why does Continuous Integration matter?     Find bugs faster     Make merging suck less                                   ...
If you’re going to fail, fail fast!                                #atlassian
Principles of CI            o One (1) repo            o Automate your builds!               o Builds all the time!        ...
What does a CI tool do?                                                 UI TestsClone repo   Build   Unit Tests   Deploy t...
Plan       15
PlanStage   Stage   Stage                        16
PlanStage   Stage   Stage  Job    Job      Job                  Job  Job                        17
PlanStage     Stage     Stage  Job      Job        Job   Task      Task     Task                      Job   Task      Task...
• Checkout from Source Control  • SVN, Git, Hg, Perforce, CVS• Build Engine  • Ant, Maven, MSBuilder, Rake, Grails, Ivy• A...
PlanStage      Stage     Stage  Job       Job        Job   Task       Task     Task                       Job   Task      ...
Jobs • Group dependent Tasks together inside a Job   to ensure order of execution  • “Build & Package” Job = SCM Checkout ...
PlanStage      Stage     Stage  Job       Job        Job   Task       Task     Task                       Job   Task      ...
Plans• Represents the complete set of actions taken with each build• Variety of triggers:  • Change in SCM  • Cron  • Manu...
Up your Mobile Dev speed1. Start failing faster                           24
Up your Mobile Dev speed1. Start failing faster2. Don’t build alone                           25
Up your Mobile Dev speed1. Start failing faster2. Don’t build alone3. Atlassian <3 mobile devs                            ...
Up your Mobile Dev speed                          Blog: http://atlss.in/mobileCI1. Start failing faster2. Don’t build alon...
Up your Mobile Dev speed                          Blog: http://atlss.in/mobileCI1. Start failing faster2. Don’t build alon...
Up your Mobile Dev speed                          Blog: http://atlss.in/mobileCI1. Start failing faster2. Don’t build alon...
Company overviewprofile     o    Founded in 2007     o    900+ global customers     o    Atlassian Integration Partner    ...
Sanjay Zalavadia     @ZalinCal                   31
Challenges with Mobile App testingTransitional testing team•Seasonal testers•Globally distributed teamsHuge testing footpr...
Consequences if left unaddressedLack of organized, re-useable systems:•Missed Deadlines•App certification process - reject...
Get organizedCentralize your test assets•Single test repository•Accessible and useable globally•Manual, automation and per...
Achieve test completion with QualityAutomate•Build time verification•Utilize the cloudPerformance testing•Not optionalMain...
Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates
Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates               ...
Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates
Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates
o   First End-to-End Mobile App Test Platform      •   First Cloud-Based Load Testing Solution      •   First Global Test ...
Brad Johnson  @bradjohnsonsv                   41
Application Development Lifecycle     Development &         Build                      Functional Test                    ...
mov ile  b    Application Development Lifecycle          Development &                CI                       TouchTest  ...
44
To                                            Check inQA or                                   DevsUsers                  ☐...
To                                                   Check in or                                 DevsBetaUsers            ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                Check in or                                 DevsBetaUsers               ...
To                                                          Check in or                                       DevsBetaUser...
To                                                          Check in or                                       DevsBetaUser...
To                                                Check in or                                 DevsBetaUsers               ...
•   No jailbreak required      •   No “rooting” required•   No tethering required      •   No tethering required•   iOS 5....
• Download CloudTest Lite (http://www.soasta.com)  • Includes TouchTest technology• Free for a single device• No expiratio...
It Doesn’t Matter Where You Start.           JUST START!                                     59
Q&A                               RESOURCESwww.SOASTA.com                www.GetZephyr.com     www.Atlassian.comKnowledge ...
Upcoming SlideShare
Loading in...5
×

SOASTA Webinar: Process Compression For Mobile App Dev 120612

841

Published on

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
841
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • All of this is a really long way of saying that if your code is going to fail for any reason, we want to discover that failure as fast as possible so we can address it right away. (CLICK)
  • So if we generalize that out, we get something this. The atomic unit in Bamboo is called a Plan. Plans are made up of one or more Stages; Stages are made up of one or more Jobs, and Jobs are made of up of one or more Tasks. Might seem like a lot of moving pieces, but they all have their purpose, which will become clear as we look at each of those elements in more depth. And look: build engineering is complicated. There ’ s just no getting around that. If it were easy, we wouldn ’ t need people to do the job that you guys are out there doing every day. Our job with Bamboo is to make your jobs suck less --hopefully a lot less.
  • So if we generalize that out, we get something this. The atomic unit in Bamboo is called a Plan. Plans are made up of one or more Stages; Stages are made up of one or more Jobs, and Jobs are made of up of one or more Tasks. Might seem like a lot of moving pieces, but they all have their purpose, which will become clear as we look at each of those elements in more depth. And look: build engineering is complicated. There ’ s just no getting around that. If it were easy, we wouldn ’ t need people to do the job that you guys are out there doing every day. Our job with Bamboo is to make your jobs suck less --hopefully a lot less.
  • So if we generalize that out, we get something this. The atomic unit in Bamboo is called a Plan. Plans are made up of one or more Stages; Stages are made up of one or more Jobs, and Jobs are made of up of one or more Tasks. Might seem like a lot of moving pieces, but they all have their purpose, which will become clear as we look at each of those elements in more depth. And look: build engineering is complicated. There ’ s just no getting around that. If it were easy, we wouldn ’ t need people to do the job that you guys are out there doing every day. Our job with Bamboo is to make your jobs suck less --hopefully a lot less.
  • So if we generalize that out, we get something this. The atomic unit in Bamboo is called a Plan. Plans are made up of one or more Stages; Stages are made up of one or more Jobs, and Jobs are made of up of one or more Tasks. Might seem like a lot of moving pieces, but they all have their purpose, which will become clear as we look at each of those elements in more depth. And look: build engineering is complicated. There ’ s just no getting around that. If it were easy, we wouldn ’ t need people to do the job that you guys are out there doing every day. Our job with Bamboo is to make your jobs suck less --hopefully a lot less.
  • So if we generalize that out, we get something this. The atomic unit in Bamboo is called a Plan. Plans are made up of one or more Stages; Stages are made up of one or more Jobs, and Jobs are made of up of one or more Tasks. Might seem like a lot of moving pieces, but they all have their purpose, which will become clear as we look at each of those elements in more depth. And look: build engineering is complicated. There ’ s just no getting around that. If it were easy, we wouldn ’ t need people to do the job that you guys are out there doing every day. Our job with Bamboo is to make your jobs suck less --hopefully a lot less.
  • Grouping tasks into jobs is how you tell Bamboo what order your tasks must be run in. And because is possible to run two or more jobs simultaneously, jobs provide a way to organize your build into tasks that are dependent on each other, and tasks that are independent. For example, you may want to run Checkstyle on your code before building it --the idea being that if there are too many violations, we won ’ t even bother compiling. To accomplish this, there are actually 3 tasks involved, and they all have an upstream/downstream relationship. First, check out the code from source control; then run Checkstyle; then do the actual build. These tasks are grouped together in a job because they need to be executed in a certain order. Other places in your pipeline may include steps (ie, tasks) that are completely independent of each other and can be executed simultaneously or in no particular order. You may have one task that runs integration level tests, and another that runs UI tests. To save time, you would put those tasks into separate jobs, allowing them to be run in parallel so long as there are enough build agents available. (CLICK) So, agents and jobs are kind of tied to each other. And because of that, all tasks within a job are garunteed to be executed on the same agent. Therefore, it makes sense to perform certain peripheral functions at the Job level. Build requirements: because all the tasks in a job will be executed on the same build agent, it makes sense to define the build requirements in the aggregate, at the Job level. Artifacts: makes sense to grab artifacts at the point where the agent has completed its task list and is ready to move onto the next set of tasks in the next job. Similarly, it ’ s convenient to parse logs and test results and the Job level (or at the agent level, if you will). Test results are automatically aggregated by Bamboo into a single pass/fail report for the entire plan. You can then drill down into the various testing jobs . - requirements: not too granular, not too broad... nice middle ground for grouping Artifacts and requirements are handled at the job level because of the way jobs hold related tasks together. For example, it is assumed that if one batch of tests requires Artifacts are captured and consumed at the Job level (and we ’ ll talk more later on about why that is),
  • So if we generalize that out, we get something this. The atomic unit in Bamboo is called a Plan. Plans are made up of one or more Stages; Stages are made up of one or more Jobs, and Jobs are made of up of one or more Tasks. Might seem like a lot of moving pieces, but they all have their purpose, which will become clear as we look at each of those elements in more depth. And look: build engineering is complicated. There ’ s just no getting around that. If it were easy, we wouldn ’ t need people to do the job that you guys are out there doing every day. Our job with Bamboo is to make your jobs suck less --hopefully a lot less.
  • Finally, the Plan. The plan is your whole build pipeline from start to finish (and from here on out I ’ ll be referring to “ build pipelines ” as Plans). Plans can be triggered by changes to source control, they can be scheduled to run at certain intervals, or run only when a human comes along and pushes the “ go ” button. Plans can also have parent/child relationships, where the successful completion of the parent plan triggers the start of one or more child plans. (more on that later) Now, there are also some granular controls available at the Plan level. Basically, you can override a handful of global configs on a per-Plan basis to fine-tune them. Maybe you want to give certain users admin permissions, but only on one or two plans. Maybe you want to keep most build results around for 3 weeks, but for one particular Plan, you want to keep them longer. If you want to play around with these kinds of settings, the help docs will guide you through the mechanics of it.
  • Don ’ t build alone: integration to deploy automatically to Heroku, connect with JIRA, get build notifications in HipChat, support for Cocoa, iOS, and XCode with lots of tasks recording OCUnit/SenTestKit results and keychain management. Add a task to upload directly to HockeyApp for crash reporting and testing.
  • Don ’ t build alone: integration to deploy automatically to Heroku, connect with JIRA, get build notifications in HipChat, support for Cocoa, iOS, and XCode with lots of tasks recording OCUnit/SenTestKit results and keychain management. Add a task to upload directly to HockeyApp for crash reporting and testing.
  • Don ’ t build alone: integration to deploy automatically to Heroku, connect with JIRA, get build notifications in HipChat, support for Cocoa, iOS, and XCode with lots of tasks recording OCUnit/SenTestKit results and keychain management. Add a task to upload directly to HockeyApp for crash reporting and testing.
  • Don ’ t build alone: integration to deploy automatically to Heroku, connect with JIRA, get build notifications in HipChat, support for Cocoa, iOS, and XCode with lots of tasks recording OCUnit/SenTestKit results and keychain management. Add a task to upload directly to HockeyApp for crash reporting and testing.
  • Don ’ t build alone: integration to deploy automatically to Heroku, connect with JIRA, get build notifications in HipChat, support for Cocoa, iOS, and XCode with lots of tasks recording OCUnit/SenTestKit results and keychain management. Add a task to upload directly to HockeyApp for crash reporting and testing.
  • Don ’ t build alone: integration to deploy automatically to Heroku, connect with JIRA, get build notifications in HipChat, support for Cocoa, iOS, and XCode with lots of tasks recording OCUnit/SenTestKit results and keychain management. Add a task to upload directly to HockeyApp for crash reporting and testing.
  • SOASTA Webinar: Process Compression For Mobile App Dev 120612

    1. 1. Presents Continuous Integration and Automation for Mobile Development & TestWebinar 1
    2. 2. Where to automate for rapid mobile dev and testTODAY’S PRESENTERS• Dave Meyer: Product Marketing Manager, Atlassian - @d_meyer• Sanjay Zalavadia: Director of Professional Services, Zephyr - @ZalinCal• Brad Johnson: VP Product & Channel Marketing, SOASTA - @bradjohnsonsvLeading Innovators in Software Development! - Helping teams build amazing software - Delivering real-time test management - The leader in mobile and cloud testing Aligned with a Common Goal High Speed Software Delivery 2
    3. 3. o Introductiono Poll Questiono Continuous Integration and Bamboo for Mobileo Test Management and the CI processo Automation for continuous mobile testingQuestions:- Please submit via Chat during event 3
    4. 4. o Shear Number of Devices (953M Smartphones)o Different Operating Systemso Scale of Global Customers (6B)o Dynamic Content (Video, Animation)o Rapid development driven by demand Manual Processes Can Not Keep Up 4
    5. 5. Pace and Scale of MobileFingers and Eyeballs VS. Development 5
    6. 6. SDLC tasks are a constant. Pace Isn’t 6
    7. 7. The Mobile Need is Elementary> More Progress in Less Time < 7
    8. 8. 8
    9. 9. We help plan, build, and launch great software Team Collaboration Track, Plan, Analyze ...and more! Track projects, events, & people Group Chat Agile project tracking Exploratory Testing • 23,000 customers in over 130 countries • Offices in Sydney, San Francisco & Amsterdam • A “leader” in ALM according to Gartner 9
    10. 10. Dave Meyer @d_meyer 10
    11. 11. Why does Continuous Integration matter? Find bugs faster Make merging suck less x 2 for Mobile Faster feedback loops Less lag time
    12. 12. If you’re going to fail, fail fast! #atlassian
    13. 13. Principles of CI o One (1) repo o Automate your builds! o Builds all the time! o Automate your tests! o Deploy, deliver, distribute, deploy, deliver ....
    14. 14. What does a CI tool do? UI TestsClone repo Build Unit Tests Deploy to QA Integration Tests Deploy to Production API Tests Performance/Load Tests Smoke tests 14
    15. 15. Plan 15
    16. 16. PlanStage Stage Stage 16
    17. 17. PlanStage Stage Stage Job Job Job Job Job 17
    18. 18. PlanStage Stage Stage Job Job Job Task Task Task Job Task Task Task Job Task Task Task 18
    19. 19. • Checkout from Source Control • SVN, Git, Hg, Perforce, CVS• Build Engine • Ant, Maven, MSBuilder, Rake, Grails, Ivy• Analysis & Reports • code coverage, static analysis, performance• Deployment • Tomcat, Heroku, Deploy It, LiveRebel, Artifactory, SCP, Script Tasks run sequentially inside their container: a Job 19
    20. 20. PlanStage Stage Stage Job Job Job Task Task Task Job Task Task Task Job Task Task Task 20
    21. 21. Jobs • Group dependent Tasks together inside a Job to ensure order of execution • “Build & Package” Job = SCM Checkout Task + Checkstyle Task + Ant Task • Place independent Tasks in their own Jobs to tighten the feedback loop • “Integration Tests” Job = Maven Task • “UI Tests” Job = Maven Task • These two Jobs can run in any order, or simultaneousl Jobs run in parallel inside their container: a Stage 21
    22. 22. PlanStage Stage Stage Job Job Job Task Task Task Job Task Task Task Job Task Task Task 22
    23. 23. Plans• Represents the complete set of actions taken with each build• Variety of triggers: • Change in SCM • Cron • Manual (push-button) • Parent Plans• Global elements you can fine-tune at the Plan level: • Variables • Repositories • Notifications • Permissions • Build Expiry 23
    24. 24. Up your Mobile Dev speed1. Start failing faster 24
    25. 25. Up your Mobile Dev speed1. Start failing faster2. Don’t build alone 25
    26. 26. Up your Mobile Dev speed1. Start failing faster2. Don’t build alone3. Atlassian <3 mobile devs 26
    27. 27. Up your Mobile Dev speed Blog: http://atlss.in/mobileCI1. Start failing faster2. Don’t build alone3. Atlassian <3 mobile devs 27
    28. 28. Up your Mobile Dev speed Blog: http://atlss.in/mobileCI1. Start failing faster2. Don’t build alone3. Atlassian <3 mobile devs 28
    29. 29. Up your Mobile Dev speed Blog: http://atlss.in/mobileCI1. Start failing faster2. Don’t build alone3. Atlassian <3 mobile devs 29
    30. 30. Company overviewprofile o Founded in 2007 o 900+ global customers o Atlassian Integration Partner o Headquartered in Silicon Valley, CACONTACT o Email: sales@getzephyr.com o Office: (510) 400-8656 o Home: getzephyr.com 30
    31. 31. Sanjay Zalavadia @ZalinCal 31
    32. 32. Challenges with Mobile App testingTransitional testing team•Seasonal testers•Globally distributed teamsHuge testing footprint•Wide variety of platforms, devices, OS, languages, browser versions, MODS, carriers•Dealing with multiple marketplaces / ecosystems / product catalogs•Can’t write and manually execute separate testsKeeping track of what’s going on …•Hard to know where you are in your testing•Constant updates needed for the Business, Executives, PMs, etc .
    33. 33. Consequences if left unaddressedLack of organized, re-useable systems:•Missed Deadlines•App certification process - rejection•Re-inventing the wheelLack of Coverage•Quality issues•Low ratings, Poor reviewsLack of visibility•Lose track of where you are in your testing•QA = black hole
    34. 34. Get organizedCentralize your test assets•Single test repository•Accessible and useable globally•Manual, automation and performance •3
    35. 35. Achieve test completion with QualityAutomate•Build time verification•Utilize the cloudPerformance testing•Not optionalMaintain Consistency
    36. 36. Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates
    37. 37. Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates •5
    38. 38. Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates
    39. 39. Provide complete VisibilityAccessibility to entire Project TeamMetrics Availability 24 x 7Real-time updates
    40. 40. o First End-to-End Mobile App Test Platform • First Cloud-Based Load Testing Solution • First Global Test Cloud (17 Countries, 100 Cities) • First Mobile Test Automation “Platform” • First real time RUM for web and mobileo Over 350 Global Corporate Customers • 10,000 Mobile Developers and Testers use CloudTest • Over 1,000 Mobile and Web Apps are Tested with CloudTesto Award Winning & Patented Technology • Named by Wall Street Journal Top 50 Hottest Companies three years running • Gartner Visionary Leadero Over 100+ Employees US, EMEA 40
    41. 41. Brad Johnson @bradjohnsonsv 41
    42. 42. Application Development Lifecycle Development & Build Functional Test Automation Application Real User Performance & Monitoring Load Testing 42
    43. 43. mov ile b Application Development Lifecycle Development & CI TouchTest Application mPulse CloudTest 43
    44. 44. 44
    45. 45. To Check inQA or DevsUsers ☐ Test ✓ Pass Source Code Repository Results ☐ Fail Check out Run Tests Build Server Unit Tests 45
    46. 46. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on devices Push to devices In parallel Real Devices 46
    47. 47. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 47
    48. 48. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 48
    49. 49. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 49
    50. 50. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 50
    51. 51. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 51
    52. 52. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 52
    53. 53. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 53
    54. 54. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test Results ☐ Fail Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 54
    55. 55. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test Results ☐ Fail Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 55
    56. 56. To Check in or DevsBetaUsers ☐ ✓ Pass Source Code Repository Test ☐ Fail Results Check out Bamboo Build Server Run Tests Bamboo Mac Agent Execute on Push to devices devices In parallel Real Devices 56
    57. 57. • No jailbreak required • No “rooting” required• No tethering required • No tethering required• iOS 5.0, 5.1, 6.0 • Android 2.3.3• iPhone 3GS, 4, 4S, and 5 (Gingerbread) and later• iPad 1, 2, 3, 4 • Phones, tablets, and• iPad mini emulators• Simulators 57
    58. 58. • Download CloudTest Lite (http://www.soasta.com) • Includes TouchTest technology• Free for a single device• No expiration• Free support via CloudLink forums 58
    59. 59. It Doesn’t Matter Where You Start. JUST START! 59
    60. 60. Q&A RESOURCESwww.SOASTA.com www.GetZephyr.com www.Atlassian.comKnowledge Center Products•White Papers •Zephyr Enterprise•Webinar Recordings •Zephyr Community•Case Studies •Zephyr for JIRACloudLink Community Support Center•Support •Knowledge Base•Tutorials •ZephyrTV•Video •Community Forums Contact SOASTA: info@soasta.com 866.344.8766 Follow us: twitter.com/cloudtest facebook.com/cloudtest 60
    1. A particular slide catching your eye?

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

    ×