Tests

From OLPC
Revision as of 22:01, 28 May 2007 by 209.6.228.166 (talk) (Upgrade scenario 1: Manual upgrade)
Jump to: navigation, 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. They start the project at their 'large' school with 3 radio channels and internet connectivity. Their work is saved and shared 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 modify the document and images.

Setup:

  1. First setup a 3 radio school server and ensure that each XO connects via a different radio (how do you ensure this?)
  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 hopping

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 each XOs, one at a time.
  3. Ensure that they can all get to the internet from their location.
  4. Note the download speed at each XO.


Connectivity scenario 3: 200 XOs / One server

On a particularly well-attended day of school, Sophie is the 200th student to open her laptop and get connected to the server. She is doing research on the internet. At the same time, in one classroom all 20 students, are simultaneously downloading todays lesson, a large document or book.

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...

Setup:

  1. One school server with three radios, an uplink, and two or three large documents or books as content.
  2. Set up approximately 10 machines, each with 20 wireless connections (active antennas?). Each simulated XO needs to be able to set up a TCP connection that terminates at the server.
  3. Set up Sophie's real XO, and 4 other real XOs to represent other students.


Tests:

  1. Ensure that the mesh sees all 205 XOs (simulated and real)
  2. Start a download of the specific book across 20 simulated XOs and 2 real XOs.
  3. With Sophie's XO, browse the internet and download an image from google.


Connectivity scenario 4: Mesh overlap

There are two schools close enough together that Kyle, a student who lives between the schools can show up in both meshes and provide connectivity between the schools.

Setup:

  1. Set up two school servers, each with 2 radios and uplink to internet.
  2. Ensure that they are far enough away that they don't show up in each other's mesh view
  3. Set up 2 XOs close to server1, so they show up in that mesh, and 2 that are close to server2.
  4. The XOs on server1 are sharing an Abiword document; one is editing it, the other is just browsing the web.
  5. The XOs on server2 are using the chat on eToys.

Tests:

  1. Kyle's XO goes close to server1 and shows up in that mesh. He sets up a friendship invitation with the other XOs here.
  2. Move Kyle's XO to the midpoint between server1 and server2. His XO should now show up in the mesh for both servers.
  3. Ensure that the XOs on server1 are not interrupted in the Abiword doc or browsing the web; and the XOs on server2 are not interrupted in their chat on eToys.
  4. An XO on server2 start a chat with an XO on server1.
  5. After about 10 minutes of this testing, Kyle moves closer to server2 and the connection with server1 is broken.
  6. Ensure that activities continue to work properly (except the chat between an XO on server2 and an XO on server1, which should be broken).


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.


Setup:

  1. Set up Parvis' XO to register with the server.
  2. Create a document while connected to the school server.

Tests:

  1. While not connected to the school server (at home), make modifications to Parvis' document.
  2. Come back in contact with the school server and ensure that the document gets backed up.
  3. Go away from the server and edit the document, deleting all by the first word.
  4. Get reconnected to the school server and ask for the previous version of the document (do you need to be near the server for this, or are the last few versions saved on the XO?)


Upgrade scenario 1: Manual upgrade

The São Paulo school has decided it will upgrade all XOs just before a 2-week school vacation. This will give the students time to find any bugs before school starts up again. It will also give the teachers time to create new programs using the new code as well.

Setup:

  1. From the school server UI, set up the automatic complete userspace back up capability. The next time the server sees each XO, it will ensure an automatic back up of the userspace.
  2. Set up 5 XOs as student laptops.
  3. Create an Abiword doc, 2 images, and a TamTam musical score on each of the XOs (we need to be specific about what is saved; and which activities should be part of this test)

Tests:

  1. Check that when each of the XOs gets connected to the server after the auto backup has been set; they will automatically back up their data to the server.
  2. Manually update the XOs with the upgrade from a USB stick.
  3. Upon boot up, the server should automatically (or manually?) push the user data back down to the XO.
  4. Ensure that all documents and images that were there before the upgrade, show up again after the upgrade.