Blog

What Do iOS Developers Look For in Testing?

iOS-Developers

An iOS tech lead talks to Kualitatem; some highlights from the interview

Developing an iOS application gives a framework to developer to work in 3-D view. It is not only about the source code but also the development screens, good programming approach, image resolution, combination of devices with iOS range and most importantly Apple App store guidelines.

Q: what roadmap is followed by an iOS developer?

  • A developer must consider three pillars while developing iOS application i.e. Required Devices, OS required and the Apple guidelines. Basically starting from 4S to 6+ with iOS range from 7 to 8.2.1, there are 20 combinations of devices which are considered as potential devices for iOS applications. Besides source code, Apple provides guidelines to developers for uploading their applications on App Store. If the guidelines requirements are not fulfilled, Apple will reject the application and send notification to the developer. So developer needs to be very careful about all the mentioned requirements.

Q: Is there any framework for iOS applications development to make them responsive like Twitter Bootstrap used in web based apps?

  • Yes, Apple provided a framework named “Interface Builders”. Screens of Interface Builders are called “Nib”. Every item has its own properties to adjust the screen resolution for different devices. It is the responsibility of the developer to adjust the value for all possible devices manually.

Besides, “Story Board” is also one of the iOS development toolset, which gives the automated Flow Diagram of the application and it is developer’s responsibility to adjust the values explicitly and manually.

Q: What is the difference between the source code of the same app in iPhone and iPad?

  • Different developers use different approaches for an app which will run on both iPhone and iPad platforms. It is more about a Good Programming Approach. If a developer uses a good programming approach, the app will run on both platforms but a bad programming approach will result in crashes and flaws.

 

One way is to write the source code separately for both iPhone and iPad. Other approach is termed as “Universal”. In this approach, single source code at back end is attached to iPhone and iPad separately. I personally prefer Universal approach in my working style.

Q: Can developer claim about the efficiency of source code? Can they ask testing team to test the application at either iPhone or iPad as the source code is so efficient and developer used excellent programming approach?

  • There is always a chance of human error. No matter how much good programming approach the developer has used, most of the times, interface and design issues are raised. So developer can never ask testing team to test the app at only one platform.

Q: What are the criteria and guidelines that Apple follows while approving any app on App Store?

Major concerns of Apple are:

  • Every button or link in the app screen should be responsive and user friendly
  • Source code should be bug free
  • No crashes
  • No security risk and loop holes
  • Involvement of any third party must be clear
  • Any transaction process in the app must be transparent without any loop holes
  • Meta data information about the application must be given on app store for the user. It includes the basic information, screen shots, crash details and screen shots, memory usage etc.
  • App must notify user about location tracing, Facebook/Twitter activities, sums activities or any social media activity.

So before submitting an app on Apple Store, developer/tester must test the app keeping in view all of the above mentioned points.

Q: How much time does Apple take to review an app that is submitted to App Store?

  • Apple never compromises on the application criteria. When developer deploys an app on App Store, Apple takes 7 days in evaluating it. It involves testing of the app and checking of criteria etc. Issues related to the app are dig down by Apple team and feedback is sent to the developer so that he/she can fix the issues and deploy it again.

Q: What recommendations would you make for iOS app testing?

  1. Testing on real devices like iPhone, iPad etc. proves to be more beneficial as compared to conducting testing over simulators. Using real devices you will be interrupted by messaging, phone calls, memory, battery issues & overall performance of apps.
  2. Choosing an automation tool largely depends on the project needs & application type. Most demanding tools in market for mobile automation are Appium, Robotium etc. Apple also has its own automation API named UI Automation that is used to write automated scripts using JavaScript.

While testing the app, the focus should be on certain key areas such as Installation, first time launch, uninstallation, orientation if supported & app performance using different devices & network combination.

If you know of any other factors that iOS developers look for in testing then sound off in the comments!