mobile api test approach
Post on 28-May-2015
284 Views
Preview:
TRANSCRIPT
INDIUM SOFTWAREAn Independent Software Testing Firm
MOBILE API TEST APPROACH
“Business Assurance through Quality Assurance”
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
2
Define API
API stands forApplication ProgrammingInterface
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.
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
3
How It Works ?
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
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
4
Mobile API
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
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
5
Architecture
Cloud Server
DBApplication Log
Web Application
Third Party SDK Android/IOS SDK
Application Development
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
6
Test Environment Setup
Mobile Apps
Web Apps
Cloud Server
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
7
Process Flow in Our PracticesAPI
OS to be tested
1. ADT2. Android Simulator SDK3. Android Real Device
1. Xcode2. Iphone Simulator3. 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'
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
8
Challenges
Challenge 1: No proper documents
were providedSolution :
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.
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
9
Types of Testing
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
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
10
System Requirements
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).
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
11
In Our Practice
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.
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
12
Input Provided
• 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 = "ZGoweEpuVTlOVEl5T1RkbE5URmxOR0l3TXpSa09UWmhOakF3WW1JMEptRTljM0J5YVc1ME9HbHZjMkZ3Y0NZ"; public static String projectId = "720196781908";}
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
13
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>
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
14
IOS XCODE
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
15
Pass ScreenShot
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
16
Failure ScreenShot
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
17
Key Take AwayWhat is API
and How do we Test
It ?
Challenges Faced
Process Followed in
Our Practice.
Tools used in Different Platform
Input & Output
© 2014 Indium Software
ENHANCING SOFTWARE QUALITY
18
Thank You
USA: americas.sales@indiumsoft.com
EMEA & APAC: apac.sales@indiumsoft.comemea.sales@indiumsoft.com
INDIA: sales@indiumsoft.com
SunnyvaleSuite 210, 1250 Oakmead ParkwaySunnyvale, CA – 94085.Phone: +1(408) 501-8844Fax: +1(408) 501-8808
Atlanta Crown Office Suites1870 The Exchange, Suite 100 Atlanta, GA 30339Phone: +1 (678) 608-0809, +1(770) 989-7302
New DelhiF-1/5 Okhla Industrial Area Phase-I, New Delhi – 110 020.Phone: +91-11-6613 0400
BengaluruSRS Plaza, No. 246, 2nd & 3rd Floor13th Cross, Indira Nagar 2nd StageBengaluru – 560 038.Phone: +91-80-4914 7777
ChennaiVDS House41, 2nd Floor, Cathedral RoadChennai – 600 086.Phone: +91-44-2811 6330Fax: +91-44-4210 4033
top related