320 likes | 374 Views
AGENDA. INTRODUCTION PROBLEMS PERFORMANCE TESTING FUNCTIONAL TESTING. INTRODUCTION. Location based services.
E N D
AGENDA • INTRODUCTION • PROBLEMS • PERFORMANCE TESTING • FUNCTIONAL TESTING
INTRODUCTION Location based services is an information and entertainment service, accessible with mobile devices through the mobile network and utilizing the ability to make use of the geographical position of the mobile device.
INTRODUCTION Location based services
INTRODUCTION Location based services
INTRODUCTION Location based services There are nearly: 6,000 iPhone location apps 900 Android location apps 300 Blackberry location apps
INTRODUCTION Location based services
problems What can we do to be part of this LBSA revolution? What kind of tools can we create to help developers test their LBA? What specific features should this tool have in order to become a multi-platform tool?
problems Performance Testing Functional Testing
performance testing • Server performance depends on multiple parameters • such as: • Number of users • Location of users • Type of request • What is the server behavior when it receives 10 petitions from the same location? • ...
performance testing Static Multi-user A problem appeared when we learned that the location of the users should be in Latitude/Longitude format. Solution:
performance testing Static Multi-user Los Angeles,CA lat: 34.05236 lng: -118.24356
performance testing Static Multi-user • First feature for performing testing consists of creating an CSV file that includes the following information: • Number of users • Location of users in Lat/Lon format • This file is able to serve as an input for performance testing tools that are currently in the market.
performance testing Static Multi-user Screen shots
Functional testing Dynamic Single-user Idea behind this feature is to help developers test their tools without needing to deploy people around the world. Static single-user feature was completed in the previous version so we needed to make this static user travel around.
Functional testing Dynamic Single-user We needed real information to avoid cases like the following: Solution: A B A B
functional testing Dynamic Single-user From: Los Angeles,CA To: San Diego,CA Distance: 121 mi Approx. Time: 2 hours 20 min Route: gzynEfmupUZi@??}RiQ??~BsD??xCaIv@kFLqMPkHvAcV~BcU\\eBr@wB`AmBp@_AzAuAl@[|...
functional testing Dynamic Single-user
functional testing Dynamic Single-user • Encoded Polyline Algorithm Format • The steps for encoding such a signed value are specified below. • Take the initial signed value:-179.9832104 • Take the decimal value and multiply it by 1e5, rounding the result:-17998321 • Convert the decimal value to binary. Note that a negative value must be calculated using its two's complement by inverting the binary value and adding one to the result:00000001 00010010 10100001 1111000111111110 11101101 01011110 0000111011111110 11101101 01011110 00001111 • Left-shift the binary value one bit:11111101 11011010 10111100 00011110
functional testing Dynamic Single-user • If the original decimal value is negative, invert this encoding:00000010 00100101 01000011 11100001 • Break the binary value out into 5-bit chunks (starting from the right hand side):00001 00010 01010 10000 11111 00001 • Place the 5-bit chunks into reverse order:00001 11111 10000 01010 00010 00001 • OR each value with 0x20 if another bit chunk follows:100001 111111 110000 101010 100010 000001 • Convert each value to decimal:33 63 48 42 34 1 • Add 63 to each value:96 126 111 105 97 64 • Convert each value to its ASCII equivalent:`~oia@
functional testing Dynamic Single-user 34.05236,-118.2435634.05222,-118.2433534.05222,-118.2433534.05541,-118.2404234.05541,-118.2404234.05477,-118.2395234.05477,-118.23952 ... ... ...
functional testing Dynamic Single-user After being able to obtain the set of coordinates for a determined route we were now in the position to start simulating in a regular map application. We started by trying out Blackberry simulator.
functional testing Dynamic Single-user Blackberry simulator has a map application that we could use to see if the data we got was indeed correct. Blackberry simulator’s GPS function is able to import a route from a file if it is in NMEA format.
functional testing Dynamic Single-user NMEA 0183 is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer (wind speed and direction), gyrocompass, autopilot, GPS receivers and many other types of instruments.
functional testing Dynamic Single-user NMEA 0183 RMC - NMEA has its own version of essential gps pvt (position, velocity, time) data. It is called RMC, The Recommended Minimum, which will look similar to: $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A Where: RMC Recommended Minimum sentence C 123519 Fix taken at 12:35:19 UTC A Status A=active or V=Void. 4807.038,N Latitude 48 deg 07.038' N 01131.000,E Longitude 11 deg 31.000' E 022.4 Speed over the ground in knots 084.4 Track angle in degrees True 230394 Date - 23rd of March 1994 003.1,W Magnetic Variation *6A The checksum data, always begins with *
functional testing Dynamic Single-user NMEA 0183 • In order for us to follow the NMEA format we needed to do the following tasks: • Provide UTC Time • Convert Decimal Degrees to Degrees Minutes.M • Convert the speed into knots per second • Find out the True Course Generate the Checksum for sentence validation
functional testing Dynamic Single-user Unfortunately for us and after several tests we received a word from Blackberry that the simulator had a few bugs regarding the GPS module. So we went to ahead to try Android simulator.
functional testing Dynamic Single-user • Android simulator also has a GPS module in which developers can insert coordinates to test their apps. • Since NMEA is a format used in every GPS device, • Android also accepts sentences or files in this format. • They way to send the data is by doing the following: • Start a Telnet connection with the simulator • Start sending each line of the NMEA file one by one
functional testing Dynamic Single-user • Video
functional testing Dynamic Single-user • Video
performance testing Dynamic Multi-user • Second feature for performing testing consists of creating an CSV file that includes the following information in a dynamic manner: • Number of users • Location of users in Lat/Lon format • This file is able to serve as an input for performance testing tools that are currently in the market.
performance testing Dynamic Multi-user Screen shots