Tuesday

Repost - All About Mobile Continuous Integration


CI’s not a new thing. Wikipedia says the phrase was first used back in 1994, way before modern mobile apps. Today it’s commonplace in many dev shops for developers to expect that their code is automatically tested when they commit and even automatically deployed to a staging environment.

Tools For Mobile CI
There’s been a lot of progress over the last year or two on mobile CI tools.  Testing frameworks have come a long way and now there are a handful of hosted CI platforms designed to make setup as easy as possible.  Here are a few of my favorite tools:
  • Hosted CI Platforms:
    • Ship.io: The first CI solution to market focused specifically on mobile.  Ship has an easy to use setup process, and supports both Simulators and Real Devices for testing.
    • Greenhouse CI: A newcomer, also focused specifically on CI for mobile applications.  Greenhouse has a well designed UI that makes it easy to use for less technical team members.
    • Travis CI: Popular, robust CI platform with support for OSX based infrastructure.  Configuration process is driven by a YAML file so it’s a bit less friendly than the UI offered by Ship and Greenhouse.  That said, some folks prefer YAML.
  • Testing Frameworks:
    • XCTest: This unit testing framework first debuted in Xcode 5 and replaced the older OCUnit framework.  Since it’s baked right into Xcode it’s become the “default” go-to framework for many people.  XCTest has a solid feature set and is relatively straightforward to learn and start using.
    • JUnit: The corresponding “Out Of The Box” solution for Android developers. Similiarly it is tightly integrated with Eclipse and Android Studio but can also be run from the command line using Grandle or Ant.
    • Appium: Developed by Sauce Labs, Appium is a popular cross-platform framework that allows you to write tests that run on both iOS and Android.  Another big plus is that it’s based on Selenium so folks who have worked w/ this in the past will find it a familiar transition.
    • KIF: “Keep If Functional” (KIF) is an iOS-only Functional Testing framework with a strong focus on usability.  If you’re looking to write tests that reproduce user behavior at the UI-level (vs unit tests) I strongly recommend taking a look at this one.

No comments:

Post a Comment