Skip to content

Functional Tests

Ken Manheimer edited this page May 23, 2013 · 12 revisions

Table of Contents

Application Entry - Clean Slate

"Clean Slate" = no pending "remembered" login. Note that login screen is only one that lacks action bar (black bar with a menu button) at top.

  1. brief or no splash screen (SpiderOak emblem)
  2. then Login screen

Login screen actions

Use Log in button:
  • Fill in username and password (password characters are hidden)
  • Elect whether or not to set remember button
  • Hit Log in button
    • If Remember me is checked *and* it's the first time you are using it with the selected account, you're conveyed to a "Please note" caution screen.
      • Either choice you make on this screen will continue the login. The choice effects the conduct of the application next time it is started.
      • The effect of hitting Ok, I understand is that you will automatically be logged into this account next time in subsequent times that the app is restarted, until you explicitly log out (or unless you alter the "remember me" status using the settings section).
      • If you select Forget it, Forget me, then quitting the app (without logging out from this login) and restarting it will place you in the login screen.
      • Regardless, subsequent attempts to log in to this account with "Remember me" active will not present this caution screen.
      • (I wonder how testing of these behaviors will be included in a formal testing agenda?)
    • On continuing a login past those preliminaries, or a transient Please wait // Authenticating // scrolling dots animation black "toast" box
    • and then either the Hive view, if the account has SpiderOak hive, or the account's Devices view
  • Login success:
    • Proceeds to either the Hive top-level screen, if account has Hive,
    • else account's Storage/Devices top-level screen
  • Login fails:
    • Presented with persistent dialog: Authentication error // Authentication failed - incorrect username or password, plus Ok button to dismiss
    • Returned to Login screen with credentials left as they were
Use Go to ShareRooms button
  • It has no values to fill in
  • Proceeds to ShareRooms top-level screen
  • Note that this is the way, without logging in, to get to a page with the action bar, by which you can get to the menu sheet.
Hit Learn more about SpiderOak » link
  • Proceeds to "About SpiderOak" screen

Application Entry - With remembered login pending

The login conduct for the pending account ensues.

Features of All screens that have Action bar

Every screen except the Login screen has an action bar - a black bar on the top of the screen with a "Back" button on the upper left corner. Some screens have context-specific action buttons on the right hand side of their action bar, which I'll describe when present.

The back button returns to the screen from which most traversal, besides either login or traversal caused by the back button, was incurred. The "top", or starting point of back traveral, reveals a menu pane - see next.

The Menu Sheet

Often hidden under the left side of the main page is a menu of top-level sections, called the Menu Sheet. The main page slides right to reveal it when you hit the action bar "back" button from the top of one of the sections, or when you apply a swipe-right gesture to the action bar.

The menu sheet is covered, by the main page sliding left, when you select one of the menu sheet items, or when you tap in a blank spot on the visible parts of the main page.

The contents of the menu sheet vary depending on whether or not you are logged in. When logged-in, it includes these items that are not present when not logged-in:

  • a SpiderOak Hive item
  • a Devices section, and
  • a Log Out item
Conversely, when not logged-in, the menu sheet includes:
  • a Log In item, instead of the Log Out item
In both situations, there is a Sections part with:
  • ShareRooms
  • Favorites
  • Recents, and
  • Settings items
and, finally, in both situations there is
  • an About SpiderOak item.

Content

The purpose of this application is access to files stored with SpiderOak - both the content of the user's own accounts, and other user's content accessed via ShareRooms.

Content Navigation

There are several common features of the content list items in sections that present user content: SpiderOak Hive, Devices, ShareRooms, Favorites, and Recents.

The list-item presentation of content items that contain other content items consistes of an icon that indicates the type of container, followed by the name.

The list-item presentation of non-container content items, ie files, includes:

  • on the left hand side: the item-type icon, its name, text indicating the icon type, and a rough statement of the item's data size
  • on the right hand side: a rough indication of the the modification time and then a star, filled in if the item has been selected as a favorite and empty if not.
A plain tap on most items results in opening that item. (I'll note exceptions by case.)

For most containers - content items that exist as holders of other content items: Devices, ShareRooms, and folders - the application effectively "descends" to a view that lists the container's contents. The action bar "back" button in the resulting view returns to the container from which the descent was made.

Tapping on file-like item's star is a way to toggle whether or not the item is retained as a "favorite". (Only file-like items can be marked as favorites. No containers can be.) Items with Favorite status are listed in the Favorites section, and their content is downloaded so it is available at any time, including when it is offline. Tapping on the star of an item that is a favorite will clear the downloaded content for the item.

See the description of the Favorites section for more details about them, including the actions of registering and unregistering them.

A long tap on many items, particularly some special containers and all files, pops up a menu that offers actions on the long-pressed item. It's a modal menu, meaning things outside of the menu are dimmed and not accessible. There are some actions common to most or all items with action menus, including Open and Details. All files also include Send link, Save file, Share file, and either Remove from favorites or Add to favorites, depending on whether or not the item is already a favorite.

Other actions, specific to particular contexts, will be described in those contexts.

The pop-up action menu can be dismissed without selecting an item by hitting the device (not the one on the app's action bar) Back button.

Content Handling

File items have several actions associated with them which provide access to their content, or provide the means to share the content with others.

Invoking any content-handling action on a file registers that file in the Recents section. See the Recents section description for more details.

There are many kinds of files that have their own, special-purpose handlers.

Open/View
A quick tap on file entries, or the Open action in the long tap menu, activates either an internal or a intent-based viewing of the file contents. Many common file types, like documents, audio, pictures, and video, are handled common Android facilities, the browser widget in which the application runs, or custom applications installed on the particular mobile device.
Details
The long tap menu Details action navigates to a screen that presents the file's metadata details, including things like type, size, owner, and so on.
Send link
Offer a choice of applications by which to send a web link to the SpiderOak-stored file.
Save file
Save a copy of the file in the /Downloads file on the devices external media.
Share file
Like Send link, but convey the contents of the file, rather than a link to the contents. Different facilities may be available for this action than are available for Send link.
Add to or Remove from Favorites
Selecting this action, or tapping on an empty star on the right side of of a file entry, register that file as a favorite. See the Favorites section for details about Favorites.

Where Downloaded Stuff is Placed

When just navigating the content collections, only the details characterizing the objects - the metadata - is retrieved from the server. It is in invoking the Content Handling actions - all of them except the Details action - that actual item contents is downloaded to the device.

Viewed and Shared files
Intermediate copies of a file's content is stored in the application's internal cache, for conveying to the designated viewing or sharing handler. Different Android implementations maintain varying clean-up regimes for such cached data. Users can deliberately free up such occupied space by using the Android system settings Manage Applications / SpiderOak / Clear Cache action.
Saved files
The file contents are situated in /sdcard/Download, under the name of the original file (possibly appended with a number, in order to distinguish from already existing copies).
Favorites
The content of files registered as favorites is stored within /sdcard/Download/SpiderOak/, appending the file's original path and name for the location of the content.

Sections

SpiderOak Hive section

Device section

Below the SpiderOak Hive entry in the the Menu Sheet is a list items, each representing one of the devices registered for the currently authenticated account.

ShareRooms section

My ShareRooms subsection

My ShareRooms is a navigable list of SpiderOak ShareRooms belonging to the currently logged-in account. (While the individual ShareRooms are each accessible to those knowing their respective Share ID and Room keys, the navigable listing is accessible only to the authenticated owner of the list.)

Public ShareRooms subsection

Add ShareRoom
The last setting for the Remember ShareRoom toggle persists, throughout use of the app and across sessions, until changed.

Favorites section

The Favorites section contains a list of files that have been registered for it using the Add to Favorites action, or by tapping on an empty star on the right side of all file item entries.

Stars of files that are currently registered as favorites are filled with orange. Tapping on the star of registered favorites, or selecting the Remove from Favorites action, deregisters them, removing the stars orange coloring.

While files are registered as favorites, an copy of their entry is included in the Favorites section, and their content is stored locally on the mobile device, so it is immediately accessible when the file is viewed or shared. Because the content is locally stored, favorite file's content is also accessible when the device is offline.

Unlike recents, Favorite status lasts across sessions, until the user deliberately deregisters them. However, favorites are associated with the current account, and the list is cleared when the user logs out.

(The first time in the use of the app that you select an item as a favorite, you are presented with a dialog explaining that the content will be downloaded, and asked for confirmation. If you accept, that dialog will not be presented to you again, and the item gets favorite status. If you refuse, then the item will not get favorite status, and you will be presented with the confirmation dialog next time you initiate marking an item as a favorite.

Any time that you tap the star of a file already registered as a favorite, you will be prompted to confirm that you want to unregister the favorite status.)

Recents section

Invoking any content-handling action on a file registers that file in the Recents section. The accumulated recents list is maintained only until the end of the session or until the current account is logged out.

Settings section

  • Send feedback
    Send Feedback item
    Tapping on it launches ?mail composition?
  • Account section: present only if logged in:
    Account - reveals
    Tapping on it goes to Account Details screen
    Remember me
    Tapping on No | Yes button toggles
  • Primary Server section
    ...
  • Version
    Version
    Displays the current release version

Server

  • Change while not logged in
  • Change while logged in

About SpiderOak section

Really just a screen with text.

Account Details screen

Logout transition

Some recents and favorites are removed on logout, so info private to authenticated operation is not leaked to unauthenticated operation. The exact particulars need to be described, and checked.

Similar holds for details about what share rooms are conveyed from non-authenticated session into authenticated sessions, and vice versa.