Tests

From OLPC
Revision as of 23:48, 28 May 2007 by Kimquirk (talk | contribs)
Jump to navigation Jump to search

User Stories

User Stories are meant to provide a narrative description of how the OLPC products will be used in schools and homes. These stories provide the basis for Use Case or System Tests that will help ensure we have prioritized and documented the most important uses of our products in the field.

High level topics for User Stories can be divided into a few major categories:

  1. Start up (out-of-the-box experience)
  2. Connectivity and Collaboration
  3. Archive, Backup, Content


Start up scenario 1: Server support
Jose is a 6 year-old student at a school in Brazil is being issued his XO laptop today. The school has spent weeks preparing for this day. The school server is set up and has internet connectivity. All the laptops have been activated by the school server, which contains books and software specific for Jose's grade level. The teacher has a specific activity she asks all the children to work on.

Setup:

  1. School server setup with a school text book for content and appropriate activation keys for 5 XOs.
  2. Activate all 5 XOs

Tests:

  1. Designate one of the XOs as the teacher; boot it and select fullname(?), nickname, and XO color.
  2. On teacher's XO, download a book from the school server (need details on how to do this).
  3. On teacher's XO, open the book and share it (need details)
  4. For the other 4 XOs, turn them on, wait for boot up, and select fullname(?), nickname, and XO color. Designate one of the XOs as Jose. [Should two student nicknames the same?]
  5. From Jose's XO ensure that the mesh shows all other XOs
  6. From the mesh view, click on the teacher's shared book.
  7. From the other XOs, click on the teacher's shared book - ensure that all XOs can access and read this book.
  8. From the school server, ensure that all 5 XOs have been registered.
  9. Upon appropriate event (turning off and back on again, or waiting a period of time), the school server should force an archive or back up of the user data for all 5 machines. (is this initiated by the server or XO?)


Start up scenario 2: No server support
Maria is a 10 year-old student in a school being issued XOs. This school just received their server but not set up or has no internet connectivity. Activation will occur via USB stick. The teacher is not prepared with activities or curriculum, but will allow the children time to explore the laptops on their own.


Setup:

  1. No school server, no Access Point (to start)
  2. Use a USB to activate 5 XOs (ensure that these are 'out of the box' XOs)

Tests:

  1. For all 5 XOs, turn them on, wait for boot up, and select fullname(?), nickname, and XO color. Designate one of the XOs as Maria.
  2. Ensure that the mesh shows all other XOs from each student XO.
  3. From Maria's XO, go to the mesh and designate 2 other XOs as 'friends'
  4. Ensure that the friends show up in the group mesh view, and all XOs continue to show up in neighborhood mesh view.
  5. From Maria's XO, start a chat session with one of the friends
  6. Add an off-the-shelf wireless router (such as Linksys) with an uplink to the internet. No WEP key.
  7. Ensure that Maria's XO can connect to this AP, and can now browse the internet


Start up scenario 3: Server start up
The server hardware and cables have arrived early at a large school in Uruguay. The local administrator takes the hardware out of the box and would like to set up the server and download the curriculum books and software that have been created ahead of time. There will be 3 radios (all active antennas? or 2 AAs and one embedded radio?)


Setup:

  1. Ensure uplink connection is available

Tests:

  1. Plug in the school server, keyboard, mouse, display, connect active antennas, connect uplink.
  2. Ensure server boots up and provides diagnostic info: Connectivity to uplink, number of live radio channels (antennas), IP Address for uplink, number of wireless hosts... (what else do we want to show at start up?)
  3. Start Server UI for choosing content (?)
  4. Start an XO and ensure the School server sees it and can provide content to it (automatically?)
  5. Ensure the school server provides the appropriate backup and reporting


Connectivity scenario 1: Connectivity with or without a server
Three students, Joe, Uma, and Ann are working on a project together using the Journal to track/save their files. They start the project at their 'large' school with 3 mesh channels and internet connectivity. Their work is saved via the Journal, and get together later at home to continue working. They don't have internet connectivity or access to the server from home, but they can continue with Abiword and images they created in Paint.

Setup:

  1. First setup a 3 radio school server and ensure that each XO connects via a different radio.
  2. Run Abiword on Uma's XO; run Paint on Joe and Ann's. Create documents and images.
  3. From the group mesh view, ensure that Joe and Uma are 'friends' and show up in each other's group mesh, but Ann is only viewable in the neighborhood mesh.
  4. Ensure that this group project is shared among all three students (how does this happen?)

Tests:

  1. Turn off School server and radios or move all three XOs far enough away from them that they cannot connect to a server or AP.
  2. Make sure that all 3 XOs CAN see each other in their neighborhood mesh view.
  3. Each student should open the document or one of the images and make some changes.
  4. Each student should then open one of the other images or the document and make changes. Ensure that all students see the same latest versions (how does this happen? Do the kids have to tell each other what they are working on so they don't step on each other's work?)
  5. Reconnecting with the school server should automatically back up the latest versions in each journal.


Connectivity scenario 2: Mesh hoping
The school server's wireless connection does not reach to all classrooms in and around the school. Andres is outside the range for a direct connection, but there are two students, Carlos and Ben situated between Andres and the server. He opens his XO to work on a project that includes downloading images from the internet.

Thoughts: Ensure connectivity through a standby XO to a server; also ensure it will work with 2 hops, one standby and one active XO...

Setup:

  1. Ensure the school server has connectivity and Carlos' XO can download a specific image from Google (preferably something that takes at >5 seconds to load).
  2. Ensure that Ben's XO does not have connectivity to the school server, but it can see Carlos' XO.
  3. Ensure that Andres' XO is only able to connect directly to Ben's XO. (need to describe in detail how to ensure that Carlos and Ben are far enough away from the server and from each other such that Carlos requires two mesh hops to get to the school server.

Tests:

  1. Open Andres' XO and make sure he can see Ben and Carlos.
  2. Download the same image from Google from all three XOs, one at a time, and note the difference in download speed.


Connectivity scenario 3: 200 XOs on one server
On a particularly well-attended day of school, Uma is the 200th student to open her laptop to get started on a project. She opens the 'shared' document that she worked on at home yesterday. There is only one server in this school.

Thoughts: Ensure that 200 laptops can be seen by the server; ensure that the 200th laptop has no more trouble accessing the network than the first ones; is there any automatic updating of shared documents when a version change is detected? How does Uma find her friend if there are 200 other laptops in the mesh...


Connectivity scenario 4: Mesh overlap
School with two servers -- may not be needed for first release

Thoughts: We want to write down the scenerios for using a repeater and multiple hops, but testing and support for more sophisticated connectivity may have to be scheduled while shipping the first release.


Backup/Archive scenario 1: Basic backup
Parvis goes to a school where he gets connected to the server every day. One day he inadvertently deleted a document that he had spent many days working on.

Thoughts: Automatic back up when connected to the server; Retrieval of a lost document


Other