Under the Bridge

Roundup: Testing

So it’s been a while since we looked at testing strategies for your iOS projects; let’s see what’s state of the art in that area shall we?

The links we mentioned in Unit Testing Intro are still a good starting place for the basics; the fellow who wrote that one has a couple followups

Introduction to Test Driven Development (TDD) for iOS apps (Part 1)

Introduction to Test Driven Development (TDD) for iOS apps (Part 2)

For an intro to more BDD-style stuff like pivotal/cedar and allending/Kiwi, check out

Getting “Test”-y in iOS Apps: Test-Driven Development and Automated Deployment

For a comprehensive as of a while back unit/acceptance testing list, check this Stack Overflow question:

iOS Tests/Specs TDD/BDD and Integration & Acceptance Testing

Simon is a newer BDD framework written with the rather attractive feature of simplicity.

square/KIF is a native Accessibility-leveraging integration testing framework.

Frank leverages Cucumber to test your iOS application.

Zucchini is a Cucumber-like framework with some nifty features.

Which Automated iOS Testing Tool to Use discusses the pros and cons of Frank, KIF, and UIAutomation.

Something to keep an eye on might be this CloudTest thing: App Testing Catches Up With the New Era of Gesture-Based Input

For some specific tips on test writing for the tricky bits, check out

Network Unit Testing

HTTP Testing to the Edge on iOS: the School of Hard Mocks

Unit testing for blocks based APIs

And lastly: For a good read on the challenges of setting up a serious automated testing program, check out this series from the Corona folk, starting with –

Automated Testing on Mobile Devices for iOS and Android: Part 1: A crazy walkthrough of Xcode, Scripting Bridge, LuaCocoa, lua-TestMore, adb, shell scripts, sockets, and lots of trial & error

UPDATES:

Bwoken – iOS UIAutomation testing in CoffeeScript

BDD style unit test tools: Specta and Expecta

glock45 / iOS-Hierarchy-Viewer for examining UI layouts

Test Studio for iOS for automated on-device tests

mikeash / Circle for finding ARC cycles

noodlewerk / NWTestFlightUploader will upload your build directly to TestFlight

Using Method-Swizzling to help with Test Driven Development

Unit Tests Don’t Bite

Shenzhen CLI for Building & Distributing iOS Apps with TestFlight

NSURLConnectionVCR provides an easy way to record and re-play NSURLConnection requests/responses.

Getting Started With Automated UI Testing For iOS

Using Categories in Unit Tests

shepting / kiwi-mac-demo is an example of using Kiwi

Unit Testing Objective-C Using Kiwi

Objective-C Vitamins is a video that includes an introduction to Kiwi

Continuous Integration of iOS Projects using Jenkins, CocoaPods, and Kiwi

iOS Automated Testing With Calabash, Cucumber, and Ruby

iOS test framework research: KIF, Bwoken, Frank, UIAutomation, Cedar, Kiwi, SenTest/OCUnit, OCHamcrest

CoverStory allows you to easily view the code coverage of your unit tests.

Some of my unit tests tests are not finishing in XCode 4.4

github / specta: A light-weight TDD / BDD framework for Objective-C & Cocoa

sgleadow / xcodetest: A standalone tool for running your iOS unit tests from the command line.

Appium “iis an open source test automation tool for use with native and hybrid applications.”

itsthejb / TestPilot: “Unit-testing Cocoa just got easy.”

blazingcloud / sealant: “connects testing libraries with libraries used by code under test.”

rdavies / Specify: “An Objective-C behaviour-driven development library.”

Test Coverage Reporting With Xcode 4.5.2

How to Measure Code Coverage in Xcode

A Taxonomy Of (Native) Mobile Testing Frameworks

Unit Testing by NSHipster

Robots in the Orchard Day 14: OCUnit vs. Kiwi vs. KIF

Subliminal is a framework for integration testing

jonathanpenn/ui-auto-monkey “is a simple stress testing script for iOS applications that runs in UI Automation and Instruments.”

iOS UI Testing with KIF

1