Monday, March 2, 2015

Apple App Store Review Guidelines Explained

Yo! you need to pass all the criteria mentioned below to get the application approved. Check out.

Functionality 

- Apps that crash will be rejected
1. Application should not crash at any cost. 
2. If there are any random crashes observed then sit with the developer and insist him to provide a debug build and try crashing the build to find the cause for crash

- Apps that exhibit bugs will be rejected
1. Application should not have any highly visible UI glitches or usability issues. 
2. Manually make sure the Spelling and grammar is cross checked. 
3. Take the localized string file from the developer and perform a spell check to that file to cross check again.

- Apps that do not perform as advertised by the developer will be rejected 
1. Should make sure that all the features as mentioned in the description of the application are working properly and not scamming the people by giving false features

- Apps that include undocumented or hidden features inconsistent with the description of the App will be rejected 
1. If the application provides In-App purchase then it should be clearly mentioned in the description of the app store.
2. If your app has a Auto renewable purchase then it should mention about when and how many dollars would be deducted in app store description.

- Apps that use non-public APIs will be rejected.
1. The App Store Review team has a automated tool that looks through your submitted application and flags all calls to undocumented methods and classes. So we need to make sure that non-public API are not used.

Note:
The non-public API refers to Apple API methods that are not documented 

- Apps that read or write data outside its designated container area will be rejected  
1. Every application would have their own documented directory to save local files. Developers should make sure that saves are not being written outside these documented directory
3. Also developers need to make sure that they are not accessing any other application's directory without the permission of that application

- Apps that download code in any way or form will be rejected
1.  Application should not download any scripts while loading of application or anywhere while using the application

- Apps that install or launch other executable code will be rejected 
1. We need to make sure that the code is not installing any other application to the device.

- Apps that are "beta", "demo", "trial", or "test" versions will be rejected 
1. Application should not have any screens with Beta or trail text written in it

- iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution 
1. Application which is only designed for iPod's and iPhone should run in iPad's too.
2. There should not be any text clipping or glitches and should work as perfectly as it works on an iPhone 

- Apps that duplicate Apps already in the App Store may be rejected, particularly if there are many of them, such as fart, burp, flashlight, and Kama Sutra Apps 
1. Application should not have ditto functionality and UI of another application.

- Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected. 
1. Application should not just be a RSS feed of the blog or a bunch of websites displayed in web view

- Apps that are primarily marketing materials or advertisements will be rejected 
1. If an application is designed for a company then it should contain more than just displaying what kinda services that company provides.

- Apps that are intended to provide trick or fake functionality that are not clearly marked as such will be rejected 
1. If application has some trick functionality or fake functionality(fooling people for fun) then it should be clearly mentioned in the application description.

- Apps larger than 100MB in size will not download over cellular networks (this is automatically prohibited by the App Store) 
1. We need to make sure that the app size is kept less than 100MB so that the people would download the application through cellular network itself. Less the memory required more the downloads

- Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc. 
1. Consider if your app uses GPS even after the application goes to background, then this feature would be not known to the user and the internet data pack could be emptied or phone battery could be drained. So either it should be discussed with apple support team to keep the feature or the feature should be removed

- Apps that browse the web must use the iOS WebKit framework and WebKit Javascript 
1. Application should use Apple does not allow any 3rd party webkit and enforces the developers to use only iOS webkit framework to display web contents like Terms of Services

- Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke cigarettes, will be rejected 
1. Application should not promote only alcohol drinking or smoking cigarettes 

- Apps that provide incorrect diagnostic or other inaccurate device data will be rejected 
1. Consider if your application is about giving outcome on what color should be the result when two colors are added then, If the output shown in your application is red instead of green then 
It is showing wrong data. Make sure the data output is proper or accurate enough.

- Developers "spamming" the App Store with many versions of similar Apps will be removed from the iOS Developer Program 
1. If your application is a word game and if it copies game play of a famous game even with different UI shouldn't be submitted

- Apps that are simply a song or movie should be submitted to the iTunes store. Apps that are simply a book should be submitted to the iBooks Store 
1. Application which has only a books or songs or movies cannot be submitted. A single song has to Uploaded to Music. Similarly a single movie for Movies and single book to iBook

- Apps that arbitrarily restrict which users may use the App, such as by location or carrier, may be rejected 
1. Application should not be restricted only to Idea customers or Airtel customers. The application should not be for only few users like only a organization

- Apps must follow the iOS Data Storage Guidelines or they will be rejected 
1. Temporary files should be stored in temp and not document directory, similarly cache should be stored in cache folder. Check for guideline in https://developer.apple.com/icloud/documentation/data-storage/

- Apps that are offered in Newsstand must comply with schedules 1, 2 and 3 of the Program License Agreement or they will be rejected
1. Should abide the program license agreement if your application offers newsstand

- Apps that display Apps other than your own for purchase or promotion in a manner similar to or confusing with the App Store will be rejected, unless designed for a specific approved need (e.g. health management, aviation, accessibility, etc.) or which provide significant added value for a specific group of customers
1. Application should not display other games / application to promote which are not in App store.

Meta Data

- Apps or metadata that mentions the name of any other mobile platform will be rejected 
1. Application or application description in app store should never mention about the existence of app in any other platforms

- Apps with placeholder text will be rejected
1. Application should not have dummy textfield i.e proper UI should be given
2. If your application supports Ad's then when submitting screenshot make sure the place Holder where Ad's appear is not blank

- Apps with names, descriptions, or screenshots not relevant to the App content and functionality will be rejected 
1. Screenshots provided to App store should be near similar to the application and should not give some fake screenshot.

- App names in iTunes Connect and as displayed on a device should be similar, so as not to cause confusion 1. Application name should be the same as that of the application name in device.

- Small and large App icons should be similar, so as to not to cause confusion 
1. Application should follow the logo guidelines

- Apps with App icons and screenshots that do not adhere to the 4+ age rating will be rejected 
1. Kids can access any application from the app store, so we need to make sure that application screenshot and logo is not in-appropriate to kids even if rating of your application is 4+

- Apps with Category and Genre selections that are not appropriate for the App content will be rejected
1. Uploader should make sure that the category and genre selection made while submitting the app is appropriate, i.e if your application is of Entertainment genre then the genre cannot be mentioned in Photo and Video

- Developers are responsible for assigning appropriate ratings to their Apps. Inappropriate ratings may be changed/deleted by Apple 
1. Uploader should make sure that appropriate rating is given to application, if it is a Kids app then the rating should be mentioned as 4+. If your application has explicit content then it should be rated as 18+

- Developers are responsible for assigning appropriate keywords for their Apps. Inappropriate keywords may be changed/deleted by Apple 
1. Uploader can tag the application by using  keywords. If customer has provided the keywords then make sure they are properly entered in the Keyword field.

- Developers who attempt to manipulate or cheat the user reviews or chart ranking in the App Store with fake or paid reviews, or any other inappropriate methods will be removed from the iOS Developer Program
1. Uploader should confirm with the customer if they are doing any illegal activities to increase the rating of the application or providing fake review to the application

- Apps that recommend that users restart their iOS device prior to installation or launch may be rejected 
1. Application should not ask the user to restart the system in order to run any feature from the application i.e it should not reboot the device through application

- Apps should have all included URLs fully functional when you submit it for review, such as support and privacy policy URLs 
1. Uploader should make sure that the URL's entered for privacy policy, email address in support are properly entered

Location

- Apps that do not notify and obtain user consent before collecting, transmitting, or using location data will be rejected 
1. Before accessing the location data or photo album data user should be notified through an alert asking him if he wants to proceed with accessing the user content

- Apps that use location-based APIs for automatic or autonomous control of vehicles, aircraft, or other devices will be rejected 
1. Apple does not want to risk the lives of human being by providing autonomous control from the device. So make sure your application does not any location based API which could risk human lives

- Apps that use location-based APIs for emergency services will be rejected 
1. Application may not work properly during emergency, so apple does not want to take any blame.

- Location data can only be used when directly relevant to the features and services provided by the App to the user or to support approved advertising uses

Push Notifications

- Apps that provide Push Notifications without using the Apple Push Notification (APN) API will be rejected 
1. If application supports push notification then only Apple API should be used.

- Apps that use the APN service without obtaining a Push Application ID from Apple will be rejected
1. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal

- Apps that send Push Notifications without first obtaining user consent, as well as apps that require Push Notifications to function, will be rejected 
1. If certain feature in your application supports push notification then application should take the permission from the user before enabling the push notification. Check if push notification alert is displaying properly

- Apps that send sensitive personal or confidential information using Push Notifications will be rejected 
1. Push notification message should not contain any harmful information or sensitive personal informations

- Apps that use Push Notifications to send unsolicited messages, or for the purpose of phishing or spamming will be rejected
1. Push notification should not spam the application in any way

- Apps cannot use Push Notifications to send advertising, promotions, or direct marketing of any kind 
1. Application should not advertise any other application of any platform through push notification. Promotion of any physical goods or direct marketing should not be used.

- Apps cannot charge users for use of Push Notifications
1. Push notification should be free of cost and should not be a add-on feature

- Apps that excessively use the network capacity or bandwidth of the APN service or unduly burden a device with Push Notifications will be rejected 
1. Application should not be stressing the user by constantly popping push notification. Also apple does not want their performance of server affected

- Apps that transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the APN service will be rejected 
1. Push notification should not transit any virus file or any code which could affect the user device

Game Center

- Apps that display any Player ID to end users or any third party will be rejected
- Apps that use Player IDs for any use other than as approved by the Game Center terms will be rejected
- Developers that attempt to reverse lookup, trace, relate, associate, min 
1. Game center would have unique player ID created. Any misuse of player ID would be rejected
2. Player ID should not be used anywhere in your application. 
3. Exception is the name of the Game center user which can be used.

- Game Center information, such as Leaderboard scores, may only be used in Apps approved for use with Game Center 
1. Application other than Entertainment and Games cannot be using Game center. Chance of rejection is more.

- Apps that use the Game Center service to send unsolicited messages, or for the purpose of phishing or Spamming will be rejected
- Apps that transmit viruses, files, computer code, or programs that may harm or disrupt the normal operation of the Game Center service will be rejected
1. Application should not spam the device of user

- Apps that excessively use the network capacity or bandwidth of Game Center will be rejected 
1. Application should not use game center constantly which can lead to increasing of network capacity and bandwidth.

Advertising

- Apps that artificially increase the number of impressions or click-throughs of ads will be rejected 
1. Application should not be running a script to increase the number of clicks 

- Apps that contain empty iAd banners will be rejected
1. Make sure the live key of Ad services are used. 
2. There should not be any empty iAd banners displayed in application. Make sure the placeholder area is removed if any ads are not provided by ad services 

- Apps that are designed predominantly for the display of ads will be rejected 
1. Application should not only focus on displaying of Ads

Trademark

- Apps must comply with all terms and conditions explained in the Guidelines for Using Apple Trademarks and Copyrights and the Apple Trademark List 
1. Application should abide all the terms and condition in the Guidelines for Using Apple Trademarks and Copyrights and the Apple Trademark List

- Apps that suggest or infer that Apple is a source or supplier of the App, or that Apple endorses any particular representation regarding quality or functionality will be rejected 
1. Application should not mention anywhere about apple being the source of supplier nor should mention that the feature of the application is endorsed by apple

- Apps that appear confusingly similar to an existing Apple product or advertising theme will be rejected 
1. Application should be a near similar to the default apple products which could lead to confusion to user.

- Apps that misspell Apple product names in their App name (i.e., GPS for Iphone, iTunz) will be rejected 
1. If your application supports iTune music then make sure iTunes is spelt properly.

- Apps may not use protected third party material such as trademarks, copyrights, patents or violate 3rd Party terms of use. Authorization to use such material must be provided upon request 
1. If your application has authorization to 3rd party material then make sure you submit a written document to apple support to show the rights about posting those contents

Media Content

- Apps that do not use the MediaPlayer framework to access media in the Music Library will be rejected 
1. If music library is called from your application then make sure the MediaPlayer frame work is used 

- App user interfaces that mimic any iPod interface will be rejected 
1. UI of your application should not mimic any kind of default iPod interface

- Audio streaming content over a cellular network may not use more than 5MB over 5 minutes 
1. If your application supports Podcast or any kind of Voice streaming then it should not exceed more than 5MB over 5 minutes i.e not more than 1 MB per minute

- Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 64 kbps HTTP Live stream 
1. Video streaming server should provide 64kbps http live stream for users who use cellular network which has video content more than 10 minutes. Make sure this is asked to customer as project is started.

User Interface

- Apps must comply with all terms and conditions explained in the Apple iOS Human Interface Guidelines 
1. Button tap, button style, font size should be as mentioned in the Human interface guidelines

- Apps that look similar to Apps bundled on the iPhone, including the App Store, iTunes Store, and iBooks Store, will be rejected 
1. Application should not look like the default bundled iPhone applications 

- Apps that do not use system provided items, such as buttons and icons, correctly and as described in the Apple iOS Human Interface Guidelines may be rejected 
1. Application should not change the style of the button or icon and should strictly follow the Human interface guidelines

- Apps that create alternate desktop/home screen environments or simulate multi-App widget experiences will be rejected 
1. Application should not create any virtual desktop home screen or should not create any widget through application

- Apps that alter the functions of standard switches, such as the Volume Up/Down and Ring/Silent switches, will be rejected 
1. Functionality of lock, up down keys, mute keys should not be altered.

- Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected
1. Make sure the design of the application is simple and not complicated. It is better to give tutorials for users when it used for the first time

Purchasing and currencies

- Apps that unlock or enable additional features or functionality with mechanisms other than the App Store will be rejected 
1. Application should not unlock any feature of the application/game through promotional websites or by downloading other applications 

- Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected 
1. Make sure Apple in-app API is used to purchase any kinda of content 

- Apps using IAP to purchase physical goods or goods and services used outside of the App will be rejected 
1. Real world items like Bags, Shoes should not be used for In-App purchases 

- Apps that use IAP to purchase credits or other currencies must consume those credits within the App
- Apps that use IAP to purchase credits or other currencies that expire will be rejected
- Content subscriptions using IAP must last a minimum of 7 days and be available to the user from all of their iOS devices 
1. Consider that a user has logged in to iPhone device and has purchased a subscription using email address X, now if the user logs in to iPad device using same email address then that subscription should be made available to that device too. Make sure a email login feature is used if your application supports non consumable products 
2. Also have a restore button to restore the purchases made.

- Apps that use IAP to purchase items must assign the correct Purchasability type 
1. There are 4 purchasability type
a. Consumable 
b. Non Consumable 
c. Auto Renewable 
d. Non Renewable 
e. Free
Uploader has to make sure the proper purchasability type is selected during purchase

- Apps that use IAP to purchase access to built-in capabilities provided by iOS, such as the camera or the gyroscope, will be rejected 
1. Application should not provide built in gyroscope and camera feature as In-App purchase

- Apps containing content or services that expire after a limited time will be rejected, except for specific approved content (e.g. films, television programs) 
1. Consider you have given a feature as a addition for In-App purchase and on purchasing, user is allowed to use that feature only for 1 hour which for apple feels it is annoying and waste of money. Hence the usability of that feature should be either made usable always or minimum of 7 days

- Insurance Apps must be free, in legal-compliance in the regions distributed, and cannot use IAP 
1. Policy cannot be sold using IAP and application should be always free

- In general, the more expensive your App, the more thoroughly we will review it 
1. Testing on In-App purchase should be made thoroughly 

- Apps offering subscriptions must do so using IAP, Apple will share the same 70/30 revenue split with developers for these purchases, as set forth in the Program License Agreement
- Apps that link to external mechanisms for purchases or subscriptions to be used in the App, such as a "buy" button that goes to a web site to purchase a digital book, will be rejected
- Application should not use any mean of web service to purchase any content
1. Apple does not want application to use other means to purchase items as they would lose revenue Hence its always advisable to use Apple IAP API

 - Apps can read or play approved content (specifically magazines, newspapers, books, audio, music, video and cloud storage) that is subscribed to or purchased outside of the App, as long as there is no button or external link in the App to purchase
1. Consider if your application has a Web based service and you purchase the content through web service which is allowed by apple 

- Apps may only use auto renewing subscriptions for periodicals (newspapers, magazines), business Apps (enterprise, productivity, professional creative, cloud storage) and media Apps (video, audio, voice), or the App will be rejected
1. Auto renewing feature should not be used for games.
2. It can be used only for application which provides monthly magazine, newspaper or media related applications 

- Apps may enable additional approved features or functionality when used in combination with specific approved physical products (such as a toy) as long as the additional features and functionality are either completely dependent on such hardware (for example an App that is used to control a telescope) or also available through the App without the physical products, such as by way of reward for achievement or by use of IAP

Damage or injury

- Apps that scrape any information from Apple sites (for example from apple.com, iTunes Store, App Store, iTunes Connect, Apple Developer Programs, etc.) or create rankings using content from Apple sites and services will be rejected
1. Application should not misuse any information about the apple website or app store

- Apps may use approved Apple RSS feeds such as the iTunes Store RSS feed

- Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected 1. Application should not contain only web links

Personal attacks

- Apps that encourage users to use an Apple Device in a way that may cause damage to the device will be rejected 
1. Application should not encourage the user to throw the device or cut the device into half or any other means which causes damage to the devices

- Apps that rapidly drain the device's battery or generate excessive heat will be rejected 
1. Application should not drain the device battery immediately. If your application is a media application then make sure you play at least 10 videos in a row to check for battery consumption 

Violence 

- Apps whose use may result in physical harm may be rejected Application should not encourage any physical harm to user.
- Any App that is defamatory, offensive, mean-spirited, or likely to place the targeted individual or group in harm's way will be rejected
- Professional political satirists and humorists are exempt from the ban on offensive or mean-spirited commentary
1. Application should not encourage physical harm to user not should target any individual group nor any political parties.

- Apps portraying realistic images of people or animals being killed or maimed, shot, stabbed, tortured or injured will be rejected 
1. Application should not show any realistic killing of animals or human. Exception is for movies 

- Apps that depict violence or abuse of children will be rejected Application should not abuse or show any drawing materials of violence or children Enemies within the context of a game cannot solely target a specific race, culture, a real government or corporation, or any other real entity 
1. If your game targets like only a specific country or a race then game would be rejected

- Apps involving realistic depictions of weapons in such a way as to encourage illegal or reckless use of such weapons will be rejected 
1. Application should not show the working of real gun or any weapons 

- Apps that include games of Russian roulette will be rejected
1. Offensive games like Russian roulette which lets to shoot yourself would be rejected

Objectionable Content

- Apps that present excessively objectionable or crude content will be rejected
- Apps that are primarily designed to upset or disgust users will be rejected

Privacy

- Apps cannot transmit data about a user without obtaining the user's prior permission and providing the user with access to information about how and where the data will be used 
1. Application should insist for user permission before collecting any personal data from the application

- Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected 
1. Application should not share DOB or Email address from application

- Apps may ask for date of birth (or use other age-gating mechanisms) only for the purpose of complying with applicable children's privacy statutes, but must include some useful functionality or entertainment value regardless of the user's age
1. Application can ask for DOB on launch to comply for age but should contain some functionality or entertainment value of the age selected

- Apps that collect, transmit, or have the capability to share personal information (e.g. name, address, email, location, photos, videos, drawings, the ability to chat, other personal data, or persistent identifiers used in combination with any of the above
1. Application should not be asking for any personal information from a child to share 

Pornography

- Apps containing pornographic material, defined by Webster's Dictionary as "explicit descriptions or displays of sexual organs or activities intended to stimulate erotic rather than aesthetic or emotional feelings", will be rejected
1. Application should not show any sexual pornographic content which are purely erotic

- Apps that contain user generated content that is frequently pornographic (e.g. "Chat Roulette" Apps) will be rejected 
1. Application which are like Chat Roulette which uses video call to call strangers would be rejected

Religion, culture, and ethnicity

- Apps containing references or commentary about a religious, cultural or ethnic group that are defamatory, offensive, mean-spirited or likely to expose the targeted group to harm or violence will be rejected
1. Application should not abuse any religion or culture 

- Apps may contain or quote religious text provided the quotes or translations are accurate and not misleading. Commentary should be educational or informative rather than inflammatory 
1. Application should not quote wrong translations or text to end user. Make sure the translations are properly checked.

Contests, sweepstakes, lotteries, raffles, and gambling

- Sweepstakes and contests must be sponsored by the developer/company of the App
- Official rules for sweepstakes and contests must be presented in the App and make it clear that Apple is not a sponsor or involved in the activity in any manner
1. Description in the application should make sure that it mentions that apple does not sponsor or involve in any activities of the application

- It must be permissible by law for the developer to run a lottery App, and a lottery App must have all of the following characteristics: consideration, chance, and a prize 
1. The customer should have prior permission from the law to have application based on lottery i.e it should abide the law of the government

- Apps that allow a user to directly purchase a lottery or raffle ticket in the App will be rejected
- Apps that use IAP to purchase credit or currency to use in conjunction with real money gaming will be rejected
1. Application should not allow purchasing of lottery directly through application nor through IAP

- Apps that offer real money gaming (e.g. sports betting, poker, casino games, horse racing) must have necessary licensing and permissions in the locations where the App is used, must be restricted to those locations, and must be free on the App Store
1. Application should make sure that they abide the local law of the country where the application is sold else should restrict those countries

Charities and contributions

- Apps that include the ability to make donations to recognized charitable organizations must be free
1. Application which ask for donation or funds to organization should always be free and collection can be done through safari or SMS

- The collection of charitable donations must be done via a web site in Safari or an SMS
1. Only safari or SMS service could be used for collection of charitable institution

Legal requirements

- Apps must comply with all legal requirements in any location where they are made available to users. It is the developer's obligation to understand and conform to all local laws 
1. Local laws of all the countries should be followed. The customer has to make sure if they are abiding the law with requirements given

- Apps that contain false, fraudulent or misleading representations or use names or icons similar to other Apps will be rejected 
1. Application name cannot be near similar to the famous game which could lead in confusing the user.

- Apps that solicit, promote, or encourage criminal or clearly reckless behavior will be rejected 
1. Application should not encourage by having any criminal activity features 

- Apps that enable illegal file sharing will be rejected Application should not have file sharing feature to share music, iPa files through illegal means 
1. Application should not contain any feature which shares music file or iPa's  through application

- Apps that are designed for use as illegal gambling aids, including card counters, will be rejected 
1. Application which are not licensed for gambling would be rejected  

- Apps that enable anonymous or prank phone calls or SMS/MMS messaging will be rejected 
1. Application should not have features of calling unknown users or given prank calls

- Developers who create Apps that surreptitiously attempt to discover user passwords or other private user data will be removed from the iOS Developer Program
- Apps that contain DUI checkpoints that are not published by law enforcement agencies, or encourage and enable drunk driving, will be rejected
1. Application which indicates about the police checkpoints which are not published by law agencies would be rejected'

- Apps that calculate medicinal dosages must be submitted by the manufacturer of those medications or recognized institutions such as hospitals, insurance companies, and universities

Passbook

- Passbook Passes can be used to make or receive payments, transmit offers or offer identification (such as movie tickets, airline tickets, coupons and reward offers). Other uses may result in the rejection of the App and the revocation of Passbook credentials

- Passes must include valid contact information from the issuer of the pass or the App will be rejected and Passbook credentials may be revoked

- Passes must be signed by the entity that will be distributing the pass under its own name, trademark, or brand or the App will be rejected and Passbook credentials may be revoked

Kids Category

- Apps primarily intended for use by kids must include a privacy policy and must comply with applicable children's privacy statutes 
1. Application should display a privacy policy first as the application is launched and should clearly mention about the age of the child who can use the application

- Apps primarily intended for use by kids may not include behavioral advertising (e.g. the advertiser may not serve ads based on the user's activity within the App), and any contextual ads presented in the app must be appropriate for kids
1. Application which are for Kids should not contain Ads which shows sexual content or contents which should not be accessible to kids 

- Apps primarily intended for use by kids must get parental permission or use a parental gate before allowing the user to link out of the app or engage in commerce 
1. Application should use parental gate before allowing the application to be used else should quit the application

- Apps in the Kids Category must be made specifically for kids ages 5 and under, ages 6-8, or ages 9-11 
1. Uploader should make sure about the age restriction which is given to the application

Test Accounts

- Developer should provide test accounts to allow the testers to access the account and test the functionalities and features. 
1. If your application has a login feature then uploader has to make sure that test accounts are provided in Metadata file
2. If your application has subscription, then uploader has to make sure that 2 test accounts for subscriptions are also provided 

Automatic fallback from Production to Sandbox check

- The system should 1st use the production validation URL. IF a production validation URL is not found, it should fall back to the Sandbox validation URL 
1. Developers should make sure that application uses product validation url first else the validation should fall in Sandbox environment. 

Thursday, May 8, 2014

Windows application and design.

"Why are you buying a windows phone! are u crazy! There are not much applications dude!!"
This would be a response from a friend whom you inform about you buying a windows phone.


But you would be surprised to know that Nokia windows phone market sales are increasing enormously with more and more people buying windows phone. Normally when u buy a new phone 1st thing you would confirm with many techies is about free useful applications in store. If u ask me now (I ain't a techie :P) I would suggest you to buy an Android phone because there are lot of free applications and games to download. But if you want a phone for which has excellent look and performance i would suggest Windows phone. Transition are so smooth that you would love your phone a lot. The only con of buying windows phone in present date is lack of application you would find when compared with other two platforms


Even though it's a con I recently found out how windows phone marketing team is trying to increase their market by linking Bollywood industry with their apps exclusively released in windows platform first. Take for example Dhoom3 and Krissh3. Both the games were a massive hit on Windows platform. In future I would not be surprised to see people developing apps for windows platform first.


Coming to designing part, when compared to Android and iOS layouts, windows want the application design simple and effective. This actually helps in reducing the effort for windows testing. So here are the list of things to keep in mind while designing windows application.



1. You need to make sure proper color combinations are used.
2. Alignment needs to be very accurate enough i.e there should not be any alignment issues.
3. Should support all resolutions of windows phones.
4. Style of the selected state of button should be kept consistent
5. Content in the application should appear properly i.e there should not be any text clipping.
6. Pin to Start feature should be implemented for all the sizes in tile.
7. All the texts are localized if other languages than English are supported.
8. Provide a refresh button in app bar to refresh the content of the screen.
9. Make use of Panoramic view or Pivot where ever suitable.
10. Use more of Horizontal scrolling to display the next content if there are couple of content in the list.


Additionally make sure to

1. Display a No network alert in screen or an alert when network gets disconnected.
2. Check for memory leaks in application ( Ask for debug build from developer )
3. Check if you can scroll to bottom of the screen without content being clipped.
4. Check if image quality is good i.e image should not be pixelated.
5. Check with analysis tool in Visual studio to check the response time, battery consumption and performance of the application

Thursday, April 3, 2014

Things required to be a good defect reporter.

Do you find yourself in a situation where developers ask you each and every time to reproduce the bug which was reported?? Are they not understanding the defect?

Being in a quality testing department, a quality tester should be good in communication and writing skills. Development team should never come back to a tester asking him to reproduce the bug (Even once). If this is achieved by you in every defect then you are a 100 percent good defect reporter.

A good bug reporter should always keep these things in mind while logging defect.

1) Defect Summary: Defect summary should be kept short and sweet. Just by looking at the summary the developer should understand what the bug is all about. I frequently see testers being very vague in providing proper defect summary. If the defect cannot be explained in Defect summary then use following sentence : "Application crashes if following sequence is performed in so and so screen". and explain the defect by providing proper steps in description.

2) Severity: Severity plays an important role while logging the defect. Developers would plan fixing of the defects depending on the severity. As a tester we need to always be a good judge in marking the severity. Many companies have following severity in bug tracker depending on the following criteria

- Critical: If the system crashes or certain functionality is not working or there is loss in data.
- High: If feature doesn't work as per the business requirements or there is no possible way to proceed to next step of testing.
- Medium:Highly visible usability and UI issues and if there is a possible workaround.
- Low: Cosmetic flaws

So make sure the defect is logged with correct severity.

3) Build information: Make sure build number or release number is entered properly to further reduce the confusion. 

4) Device Information / OS information : Make sure proper device model and OS is mentioned. If the same defect exists in other devices or OS then mention those devices too.

5) Assign defect: It is better to know who is handling what module as project starts so that assigning the defect becomes easier. If you don't know who is handling the module assign the defect to project owner so that the PO can assign the defect to concern person.

6) Steps: Make sure the steps are mentioned properly, right from the start till end. Each and every step is very important to be written, be it a simple tap or some unusual sequence. If there are any screenshots attached, make sure you mention the screenshot name in steps itself. Have expected and actually result properly mentioned. If any additional info is required, mention those points too.

7) Screenshot: Always make a habit of attaching a screenshot to the defect as it gives more clarity about the defect. Using an annotation, mark the area in the screenshot where glitch or UI issue is found. If there are multiple screenshots then make sure that proper name is given to each screenshot. Its better to have a build number along with the screenshot so that if there are similar bugs found in next build then the screenshot could be named with the present build number to reduce confusion.

Let me know if I have missed anything. Cheers. 

Wednesday, April 2, 2014

How do you install application to your iOS device using Xcode organizer ?

Applications can be installed to the iOS device by using Xcode. You can even install applications which are downloaded from iTunes too. First thing you need to do is download Xcode 4.5.2 for your Mac system. 

Steps to install

1) Open Xcode application in Mac system through Dock

2) Click on the Windows list in Xcode system bar

3) Select Organizer ( Short cut: Cmd Shift 2)

4) Organizer window would open

5) Click on Provisioning Profiles in Library section 

6) Simply drag the provision profile provided by the developer to the library window to add the provision profile or click on import to get the required provision profile.

7) Now Click on the device which is connected ( Green Dot ) in Devices section 

8) Click on Application

9) Drag and drop the application from Finder to window or you can tap on Add to get the required file from finder.

10) Progress indicator would appear indicating about application being installed.

11) Check in device to confirm if application is being installed.

Note: 

- If valid provision profile is not installed, a alert message would be displayed at end during installation

Adios

Thursday, March 6, 2014

Test Cases for Sign in and Sign up.

1. Username
a. Requirements Check
- Check with requirements if special character could be used for username else Special character keys in textfield should be disabled i.e. if user taps on any special character key in keyboard no operation should be performed (dead key). If special character keys are not disabled then "Special characters are not allowed" alert message has to be displayed when used as username.
- Check with requirement for minimum number of characters allowed for username. If user enters less than the minimum number of character then proper alert message has to be displayed.
- Check if username is case sensitive or case insensitive. If its case sensitive then if 1 person has a username 'Christ' then if another person signs up using 'cHrist', alert message has to be displayed.
- Check with requirements if 'space' could be used for username. 

b. Test cases 
- Use username which already exists.
- Don't enter any character in username field.
- Use other language character such as Arabic or Chinese.
- Use hidden special characters. 
Ex : If u tap and hold character L in keyboard you would get a special character. If special characters are disabled as per requirements then developers should make sure to disable hidden special characters also. Try experimenting with different hidden keys :)
- Test for Case sensitive
- Use less than minimum number of character.
- Use more than maximum number of characters.
- Use space key in-between letters
- Copy paste a special character from Note or Safari.
- Finally a positive test case use correct username :)

2. Password 
a. Requirements Check.
- Check with the requirements for minimum character and maximum character which could be used for password field. Mostly it would be 6 for min and 32 for maximum. 
- Password field should be shown in Asterisk (****) as you type.  

b. Test Cases
- Use less than minimum number of character.
- Use more than maximum number of characters.
- Copy text to password field (Shouldn't work) 
- Use special characters, numbers and letters.

3. Email Address
a. Requirements 
- Check with minimum and maximum number of characters which could be used for email address.
- Only letters numbers period and underscore should be allowed for Sign up. Its better for developers to disable rest all keys in keyboard.
- Email Address should always start with letter.

b. Test Cases
- Use special character like @! as email address.
- Use wrong email address.
- Use valid Email Address

4. Others 
- Forgot password feature should be used. If customer has not asked for it, insist customer to have this feature.
- Clear button should be present so as the user could clear the textfield by tapping clear button.
- It better to disable Copy and Paste option in textfield.
- Its better to have remember me check box so that it would remember the email address.
- Sign in / Sign up button should be enabled only if all textfield are filed. If requirements is such that all button should be enabled then if user taps on Sign in / Sign up button proper alert message has to be displayed.
- Appropriate alert message has to be  displayed if any error is found. Each error should have a separate alert message.