Test Cases¶
Along with the continued development and the addition of new sensors and features to the RAPIDS pipeline, tests for the currently available sensors and features are being implemented. Since this is a Work In Progress this page will be updated with the list of sensors and features for which testing is available. For each of the sensors listed a description of the data used for testing (test cases) are outline. Currently for all intent and testing purposes the tests/data/raw/test01/ contains all the test data files for testing android data formats and tests/data/raw/test02/ contains all the test data files for testing iOS data formats. It follows that the expected (verified output) are contained in the tests/data/processed/test01/ and tests/data/processed/test02/ for Android and iOS respectively. tests/data/raw/test03/ and tests/data/raw/test04/ contain data files for testing empty raw data files for android and iOS respectively.
The following is a list of the sensors that testing is currently available.
Messages (SMS)¶
- The raw message data file contains data for 2 separate days.
- The data for the first day contains records 5 records for every
epoch. - The second day's data contains 6 records for each of only 2
epoch(currentlymorningandevening) - The raw message data contains records for both
message_types(i.e.recievedandsent) in both days in all epochs. The number records with eachmessage_typesper epoch is randomly distributed There is at least one records with eachmessage_typesper epoch. - There is one raw message data file each, as described above, for testing both iOS and Android data.
- There is also an additional empty data file for both android and iOS for testing empty data files
Calls¶
Due to the difference in the format of the raw call data for iOS and Android the following is the expected results the calls_with_datetime_unified.csv. This would give a better idea of the use cases being tested since the calls_with_datetime_unified.csv would make both the iOS and Android data comparable.
- The call data would contain data for 2 days.
- The data for the first day contains 6 records for every
epoch. - The second day's data contains 6 records for each of only 2
epoch(currentlymorningandevening) - The call data contains records for all
call_types(i.e.incoming,outgoingandmissed) in both days in all epochs. The number records with each of thecall_typesper epoch is randomly distributed. There is at least one records with eachcall_typesper epoch. - There is one call data file each, as described above, for testing both iOS and Android data.
- There is also an additional empty data file for both android and iOS for testing empty data files
Screen¶
Due to the difference in the format of the raw screen data for iOS and Android the following is the expected results the screen_deltas.csv. This would give a better idea of the use cases being tested since the screen_eltas.csv would make both the iOS and Android data comparable These files are used to calculate the features for the screen sensor
- The screen delta data file contains data for 1 day.
- The screen delta data contains 1 record to represent an
unlockepisode that falls within anepochfor everyepoch. - The screen delta data contains 1 record to represent an
unlockepisode that falls across the boundary of 2 epochs. Namely theunlockepisode starts in one epoch and ends in the next, thus there is a record forunlockepisodes that fall acrossnighttomorning,morningtoafternoonand finallyafternoontonight - The testing is done for
unlockepisode_type. - There is one screen data file each for testing both iOS and Android data formats.
- There is also an additional empty data file for both android and iOS for testing empty data files
Battery¶
Due to the difference in the format of the raw battery data for iOS and Android as well as versions of iOS the following is the expected results the battery_deltas.csv. This would give a better idea of the use cases being tested since the battery_deltas.csv would make both the iOS and Android data comparable. These files are used to calculate the features for the battery sensor.
- The battery delta data file contains data for 1 day.
- The battery delta data contains 1 record each for a
charginganddischargingepisode that falls within anepochfor everyepoch. Thus, for thedailyepoch there would be multiplecharginganddischargingepisodes - Since either a
chargingepisode or adischargingepisode and not both can occur across epochs, in order to test episodes that occur across epochs alternating episodes ofcharginganddischargingepisodes that fall acrossnighttomorning,morningtoafternoonand finallyafternoontonightare present in the battery delta data. This starts with adischargingepisode that begins innightand end inmorning. - There is one battery data file each, for testing both iOS and Android data formats.
- There is also an additional empty data file for both android and iOS for testing empty data files
Bluetooth¶
- The raw Bluetooth data file contains data for 1 day.
- The raw Bluetooth data contains at least 2 records for each
epoch. Eachepochhas a record with atimestampfor the beginning boundary for thatepochand a record with atimestampfor the ending boundary for thatepoch. (e.g. For themorningepoch there is a record with atimestampfor6:00AMand another record with atimestampfor11:59:59AM. These are to test edge cases) - An option of 5 Bluetooth devices are randomly distributed throughout the data records.
- There is one raw Bluetooth data file each, for testing both iOS and Android data formats.
- There is also an additional empty data file for both android and iOS for testing empty data files.
WIFI¶
- There are 2 data files (
wifi_raw.csvandsensor_wifi_raw.csv) for each fake participant for each phone platform. - The raw WIFI data files contain data for 1 day.
- The
sensor_wifi_raw.csvdata contains at least 2 records for eachepoch. Eachepochhas a record with atimestampfor the beginning boundary for thatepochand a record with atimestampfor the ending boundary for thatepoch. (e.g. For themorningepoch there is a record with atimestampfor6:00AMand another record with atimestampfor11:59:59AM. These are to test edge cases) - The
wifi_raw.csvdata contains 3 records with random timestamps for eachepochto represent visible broadcasting WIFI network. This file is empty for the iOS phone testing data. - An option of 10 access point devices is randomly distributed
throughout the data records. 5 each for
sensor_wifi_raw.csvandwifi_raw.csv. - There data files for testing both iOS and Android data formats.
- There are also additional empty data files for both android and iOS for testing empty data files.
Light¶
- The raw light data file contains data for 1 day.
- The raw light data contains 3 or 4 rows of data for each
epochexceptnight. The single row of data fornightis for testing features for single values inputs. (Example testing the standard deviation of one input value) - Since light is only available for Android there is only one file that contains data for Android. All other files (i.e. for iPhone) are empty data files.
Application Foreground¶
- The raw application foreground data file contains data for 1 day.
- The raw application foreground data contains 7 - 9 rows of data
for each
epoch. The records for eachepochcontains apps that are randomly selected from a list of apps that are from theMULTIPLE_CATEGORIESandSINGLE_CATEGORIES(See testing_config.yaml). There are also records in each epoch that have apps randomly selected from a list of apps that are from theEXCLUDED_CATEGORIESandEXCLUDED_APPS. This is to test that these apps are actually being excluded from the calculations of features. There are also records to testSINGLE_APPScalculations. - Since application foreground is only available for Android there is only one file that contains data for Android. All other files (i.e. for iPhone) are empty data files.
Activity Recognition¶
- The raw Activity Recognition data file contains data for 1 day.
- The raw Activity Recognition data each
epochperiod contains rows that records 2 - 5 differentactivity_types. The is such that durations of activities can be tested. Additionally, there are records that mimic the duration of an activity over the time boundary of neighboring epochs. (For example, there a set of records that mimic the participantin_vehiclefromafternoonintoevening) - There is one file each with raw Activity Recognition data for testing both iOS and Android data formats. (plugin_google_activity_recognition_raw.csv for android and plugin_ios_activity_recognition_raw.csv for iOS)
- There is also an additional empty data file for both android and iOS for testing empty data files.
Conversation¶
- The raw conversation data file contains data for 2 day.
- The raw conversation data contains records with a sample of both
datatypes(i.e.voice/noise=0, andconversation=2) as well as rows with for samples of each of theinferencevalues (i.e.silence=0,noise=1,voice=2, andunknown=3) for eachepoch. The differentdatatypeandinferencerecords are randomly distributed throughout theepoch. - Additionally there are 2 - 5 records for conversations (
datatype= 2, andinference= -1) in eachepochand for eachepochexcept night, there is a conversation record that has adouble_convo_starttimestampthat is from the previousepoch. This is to test the calculations of features acrossepochs. - There is a raw conversation data file for both android and iOS
platforms (
plugin_studentlife_audio_android_raw.csvandplugin_studentlife_audio_raw.csvrespectively). - Finally, there are also additional empty data files for both android and iOS for testing empty data files