iOS App Testing 2017-10-16T12:54:34+00:00

iOS App Testing iOS App Testing

Contact Me Your next step – Contact Me

Contact Me

Contact me for freelance iOS App Testing & QA Services

I'm a freelance iOS App Tester based in the London area.
Contact Me

My other testing services: Android App Testing / Website Testing

How an iOS App Testing Project works How an iOS App Testing Project works

In some cases, a client will know exactly what they want from an iOS app testing project and this will help to define the project from the start. On the other hand, a client may come to me and say ‘test my iOS app’, in which case, further information is required to find out the required scope of the testing project.

In order to define the project, we can discuss requirements via email, phone call, Skype call, Slack chat, or, for a longer-term project in the London area, an onsite meeting.

The aim here is to agree what the testing should focus on and on what devices the testing should be carried out on.

Other factors to consider are app delivery method, where issues are to be raised and how test results are reported.

Also, scheduling the testing date(s) is key and you can view my Bookings Calendar to check availability.

At this stage, the iOS App is tested, according to the Project definitions and the device list agreed on. This will include all the testing types agreed on, plus the appropriate amount of Exploratory Testing to unearth bugs which may otherwise be left lurking in the iOS App.

Issues are raised as they are found, in the method agreed: this could be in your own issue tracker – such as JIRA, DoneDone, RedMine etc – or within an Excel document, or perhaps a Google doc, or, where applicable, within my own hosted JIRA issue tracker.

Test results can be reported in many ways and the method used will often depend on the length of the test project. For example, a short half-day test could be reported on in an email that summarises all the results, whereas a longer test could be reported on in a full Test Summary Report.

A Test Summary Report includes sections such as Overview, Main Findings, Gap Analysis, Deliverables, Testing Types Performed, Test Devices, Bugs Statistics and Summary of Main Bugs.

At this stage, we can discuss if any further testing is required.

This may include further focussed testing, retesting of fixed issues, regression testing after changes or any other type of testing.

Other testing types I perform: Android App Testing, Website Testing

Testing Stages

During the Development Stage, I can work with the Developers, Designers and Project Managers to effectively design and execute tests at the most cost-effective time.

    * Working with Developers, Designers, Project Managers.
    * Testing can be focussed on the most important functionality or can be generalised, to cover all areas of the app.
    * Testing can be added in phases, as new functionality is developed and available for testing e.g. on a sprint/iteration/release basis.
    * Most cost-effective time for testing.
During the Beta Stage, bugs can be found which otherwise would have been released to the public.

    * Find Bugs before App is released to the public.
    * All functionality can be tested at this stage, and emphasis can be given to certain functionality depending on priorities.
    * Still a cost-effective time for testing.
At the Release Stage, testing can be done at and around the go-live stage, to try and find any last-minute issues, and also when new features are added to the app, or when the app is rewritten to take into account new technology, new features etc.

    * Testing at and around the go-live stage, to find any last-minute issues
    * Testing new Features and Functionality
    * Finding Bugs in rewritten Apps

iOS App Testing Project in Detail

#DaysToLive

  • On this project, I performed iOS App Testing for the Days To Live iOS App working with the Developers, Designers and Project Manager.
  • Testing included Smoke Testing, Functional Testing, Exploratory Testing and testing the Social Media integration of the App, which directly posts to Facebook and Twitter.
  • This involved creating and constantly updating Test Plans and Test Results documentation.
  • TestFlight was used for App distribution.
  • I also performed Website Testing on the graphically stunning HTML5 Days To Live questionnaire website
  • This project involved working online and also onsite at Pulse Films offices in Shoreditch.

iOS Devices I have tested on (more info)

iOS App Sectors I have tested in

  • Retail & Shopping
  • Shopping Rewards
  • Online Store
  • Banking & Financial
  • Events
  • Travel
  • Music Industry
  • Photo postcards
  • Ticketing
  • Fashion
  • Fitness, Health & Lifestyle
  • Email
  • Productivity
  • Navigation & GPS
  • Location Based Services (LBS)
  • Mind Mapping
  • Sports – Golf & GPS
  • Music Streaming, Movie Streaming, TV, Videos
  • Cinemas, cinema ticket booking
  • Casino & Slots, Roulette
  • Betting & Betting Exchange
  • Games
  • Gaming Platforms
  • Medical (Locums)

iOS App Testing related activities & technologies

TestFlight enables the easy delivery of iOS Apps for testing. The idea behind it is that iOS App developers setup a project that testers can be added to. The testers can then access the latest builds of the App as and when required and then download the App to their device for testing. TestFlight also automatically controls the testers access to new versions of the App under test. Since Apple purchased TestFlight, it has been for iOS 8+ apps only. I’ve also brief experience of using Hockey for App Distribution.
Ad hoc distribution is the manual process of distributing iOS Apps for testing. This usually involves distributing the App via email or something like Dropbox, then installing the App to your test device via iTunes. In order to do this, the UDID of the test device(s) must be known in advance by the developer
A crashing iOS App is seen as the most serious type of iOS bug – usually treated as criticial/show-stopper – especially if it happens on multiple devices.
The iOS App may crash for many different reasons, so the developer will want to know as much information about the crash as possible, so they can attempt to fix the issue. This information will usually include both a description of what the tester was doing in the iOS App at the time of the crash, the exact time of the crash and also any accompanying crash reports/logs from the device.
There are several possibilities for obtaining Crash Reports from your test device: the first is syncing it with iTunes and then using the Console app on your Mac OSX desktop/laptop, the second is to use an App onboard the iOS device and there are several of these, such as Log Police – and the third, if using iOS 7+, is to go to the Diagnostics and Usage data within Settings – where a list of crashes and low memory reports can be viewed and managed. Also, the latest version of TestFlight (now owned by Apple) can be used for obtaining crash reports.
Creating Test Plans and Test Results documentation is a vital part of the testing process and enables the tester to plan what to test and to keep track of what’s been tested.
Creating detailed Bug Reports is an essential part of the testing process, allowing the developers to reproduce the bug and then attempt to fix it.
Sometimes a bug is best shown via a screenshot or a video – or both – especially when a text description doesn’t seem sufficient or would be too complicated to be useful. When testing an iOS App, screenshots are easy to get, as the iOS devices have a built-in method for this. Obtaining videos is a little more tricky as there are (currently) no apps for doing this (unless using a jail-broken device, which isn’t recommended for testing). A way round this would be to use another device to record the video. Update: The Reflector App can now be used to grab videos of your iOS device’s screen.
Maintaining and tracking issues in an Issue Tracking System is a vital way of managing the Test Process, so that progress in fixing issues can be monitored and updated.
Different projects require the use of different Issue Tracking Systems. So far, I’ve used the specialist Jira system, the Redmine issue-tracking system, the DoneDone issue-tracking system, the issue-tracking features in the Codebase system, also Pivotal Tracker, plus have also used Excel spreadsheets and Google Docs.
As the iOS platform has matured, new technologies have been added to the iOS ecosystem and other concepts have evolved, such as IoT. These technologies are sometimes used within iOS apps and therefore require specialist testing.
iBeacons – this is a comms technology which enables radio connections/messaging/alerts between a location – such as a shop or a display stand – and a user’s smartphone or tablet, to transmit info such as special offers and product information. The tech has been in iOS since iOS 7 and extends Location Services, using Bluetooth 4.0/low energy.
Apple Pay – Apple bills Apple Pay as “Your wallet. Without the wallet.” and it allows users to make payments both in stores and in apps. It uses a combination of Near Field Communication (NFC), Touch ID and the Passbook/Wallet app to enable the payments to be made securely.
NFC – NFC is a method of wireless data transfer between two enabled devices that are in close proximity (about 10 cms) An NFC-enabled device will detect another NFC-enabled device and data can then be transferred between the two devices. In the real world, NFC is technology used in ‘Tap and go’ or ‘Proximity card’ services – including Apple Pay, Android Pay and Samsung Pay, plus many other services.
IoT – The Internet of Things (IoT) refers to the interconnection of physical objects or “things” which contain network connectivity, sensors, electronics and software and are enabled to exchange data with smart devices, such as smartphones and tablets – this then enables them to be app-controlled.
AR – Augmented Reality (AR) is where a view of reality is augmented with visuals generated by the app, with the Pokemon Go app bringing this technology into the public awareness in 2016.
Testing tools help the testing process in many different ways and there are many different testing tools. Charles Proxy is a good example, which I sometimes use to test bandwidth throttling for apps and websites, to see how the product handles network connections with low bandwidth and varying stability and reliability. Other tools I’ve used include Postman, for API testing.

Featured Posts From The Blog

  • mdqcc

Mobile Device Quick Comparison Chart

Update - October 2017 - I've now added the latest devices to the list - iPhone 8, iPhone 8 Plus, iPhone X, Samsung Galaxy Note 8, Google Pixel 2, Google Pixel 2 XL Update - [...]

  • Sonos&Dot

Adding voice control to Sonos speakers

Later this year, it looks like Sonos will be announcing/releasing their own smart speaker - a Sonos Play speaker with Alexa voice control built in and probably compatibility with the other systems such as Google [...]

  • iPhoneX

News from Apple Special Event, 12 September 2017

The first ever event at the Steve Jobs Theatre was Apple's big set of announcements for the latest iPhones and other Apple gear. The main items were, as usual, saved until the end of the [...]

  • iOS-11-WWDC

iOS 11 info

Files app is brand new to iOS 11. Can view all files on the device, on your other iOS devices, in iCloud Drive and across other services including Dropbox, Box, OneDrive, Google Drive etc. On [...]