(Unit) Testing ios Apps. Paweł Dudek

Size: px
Start display at page:

Download "(Unit) Testing ios Apps. Paweł Dudek"

From this document you will learn the answers to the following questions:

  • Where do OCUnit Syntax all test classes inherit from?

  • What is the oldest testing framework?

  • Why do we want to write?

Transcription

1 (Unit) Testing ios Apps Paweł Dudek 1

2 Why do we want to write tests? 2

3 Reasons for testing Striving for better software Leads to better, more modularized codebase Faster development cycles Being confident about your code Less code to write Saved time 3

4 Common misconceptions 4

5 Common misconceptions It will take longer to write code or Time spent writing/refactoring tests is time lost It will take more time to modify existing system 5

6 Reasons for testing Striving for better software Leads to better, more modularized codebase Faster development cycles Being confident about your code Less code to write Saved time 6

7 Am I going to write poor software if I don t do tests? 7

8 Are unit tests an invaluable tool for writing great software? Heck yes. Am I going to produce a poor product if I can t unit test? Hell no. Jonathan Rasmusson 8

9 Now that we know that writing tests is a good idea... 9

10 How can we do it? 10

11 Warning You will feel confused You won t know how to start You will need help Conclusion: it s not easy to start 11

12 Tips Never think of tests as tests Think of a scenario, behavior, example Grab a mature project from github with tests included Find someone experienced and ask questions Program in pairs! 12

13 Get on with it! How can we test? 13

14 TDD Test Driven Development Red, Green, Refactor Write failing test first Fix it Refactor 14

15 BDD Behavior Driven Development 15

16 How does BDD differ from TDD? 16

17 BDD builds upon TDD by formalising the good habits of the best TDD practitioners. Matt Wynne, XP Evangelist 17

18 Good habits Work outside-in Use examples Use ubiquitous language 18

19 A little bit of terminology... 19

20 Terminology Mocking (mocks & stubs) Expecting Matching Faking 20

21 Testing in ios 21

22 Unit Tests 22

23 OCUnit Oldest Mac testing framework - officially supported by Apple since 2005 Integrated with XCode Built-in assertion macros 23

24 OCUnit Syntax All test classes inherit from SenTestCase All tests begin with test Setup and teardown method Everything else is ignored by testing framework Means you can use as additional setup methods! 24

25 OCUnit -(void)testfullname { Person *person = [Person person]; person.firstname person.secondname NSString *fullname = [person fullname]; NSString *expectedname Testowniczek"; STAssertTrue([fullName } 25

26 OCUnit vs XCTest 26

27 Behavior Tests 27

28 Kiwi and Cedar Nearly the same syntax Built-in stubs/mocks Built-in matchers 28

29 Kiwi and Cedar Syntax 29

30 SPEC_BEGIN(PersonSpec)! ^{ block Person *person;! beforeeach(^{ person = [[Person alloc] init]; person.firstname person.lastname Last Name"; });! describe(@"full name", ^{! block NSString *fullname;! beforeeach(^{ fullname = [person fullname]; });! it(@"should return the full name", ^{ expect(fullname).to(equal(@"mariusz Testowniczek")); }); }); });! SPEC_END 30

31 Example 31

32 Cedar Taptera Additions 32

33 The action block 33

34 The action block Syntax addition to previous blocks Executed after all beforeeach s for given example are run Really useful when chaining behavior tests 34

35 Describe beforeeach action Describe beforeeach action Describe beforeeach action it 35

36 Example 36

37 Helper libraries 37

38 Helper libraries Mocking: OCMock, OCMockito, LRMockey Expecting: Expecta Matching: OCHamcrest 38

39 Most the presented libraries offer similar functionality It all depends on syntax. 39

40 ios Testing Tips 40

41 Testing UI Layout Hard to maintain (as can change rapidly when GD goes on a rampage) Gives little value (quickly noticed by QA if something is off) 41

42 System Singletons [UIDevice currentdevice] [UIScreen mainscreen] Makes hard to test if accessed directly Nice candidate for putting in a property 42

43 UIViewController transitions Pushing new view controllers on nav controller stack or using transitions API Use helper class Tests - check if a given method was called on the helper class 43

44 Testing UIView animations Easiest way is to use the block-based API Helper class similar to transitions Tests - use fake to immediately call the animation block 44

45 Common caveats Don t set mocks on [UIViewController view] Avoid using categories to override system properties or existing behaviour Keychain and most of system objects are unavailable when tests are run from command line w/o simulator Don t test objects that are fakes or partial mocks 45

46 Things worth talking about but cut due to time limitations Frank / KIF - Application Tests Specta - yet another BDD style testing framework Dependency injection - Objection, Typhoon 46

47 Summary 47

48 Summary Testing is a great way to help developers Better codebase, faster iterations Invaluable for larger projects 48

49 Resources & Contact Code Examples github.com/paweldudek 49

RoR to RubyMotion Writing Your First ios App With RubyMotion. Michael Denomy BostonMotion User Group June 25, 2013

RoR to RubyMotion Writing Your First ios App With RubyMotion. Michael Denomy BostonMotion User Group June 25, 2013 RoR to RubyMotion Writing Your First ios App With RubyMotion Michael Denomy BostonMotion User Group June 25, 2013 About Me Tech Lead at Cyrus Innovation - Agile web consultancy with offices in New York

More information

View Controller Programming Guide for ios

View Controller Programming Guide for ios View Controller Programming Guide for ios Contents About View Controllers 10 At a Glance 11 A View Controller Manages a Set of Views 11 You Manage Your Content Using Content View Controllers 11 Container

More information

Agile Testing. 2015 Intelliware Development Inc. BC Holmes @bcholmesdotorg

Agile Testing. 2015 Intelliware Development Inc. BC Holmes @bcholmesdotorg Agile Testing BC Holmes @bcholmesdotorg What you ll learn in this presentation: Why do we use Agile testing? What Agile testing isn t What Agile testing is: unit testing and test-driven development (TDD)

More information

Assignment 2: Matchismo 2

Assignment 2: Matchismo 2 Assignment 2: Matchismo 2 Objective This assignment extends the card matching game Matchismo we started last week to get experience understanding MVC, modifying an MVC s View in Xcode, creating your own

More information

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system. Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

More information

MA-WA1920: Enterprise iphone and ipad Programming

MA-WA1920: Enterprise iphone and ipad Programming MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This

More information

Agile Techniques and Tools. White Paper

Agile Techniques and Tools. White Paper Agile Techniques and Tools White Paper Agile Techniques and Tools Synopsis This section provides an overview of a number of techniques and tools that are commonly used by agile development teams. These

More information

Testing Rails. by Josh Steiner. thoughtbot

Testing Rails. by Josh Steiner. thoughtbot Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................

More information

Praktikum Entwicklung von Mediensystemen mit

Praktikum Entwicklung von Mediensystemen mit Praktikum Entwicklung von Mediensystemen mit Wintersemester 2013/2014 Christian Weiß, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6

More information

Building, testing and deploying mobile apps with Jenkins & friends

Building, testing and deploying mobile apps with Jenkins & friends Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really

More information

ios App for Mobile Website! Documentation!

ios App for Mobile Website! Documentation! ios App for Mobile Website Documentation What is IOS App for Mobile Website? IOS App for Mobile Website allows you to run any website inside it and if that website is responsive or mobile compatible, you

More information

Agile Web Application Testing

Agile Web Application Testing Agile Web Application Testing Technologies and Solutions V. Narayan Raman Tyto Software Goals Rapid feedback on the quality of software Problem in Web App Testing Many Browsers Many Operating Systems Browsers

More information

Assignment 1: Matchismo

Assignment 1: Matchismo Assignment 1: Matchismo Objective This assignment starts off by asking you to recreate the demonstration given in the second lecture. Not to worry, the posted slides for that lecture contain a detailed

More information

Unit and Functional Testing for the ios Platform. Christopher M. Judd

Unit and Functional Testing for the ios Platform. Christopher M. Judd Unit and Functional Testing for the ios Platform Christopher M. Judd Christopher M. Judd President/Consultant of leader Columbus Developer User Group (CIDUG) Remarkable Ohio Free Developed for etech Ohio

More information

Knappsack ios Build and Deployment Guide

Knappsack ios Build and Deployment Guide Knappsack ios Build and Deployment Guide So you want to build and deploy an ios application to Knappsack? This guide will help walk you through all the necessary steps for a successful build and deployment.

More information

TDD, Refactoring and Dependency Injection: Agile s answer to Big Up-Front Architecture (BUFA)

TDD, Refactoring and Dependency Injection: Agile s answer to Big Up-Front Architecture (BUFA) TDD, Refactoring and Dependency Injection: Agile s answer to Big Up-Front Architecture (BUFA) May 5th, 2006, Agile India Conference Paul Hammant, ThoughtWorks, Inc www.paulhammant.com The problem? Previous-era

More information

Quarterly Mobile Apps, Business Intelligence, & Database. BILT Meeting June 17, 2014. Meeting Minutes

Quarterly Mobile Apps, Business Intelligence, & Database. BILT Meeting June 17, 2014. Meeting Minutes Quarterly Mobile Apps, Business Intelligence, & Database BILT Meeting June 17, 2014 Meeting Minutes :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

More information

Agile.NET Development Test-driven Development using NUnit

Agile.NET Development Test-driven Development using NUnit Agile.NET Development Test-driven Development using NUnit Jason Gorman Test-driven Development Drive the design and construction of your code on unit test at a time Write a test that the system currently

More information

White Label ios Application Installation and Customization Guide

White Label ios Application Installation and Customization Guide White Label ios Application Installation and Customization Guide Background Background Application built for civic agencies to bring voting information to the public Code written to make deployment easy,

More information

Beginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple ios Application

Beginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple ios Application FROM 1st TO 4th OF FEBRUARY 2012 contents of the app s creation training track Beginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple

More information

MEAP Edition Manning Early Access Program Hello! ios Development version 14

MEAP Edition Manning Early Access Program Hello! ios Development version 14 MEAP Edition Manning Early Access Program Hello! ios Development version 14 Copyright 2013 Manning Publications For more information on this and other Manning titles go to www.manning.com brief contents

More information

Application Development at Congruent

Application Development at Congruent Application Services are the flagship of Congruent's service offerings. Our expertise in application development is signified by its completeness and excellence in delivery. Congruent covers the complete

More information

Cross-platform mobile development with Visual C++ 2015

Cross-platform mobile development with Visual C++ 2015 Cross-platform mobile development with Visual C++ 2015 Sasha Goldshtein @goldshtn CTO, Sela Group blog.sashag.net App Targeting Spectrum Developer pain exponential jump in complexity, but not in user experience

More information

Continuous Delivery - is it from the Devil? Tamas Csako

Continuous Delivery - is it from the Devil? Tamas Csako Continuous Delivery - is it from the Devil? Tamas Csako August 25, 2015 1 Focus on the customer Continuous Delivery 2 About Me Tamas Csako, Ph.D. Lead Software Testing Engineer Experience: 6+ years in

More information

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Porting Existing PhoneGap Apps to Tizen OS - Development Story Porting Existing PhoneGap Apps to Tizen OS - Development Story Anil Kumar Yanamandra Thomas Mitchell ProKarma About ProKarma Who am I? Anil Kumar Yanamandra Mobile Architect & Head CoE for Mobility @ProKarma

More information

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco Continuous Delivery Jez Humble and David Farley AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore

More information

App Distribution Guide

App Distribution Guide App Distribution Guide Contents About App Distribution 10 At a Glance 11 Enroll in an Apple Developer Program to Distribute Your App 11 Generate Certificates and Register Your Devices 11 Add Store Capabilities

More information

Java course - IAG0040. Unit testing & Agile Software Development

Java course - IAG0040. Unit testing & Agile Software Development Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples

More information

Do You Really Need An App For That? A Top Tips App Development Checklist

Do You Really Need An App For That? A Top Tips App Development Checklist Do You Really Need An App For That? A Top Tips App Development Checklist Matt Hunt Business Development Manager @MattHuntX @Apadmi matth@apadmi.com Apadmi are the experts in mobile technology. 60 strong

More information

Modern CI/CD and Asset Serving

Modern CI/CD and Asset Serving Modern CI/CD and Asset Serving Mike North 10/20/2015 About.me Job.new = CTO Job.old = UI Architect for Yahoo Ads & Data Organizer, Modern Web UI Ember.js, Ember-cli, Ember-data contributor OSS Enthusiast

More information

A LITTLE PROMISE FROM YOU

A LITTLE PROMISE FROM YOU A LITTLE PROMISE FROM YOU It took me many years of experience to gather the knowledge that helped me make this guide and hours to actually produce it. But I am happy to offer it for you completely free

More information

ios Team Administration Guide (Legacy)

ios Team Administration Guide (Legacy) ios Team Administration Guide (Legacy) Contents About ios Development Team Administration 5 At a Glance 6 Team Admins Manage Team Membership and Assign Roles in the Member Center 6 Development Devices

More information

Introducing Xcode Source Control

Introducing Xcode Source Control APPENDIX A Introducing Xcode Source Control What You ll Learn in This Appendix: u The source control features offered in Xcode u The language of source control systems u How to connect to remote Subversion

More information

Paul Boisvert. Director Product Management, Magento

Paul Boisvert. Director Product Management, Magento Magento 2 Overview Paul Boisvert Director Product Management, Magento Platform Goals Release Approach 2014 2015 2016 2017 2.0 Dev Beta 2.0 Merchant Beta 2.x Ongoing Releases 2.0 Dev RC 2.0 Merchant GA

More information

ios App Development for Everyone

ios App Development for Everyone ios App Development for Everyone Kevin McNeish Table of Contents Chapter 2 Objective C (Part 1) When I first started writing ios Apps, coding in Objective-C was somewhat painful. Like stuck-in-acheckout-line-behind-the-old-woman-writing-a-personal-check

More information

ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011

ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011 ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011 Healthcare iphone apps Various apps for the iphone available Diagnostic, Diet and Nutrition, Fitness, Emotional Well-being

More information

ios Dev Fest Research Network Operations Center Thursday, February 7, 13

ios Dev Fest Research Network Operations Center Thursday, February 7, 13 ios Dev Fest Research Network Operations Center Outline http://goo.gl/02blw Getting Started With App Development Setup Developer Environment Setup Certificates and Provisioning Deploying App To Device

More information

ICAgile Learning Roadmap Agile Testing Track

ICAgile Learning Roadmap Agile Testing Track International Consortium for Agile ICAgile Learning Roadmap Agile Testing Track Learning Objectives Licensing Information The work in this document was facilitated by the International Consortium for Agile

More information

Challenges in Mobile App Development. Brian Vanpee Samer Fahmy

Challenges in Mobile App Development. Brian Vanpee Samer Fahmy Challenges in Mobile App Development Brian Vanpee Samer Fahmy Quick Note The views expressed in this presentation are solely our own and do not in any way represent those of our employers. Agenda UI Challenges

More information

Continuous Integration with Xcode 6

Continuous Integration with Xcode 6 Tools #WWDC14 Continuous Integration with Xcode 6 Session 415 Brent Shank Software Engineer, Xcode 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Continuous Integration

Continuous Integration Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener briank@ecollege.com Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My

More information

An Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6

An Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6 1 2 3 4 An Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Charles J. Ammon / Penn State August, 2011

More information

Agile Testing. What Students Learn

Agile Testing. What Students Learn Agile Testing Transition sound traditional test practices into an Agile development environment. By using a step-by-step approach, this course documents how to transition from traditional test practices

More information

Managing Mobility. 10 top tips for Enterprise Mobility Management

Managing Mobility. 10 top tips for Enterprise Mobility Management Managing Mobility 10 top tips for Enterprise Mobility Management About Trinsic Trinsic is a new kind of business communications specialist, built from the ground up to help your organisation leave behind

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

III. The most important things you need to know about iphone app/game development

III. The most important things you need to know about iphone app/game development 1 III. The most important things you need to know about iphone app/game development There are lots of people who think they possess the quality to make a fundamental change on Apple s itunes store, but

More information

Using the Push Notifications Extension Part 1: Certificates and Setup

Using the Push Notifications Extension Part 1: Certificates and Setup // tutorial Using the Push Notifications Extension Part 1: Certificates and Setup Version 1.0 This tutorial is the second part of our tutorials covering setting up and running the Push Notifications Native

More information

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum

More information

Assignment I Walkthrough

Assignment I Walkthrough Assignment I Walkthrough Objective Reproduce the demonstration (building a calculator) given in class. Goals 1. Downloading and installing the ios4 SDK. 2. Creating a new project in Xcode. 3. Defining

More information

Im360 SDK ios v5.x and newer

Im360 SDK ios v5.x and newer im360 ios Mobile PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Thu, 13 Feb 2014 01:54:30 UTC Im360 SDK ios v5.x and newer 1

More information

Testing Python. Applying Unit Testing, TDD, BDD and Acceptance Testing

Testing Python. Applying Unit Testing, TDD, BDD and Acceptance Testing Brochure More information from http://www.researchandmarkets.com/reports/2755225/ Testing Python. Applying Unit Testing, TDD, BDD and Acceptance Testing Description: Fundamental testing methodologies applied

More information

Agent s Handbook OVERVIEW

Agent s Handbook OVERVIEW Agent s Handbook OVERVIEW This handbook will allow you, as the agent/operator, to get started handling chats, calls, and tickets using ClickDesk. This will help you from the basics of how it works up to

More information

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE

More information

FREE VERSION. Created by: Jason Nesbitt Mobile App Development Guide

FREE VERSION. Created by: Jason Nesbitt Mobile App Development Guide FREE VERSION Created by: Jason Nesbitt Mobile App Development Guide Quickly learn all of the necessary skills needed to build your very own customisable mobile apps. Important: Download Example Files by

More information

Adobe Marketing Cloud Bloodhound for Mac 3.0

Adobe Marketing Cloud Bloodhound for Mac 3.0 Adobe Marketing Cloud Bloodhound for Mac 3.0 Contents Adobe Bloodhound for Mac 3.x for OSX...3 Getting Started...4 Processing Rules Mapping...6 Enable SSL...7 View Hits...8 Save Hits into a Test...9 Compare

More information

Testing Mobile Apps CS 4720 Web & Mobile Systems

Testing Mobile Apps CS 4720 Web & Mobile Systems Testing Mobile Apps Web & Mobile Systems Testing! The most important thing we never teach you to do! Consider how most projects go in your undergrad career: Requirements elicitation? We give you a page

More information

01. Introduction of Android

01. Introduction of Android 01. Introduction of Android Goal Understand the concepts and features of the Android Install the complete Android development environment Find out the one-click install Android development environment

More information

Automated Integration Testing & Continuous Integration for webmethods

Automated Integration Testing & Continuous Integration for webmethods WHITE PAPER Automated Integration Testing & Continuous Integration for webmethods Increase your webmethods ROI with CloudGen Automated Test Engine (CATE) Shiva Kolli CTO CLOUDGEN, LLC NOVEMBER, 2015 EXECUTIVE

More information

Mobile App Design and Development

Mobile App Design and Development Mobile App Design and Development The course includes following topics: Apps Development 101 Introduction to mobile devices and administrative: Mobile devices vs. desktop devices ARM and intel architectures

More information

The Agile Movement An introduction to agile software development

The Agile Movement An introduction to agile software development The Agile Movement An introduction to agile software development 1 The Agile Movement An introduction to agile software development Russell Sherwood @russellsherwood & David Sale @saley89 Agenda Who are

More information

Version Control with Git. Dylan Nugent

Version Control with Git. Dylan Nugent Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just

More information

Skynax. Mobility Management System. System Manual

Skynax. Mobility Management System. System Manual Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of

More information

Win at Life. with Unit Testing. by Mark Story

Win at Life. with Unit Testing. by Mark Story Win at Life with Unit Testing. by Mark Story Who is this goofball Art college graduate that needed to make money. CakePHP core contributor for 2.5 years. Developer of DebugKit, ApiGenerator and several

More information

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions MicroStrategy Mobile SDK 1 Agenda MicroStrategy Mobile SDK Overview Requirements & Setup Custom App Delegate Custom

More information

Generate Android App

Generate Android App Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can

More information

Mobile Device Management ios Policies

Mobile Device Management ios Policies Mobile Device Management ios Policies Introduction ios policies allow administrators to use mobile device management features of CentraStage and push them, over the air (OTA), to ios devices (in other

More information

Speed to Market in Mobile Development

Speed to Market in Mobile Development Speed to Market in Mobile Development Finding the right solution with continuous integration on real devices Tina Su, Director of Development, Intuit About me Nearly 20 years of industry experience in

More information

TakeMySelfie ios App Documentation

TakeMySelfie ios App Documentation TakeMySelfie ios App Documentation What is TakeMySelfie ios App? TakeMySelfie App allows a user to take his own picture from front camera. User can apply various photo effects to the front camera. Programmers

More information

Unit testing with JUnit and CPPUnit. Krzysztof Pietroszek kmpietro@swen.uwaterloo.ca

Unit testing with JUnit and CPPUnit. Krzysztof Pietroszek kmpietro@swen.uwaterloo.ca Unit testing with JUnit and CPPUnit Krzysztof Pietroszek kmpietro@swen.uwaterloo.ca Old-fashioned low-level testing Stepping through a debugger drawbacks: 1. not automatic 2. time-consuming Littering code

More information

ios Dev Crib Sheet In the Shadow of C

ios Dev Crib Sheet In the Shadow of C ios Dev Crib Sheet As you dive into the deep end of the ios development pool, the first thing to remember is that the mother ship holds the authoritative documentation for this endeavor http://developer.apple.com/ios

More information

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com

More information

Salesforce Mobile Push Notifications Implementation Guide

Salesforce Mobile Push Notifications Implementation Guide Salesforce.com: Summer 14 Salesforce Mobile Push Notifications Implementation Guide Last updated: May 6, 2014 Copyright 2000 2014 salesforce.com, inc. All rights reserved. Salesforce.com is a registered

More information

Oracle FLEXCUBE Direct Banking

Oracle FLEXCUBE Direct Banking Oracle FLEXCUBE Direct Banking ios Client developer Guide Release 12.0.3.0.0 Part No. E52543-01 April 2014 ios Client Developer Guide April 2014 Oracle Financial Services Software Limited Oracle Park Off

More information

TE TER. Continuous testing and delivery. number 21. SUBSCRIBE It s FREE for testers. Including articles by: Roy de Kleijn Polteq.

TE TER. Continuous testing and delivery. number 21. SUBSCRIBE It s FREE for testers. Including articles by: Roy de Kleijn Polteq. TE TER SUBSCRIBE It s FREE for testers Essential for software Continuous testing and delivery Including articles by: Bogdan Bereza VictO Roy de Kleijn Polteq Mark Lehky Jessica Schiffmann Prism Informatics

More information

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process DJANGOCODERS.COM THE PROCESS This is a guide that outlines our operating procedures and coding processes. These practices help us to create the best possible software products while ensuring a successful

More information

the first thing that comes to mind when you think about unit testing? If you re a Java developer, it s probably JUnit, since the

the first thing that comes to mind when you think about unit testing? If you re a Java developer, it s probably JUnit, since the By Matt Love W hat s the first thing that comes to mind when you think about unit testing? If you re a Java developer, it s probably JUnit, since the tool is generally recognized as the de facto standard

More information

Testing for the web and some other stuff

Testing for the web and some other stuff Testing for the web and some other stuff A BIT ABOUT ME Jonathan Director at Ocellics Software Solutions Studied at UCT and have a Honours in Information Systems Been working as a software dev for 8 years

More information

ios Application Development &

ios Application Development & Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang chang@ut.ee Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations

More information

Icons: 1024x1024, 512x512, 180x180, 120x120, 114x114, 80x80, 60x60, 58x58, 57x57, 40x40, 29x29

Icons: 1024x1024, 512x512, 180x180, 120x120, 114x114, 80x80, 60x60, 58x58, 57x57, 40x40, 29x29 I. Before Publishing 1. System requirements Requirements for ios App publishing using FlyingCatBuilder Mac running OS X version 10.9.4 or later Apple Development Account Enrollment in ios Developer Program

More information

Optimize with Shark: Big Payoff, Small Effort

Optimize with Shark: Big Payoff, Small Effort Search Advanced Search Log In Not a Member? Contact ADC ADC Home > Tools > Many developers don t realize how little time it may take to achieve significant performance improvements in a Mac OS X application.

More information

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction BELATRIX SOFTWARE Why you should be moving to mobile Cross Platform Development? Introduction If you re thinking of going mobile, delivering online services or updating your existing app, you know that

More information

BuzzTouch ios Push Notifications

BuzzTouch ios Push Notifications BuzzTouch ios Push Notifications Niraj Shah January 27, 2013 Version 1.1 BuzzTouch ios Push Notifications 1 Introduction 1.1 An overview of Apple's Push Notifications 5 2 On the Mac with Keychain Access

More information

1 of 2 4/24/2005 9:28 PM

1 of 2 4/24/2005 9:28 PM http://www.appdeploy.com/reviews/sw_installaware_studio_2005.asp 1 of 2 4/24/2005 9:28 PM Message Boards s Tools Tech Homepages Reviews Downloads Articles Events FAQs Tips & Tricks Services Books News

More information

So you want to create an Email a Friend action

So you want to create an Email a Friend action So you want to create an Email a Friend action This help file will take you through all the steps on how to create a simple and effective email a friend action. It doesn t cover the advanced features;

More information

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating

More information

JC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception

JC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception \ JC Now Case Study in Building an App on the Cheap Nick O Day GIS Manager 1 Background Within Metro Atlanta area (30 minute drive to downtown Atlanta) Within Fulton County Population: ~1,000,000 Johns

More information

Using Credit to Your Advantage.

Using Credit to Your Advantage. Using Credit to Your Advantage. Topic Overview. The Using Credit To Your Advantage topic will provide participants with all the basic information they need to understand credit what it is and how to make

More information

Research Data Management CODING

Research Data Management CODING CODING Coding When writing software or analytical code it is important that others and your future self can understand what the code is doing. published 10 steps that they regard as the Best Practices

More information

This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied.

This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied. Hyperloop for ios Programming Guide This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied. Requirements You ll

More information

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel Enable Your Automated Web App Testing by WebDriver Yugang Fan Intel Agenda Background Challenges WebDriver BDD Behavior Driven Test Architecture Example WebDriver Based Behavior Driven Test Summary Reference

More information

Break It Before You Buy It!

Break It Before You Buy It! Break It Before You Buy It! Test Driven Development and Continuous Integration Chris Hartjes -- CodeMash 2011 -- @chartjes http://www.littlehart.net/atthekeyboard Huge Sports Nerd TL;DR The Problem Build

More information

An Approach to Agile Automation Testing. QAANOVA September 16, 2008 Frank Hurley, Technical Manager

An Approach to Agile Automation Testing. QAANOVA September 16, 2008 Frank Hurley, Technical Manager An Approach to Agile Automation Testing QAANOVA September 16, 2008 Frank Hurley, Technical Manager 1 Agile development is here Iterative development and deployment Faster times to market/client stakeholders

More information

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download. Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on

More information

Tag Specification Document

Tag Specification Document Measuring the digital world. DIGITAL ANALYTIX ios Mobile Application Measurement Tag Specification Document March 2012 FOR FURTHER INFORMATION, PLEASE CONTACT: comscore, Inc. +1 866 276 6972 sdksupport@comscore.com

More information

Introduction to Programming System Design. CSCI 455x (4 Units)

Introduction to Programming System Design. CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

How To Use Titanium Studio

How To Use Titanium Studio Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration

More information

Java SE 7 Programming

Java SE 7 Programming Java SE 7 Programming The second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform, this course covers the core Application Programming Interfaces (API) you will use to design

More information

ios App Performance Things to Take Care

ios App Performance Things to Take Care ios App Performance Things to Take Care Gurpreet Singh Sachdeva Engineering Manager @ Yahoo Who should attend this session? If you are developing or planning to develop ios apps and looking for tips to

More information

Skype for Business. User Guide. Contents

Skype for Business. User Guide. Contents Skype for Business User Guide Contents What is Skype for Business... 2 Accessing Skype for Business... 2 Starting Skype for Business for the first time... 2 Subsequent access to Skype for Business... 3

More information

Debugging A MotoHawk Application using the Application Monitor

Debugging A MotoHawk Application using the Application Monitor CONTROL SYSTEM SOLUTIONS Debugging A MotoHawk Application using the Application Monitor Author(s): New Eagle Consulting 3588 Plymouth Road, #274 Ann Arbor, MI 48105-2603 Phone: +1 (734) 929-4557 Ben Hoffman

More information