You are on page 1of 7

Test Plan for Geo­fenced Music Player

Prepared by Stephen Chan, Kevin Kusumi, Jonathan Wang, Ted Wang
For our client: Petr Janata

Summary of Product to be Tested
The geo­fenced Music Player app is an IOS application designed to play certain sound files in 
designated geographical locations.
Primary Use Case: Geo­fenced Music player
Goal

Play Music when entering a geo­fenced location

Scope

External

Preconditions

User has application on phone. Must be running IOS 8

Success State

Music is played when the user enters the designated geo­
fenced location and logging information is recorded by app

Failed State

No action done

Primary Actor

The Owner/User of the phone

Secondary Actor

None

Start Action

Open App in IOS environment

Description

1.
2.
3.
4.
5.

Variations

1. Audio is already playing
a. Audio ducking will occur
2. If app is in background 
a. Application should work as if it were in the 
foreground and music should play when new 
region is entered .

Extensions

Import locations and music files (press import button) 
System downloads music files and locations
User press begin monitoring
User enters geo­fenced location
App plays sound file associated with geo­fenced 
location
6. App records geographical location, sound file, and time 
of music song
7. System stops playing sound after certain end conditions
a. the User leaves the geographical area
b. the sound clip finishes

None

Logging of actions from app Contact Information: Kevin Kusumi Email: kckusumi@ucdavis. These areas must be  accessible by the individual testing them. App able to work in background 5. the device has GPS as the accuracy is greatly increased. Audio Ducking 6.edu Ted Wang Email: ttwang@ucdavis. (using the  virtual development environment provided in XCode is not recommended for testing purposes  as the virtual devices is treated as a wifi­only capable device) A Computer running XCode and OSX is required to install the application on the IOS device  because the app is not currently in the Apple App Store. .edu Resources Required for Testing Hardware Requirements: To test the geo­fenced music player the user is require to have an iOS device that is running  IOS 8 or greater.Major Elements: 1. Downloading Music Player/Files 3.edu Stephen Chan Email: stmchan@ucdavis.  Wifi­only  devices with have a drastic decrease in geo­fencing accuracy and delay time between entering  the geo­fenced area and playing the designated music file will become unpredictable. SQLite Database 4.edu Jonathan Wang Email: jonwang@ucdavis. the user will have to walk between geo­fenced areas. Geographical Location Monitoring and Boundaries 2. Ideally. Testing Requirements: Approximately 2 person­hour is required to fully test this application To test this app.

Two libraries are not included and we are currently working on it to fix this issue so that  they are automatically added to the project when it is cloned from Bitbucket. but for SQLite. b. Add SQLite.’ option.  Once given the email or Bitbucket username.org/schan93/geofencedmusicplayer. . d. An example is as follows: git clone  https://schan93@bitbucket. we can provide any individual read access. Git clone each project just like it was performed in step 2. one needs to adhere to the following steps: a.” and then “Add Copy Files Build Phase.https://github. We can ensure the project is built and installed properly by building and cleaning the  project. They are  SwiftCSV and SQLite libraries. To add each  project. This is a link provided to us by the client with a set of sample music files that used  for testing purposes. longitude /  latitude coordinates. If the Copy Files build phase is not there. To checkout and build elements.swift. An example would be:  git clone . This will add  the files into the GeofencedMusicPlayer project so that the functions used in the  GeofencedMusicPlayer project can be referenced properly. This would be done by doing XCode­>Product­>Build and XCode­>Product­ >Clean. the files will be downloaded to a user’s Documents  folder on their iPhone.git. make sure that the  ‘Destination’ checkbox right underneath the files displayed is also checked.  when that is finished.com/naoty/SwiftCSV. Configuration and Option. If one changes the number ‘0’ at the end of the link to a ‘1’ (which is  done so in the application already). That is all that needs  to be done for SwiftCSV. please  refer to the link provided to each of the Github links for more details.git 3.xcodeproj. e.  The following files are used for testing:  https://www.  Right click the GeofencedMusicPlayer project in XCode and select the ‘Add Files  to ‘GeofencedMusicPlayer. If any of the below steps are confusing.com/naoty/SwiftCSV.git and git clone  https://github. one simply needs to use the ‘git clone’ command in  order to run the project. there are a few other steps are still  necessary to perform. Navigate to where each project was downloaded to and find the SwiftCSV and  SQLite projects. Go to the GeofencedMusicPlayer project’s Build Phases and add SQLite to the  Target Dependencies build phase.Packaging.framework to the Link Binary With Libraries build phase.. Add SQLite.com/stephencelis/SQLite. f.framework to a Copy Files build phase with a Frameworks  destination. When doing so. go to “Editor” ­> “Add  Build Phases.  2.   1. and music associated with each location which is also downloaded  automatically.com/sh/lygcn1u1vtok7de/AABdgQXvZf6W6RFSyegzzsNNa? dl=0.swift and  https://github. simply run the project. Included there is also a CSV with all the locations. c.org/schan93/geofencedmusicplayer.dropbox.com/stephencelis/SQLite. If there are any issues. Select the file that ends with the suffix . Our Bitbucket repository url is: https://bitbucket.” 4. Building. The links (respectively to each library) are as follows:  https://github. please  contact anyone through the above emails..

  download music  files 2 hours 15 minutes General User Music plays  when entering  new region 2 2 hours 30 minutes General User Exporting log  files to server 3 30 minutes 15 minutes General User Audio ducking ­  4 current audio  signal is reduced  when music file  plays 10 minutes 20 minutes General User Application  6 notifies and runs  in background  1 hour 15 minutes Non Functional Testing Plan: Category Sub­category Specific Goal Security Access  SQL Injection  Use Case  Estimated  Index Time  (Devs) 2 hours Estimated  Time  (Testers) 1 hour .Functional Testing Plan: User  Identification User Goal Test Id Estimated  Time (Devs) Estimated  Time (Testers) Admin User  (client) Upload/Update  geolocation and  music mappings 5 5 minutes 5 minutes General User Import  1 geolocation and  mappings.

  can the server  handle all the  traffic with  hundreds or  thousands of  2 hours 2 hours .  can the files  even be  downloaded?  30 minutes 30 minutes Performance Response  Time under  load If multiple  users are  exporting data  to the client’s  web server.control Attack/Login Fault  Tolerance Specific  failure mode Check for  operation when  WiFi or 3/4G is  not available  for  downloading  and importing  required files to  application 2 hours 30 minutes Usability Recovery Protection from  geolocation  and music  mappings  being deleted  or not being  downloaded 3 hours 2 hours Usability Recovery Protection from  user not  specifying  whether or not  he or she  allows  geofencing to  be turned on  30 minutes 15 minutes Performance Response  Time under   load Depending on  WiFi signal or  3/4G  connectivity.

Must have iOS application downloaded onto iPhone 4. Notification showing download progress / completion 5. Press `Export` button to export log file of when and where the user has navigated  to b. Must have iOS application downloaded onto iPhone b. Goal: Play designated music file when user enters geo­fenced region 3. Music files and geographic mappings must be downloaded b. A notification showing export progress and completion appears 5. A notification saying that log file has been received appears .simultaneous  transactions? List Of Test Cases: Case 1: Import Audio/Location Data 1. Checking: a. Test Script: a. App must be open or running in the background 4. Ask client if log file has been received b. Size of application data usage has increased Case 2:  Music Plays When Entering new Region 1. User Type: General User 2. Goal: Export files to client­provided web server 3. Press `Import` button b. Test Script: a. Initial Conditions / Required a. Music file should be associated with the region Case 3: Export log files to server 1. User Type: General User 2. Initial Conditions / Required a. Walk into geo­fenced location (within 100m radius) b. Checking: a. Must have client­provided web server ready and functioning 4. Test Script: a. Goal: Download music files and location data from Dropbox 3. Must have an iPhone c. Checking: a. Music file associated with region will start playing 5. Initial Conditions / Required a. Files start downloading onto device c. User Type: General User 2.

Checking: See Case 2 . When files are imported by the admin or by a general user.Case 4: Audio Ducking 1. Goal: Current audio signal should be lowered for music clip 3. App must be running in the background 4. Checking: a. Music plays as region is entered b. Region must be entered in order for music file to play 4. Notification of entering region and music file playing Case 5: Upload/Update geolocations and music mappings 1. Music files and geographic mappings must be downloaded b. The current audio’s volume is lowered to play the music file c. Test Script: a. Previous audio goes back to original volume after music file is played 5. User Type: General User 2. Goal: Verify background operation of app 3. Testing users can go to specified locations admin provides so that the users can  test if these locations have been added in properly 4. User Type: General User 2. the CSV of  geolocations and music mappings should be updated b. Test Script: See Case 2 5. Initial Conditions a. Initial Conditions / Required a. Access to Dropbox folder where CSV of geolocation and music mappings are  uploaded to b. A notification showing the location and music files mapping appears after  download of music files and CSV is complete 5. Test Script: a. Checking: a. A notification can be generated to show the location and music file mappings  after download of music files and CSV is complete Case 6: Application notifies and runs in background 1. Goal: Upload/update geolocation and music mappings 3. Admin user or general user can go to “new” or updated locations to verify if  locations have indeed been added in correctly b. Must have iOS application downloaded onto iPhone b. User Type: Admin User 2. Initial Conditions  a.