More Related Content
Similar to Mobile api test approach
Similar to Mobile api test approach (20)
More from Indium Software
More from Indium Software (20)
Mobile api test approach
- 2. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Define API
2
API stands for
An API is a software-to-
software interface, not a user
interface.
With APIs, applications talk to
each other without any user
knowledge or intervention.
Implemented by writing
function calls in the program.
API s has libraries from the
Providers.
- 3. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
How It Works ?
3
Google Maps has one of the most popular
APIs on the internet and provides a good
example of their power.
Face book allows developers through an API
to create ‘apps’ that have become one of the
main sources of entertainment on Face
book.
APPLICATION
BAPIAPPLICATION
A
Request
data
Retrieve data
- 4. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Mobile API
4
A mobile application will
talk to its backend APIs via
standard protocols.
Principles- HTTP and REST
with Data Format- XML and
JSON respectively
APIs may either be your own
or from any number of 3rd
parties
which can be integrated by
calling them directly from
your application, or indirectly
via your API backend
- 5. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Architecture
5
Cloud Server
DB
Application
Log
Web Application
Third Party SDK Android/IOS SDK
Application Development
- 6. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Test Environment Setup
6
Mobile Apps
Web Apps
Cloud Server
- 7. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Process Flow in Our Practices
7
API
OS to be
tested
1. ADT
2. Android Simulator SDK
3. Android Real Device
1. Xcode
2. Iphone Simulator
3. Iphone 5 Real Device
Testing Carried out
Boundary
Analysis
Functionality Exceptional Return value
based on input
condition
Does not return
anything
Test Log
If OS = ‘Android’ If OS = ‘IOS'
- 8. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Challenges
8
Challenge 1: No
proper documents
were provided
Solution :
Based on the KT
session, gathered
the information to
work on the
application
Challenge 2:
Timelines
Solution:
Individually shared
the platform
Challenge 3: New
feature Guidelines
were not provided
Solution:
Get the knowledge
of new features
from the
developers through
skype
Challenge 4:
Verifying and
validating the
output in different
system is little
difficult for testers.
Solution: In-depth
understanding of
functional behavior
and sharing among
the team to have
deeper understand
of same
functionality on
different system.
Challenge5:
Exception
handling function
needs to utilized
and used properly.
Solution:Based of
Documentation,
various exception s
has been handled
with its own
exception handling
methods.
- 9. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Types of Testing
9
Return the expected responses for
both expected and unexpected input.
Functionality works as expected
even with multiple concurrent clients
APIs aren’t vulnerable to common
attacks
Functional
Testing
Performance
Testing
Security
Testing
- 10. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
System Requirements
10
General
• Server - Cloud server
• Integrated Third party application - Face book, Twitter applications
• Development language - Android, Objective-c,HTML5
IOS
• Operating System :Mac OS X 10.8.4
• Developer Tools - Xcode 4.6.3, Iphone Simulator, Iphone 5(ios-
6.1.4) Real Device.
Android
• Operating System: Windows XP, 7 and 8.
• Developer Tools - Eclipse - ADT (v22.0.1), Android Simulator SDK
(15 or higher), Android Real Device (15 or higher).
- 11. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
In Our Practice
11
Understand the exact business requirement and priorities it.
Requirement traceability Matrix is created to provide Input Parameters .
The Low Level and High Level test cases are documented.
The Testing Process is carried out once the test case is signed off by Client.
- 12. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Input Provided
12
• Acts as both a unique identifier and
a secret token for authentication
• unique to each userAPI Key
• Interact with the Google Cloud
Storage API
• Each project can be identified by
their unique project ID
Project ID
public class GlobalVariables {
public static String apiKey =
"ZGoweEpuVTlOVEl5T1RkbE5URmxOR0l3TXpSa09UWmhOakF3WW1JMEptRTljM0J5YVc
1ME9HbHZjMkZ3Y0NZ";
public static String projectId = "720196781908";
}
- 13. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Android Manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.netmera.androidpushdemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<!-- Used to connect Netmera Services -->
<uses-permission android:name="android.permission.INTERNET" />
<application
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
</application>
</manifest>
13
- 14. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
IOS XCODE
14
- 15. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Pass ScreenShot
15
- 16. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Failure ScreenShot
16
- 17. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
Key Take Away
17
- 18. © 2014 Indium Software
ENHANCING SOFTWARE QUALITY
18
Thank You
USA:
americas.sales@indiumsoft.com
EMEA & APAC:
apac.sales@indiumsoft.com
emea.sales@indiumsoft.com
INDIA:
sales@indiumsoft.com
Sunnyvale
Suite 210, 1250 Oakmead Parkway
Sunnyvale, CA – 94085.
Phone: +1(408) 501-8844
Fax: +1(408) 501-8808
Atlanta
Crown Office Suites
1870 The Exchange, Suite 100
Atlanta, GA 30339
Phone: +1 (678) 608-0809, +1(770) 989-7302
New Delhi
F-1/5 Okhla Industrial Area Phase-I,
New Delhi – 110 020.
Phone: +91-11-6613 0400
Bengaluru
SRS Plaza, No. 246, 2nd & 3rd Floor
13th Cross, Indira Nagar 2nd Stage
Bengaluru – 560 038.
Phone: +91-80-4914 7777
Chennai
VDS House
41, 2nd Floor, Cathedral Road
Chennai – 600 086.
Phone: +91-44-2811 6330
Fax: +91-44-4210 4033