Top Banner
Mobile Software Development
36
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Mobile Software Development

Page 2: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Portfolio

Page 3: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Topics

• GIT

• Continuous Integration

• Testing & Deployment

• Android Build System

Page 4: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT

Page 5: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Distributed version control system

• Initial release 07.04.2005

• Strong support for non-linear development

• Efficient handling of large projects

• Toolkit-based design

Page 6: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Pros:

• Speed

• Work offline

• Branching and tagging

• Customizable

Page 7: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Git objects:

Page 8: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Create new branch:

$ git branch testing

Page 9: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Checkout branch:

$ git checkout testing

Page 10: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Merge branch:

$ git merge testing

Page 11: Mobile Software Development @ FH-Kapfenberg 04.12.2013

GIT• Workflow:

Page 12: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Continuous Integration

Page 13: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Continuous Integration• Extreme Programming (XP)

• Test-Driven Development (TDD)

• Prevent integration problems

• Continuous builds

• Automate distribution

Page 14: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Continuous Integration

Page 15: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Extreme Programming• Short development cycles

• High frequent releases

• Pair programming

• Flat management structure

• Good structured code

Page 16: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Test-Driven Development

Run tests see new failure

Add a test

Write some code Run tests see all pass

Refactor

Page 17: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Jenkins• Open Source (http://jenkins-ci.org)

• Supports several build tools (Gradle, LLMV, …)

• Used in organizations (Facebook, Yahoo, Dell, …)

• Easy installation

• Plugin support

Page 18: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Jenkins

Page 19: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Bots• Build, analyze and test apps

• Need OSX Server 10.9 (XCode Service)

• GIT & SVN support

• Build & test statistics (GUI)

• Manage Bots via Log Navigator or Web Browser

Page 20: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Bots

Page 21: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Testing & Deployment

Page 22: Mobile Software Development @ FH-Kapfenberg 04.12.2013

• Unit testing

• Integration testing

• System testing

• Acceptance testing (Beta Tests)

Test levels

Page 23: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Unit Tests

• Test the result not the implementation (Compare result with specification)

• White-Box-Test

• n * functions == n * tests

• Method could contain bugs

• Prevent new issues

Page 24: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Alpha & Beta Testing• Alpha Testing:

• Internal user acceptance test

• Tested by potential users or test team

• Should be done before beta testing

• Beta Testing:

• External user acceptance test

Page 25: Mobile Software Development @ FH-Kapfenberg 04.12.2013

TestFlight• Free service

• Distributing apps for Adhoc-Testing

• Supports Android, iOS and Windows

• Supervise testers

• Own SDK to monitor app performance

Page 26: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Crittercism• Free service / Subscription plans

• Monitor live app performance

• Collect crashlogs and evaluate them

• Github issue integration

Page 27: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Google Analytics• Live statistics from where the app is running

• Track usage to optimize further releases

• Gather device information

• Custom variables available

• Can track crashes and exceptions

Page 28: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Google AnalyticsKärnten Card iOS App, 19.06. - 30.09.2013

Page 29: Mobile Software Development @ FH-Kapfenberg 04.12.2013

Android Build System

Page 30: Mobile Software Development @ FH-Kapfenberg 04.12.2013
Page 31: Mobile Software Development @ FH-Kapfenberg 04.12.2013
Page 32: Mobile Software Development @ FH-Kapfenberg 04.12.2013
Page 33: Mobile Software Development @ FH-Kapfenberg 04.12.2013
Page 34: Mobile Software Development @ FH-Kapfenberg 04.12.2013
Page 35: Mobile Software Development @ FH-Kapfenberg 04.12.2013
Page 36: Mobile Software Development @ FH-Kapfenberg 04.12.2013