Tests: Difference between revisions

From OLPC
Jump to navigation Jump to search
(I merged the "User Stories Testing" content of this to Testing#Testing areas, so now replace it with something useful.)
 
(98 intermediate revisions by 21 users not shown)
Line 1: Line 1:
You probably want to read [[Testing]], or its section [[Testing#Testing areas]], or maybe [[:Category:Testing]].
=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.


== Subpages of {{FULLPAGENAME}}==
High level topics for User Stories can be divided into a few major categories:
Many specific test cases are subpages of this page, including:
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}
# Start up and Activation
# Connectivity and Collaboration
# 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:''
#School server setup with a school text book for content and appropriate activation keys for 5 XOs.
#Activate all 5 XOs

''Tests:''
#Designate one of the XOs as the teacher; boot it and select fullname(?), nickname, and XO color.
#On teacher's XO, download a book from the school server (need details on how to do this).
#On teacher's XO, open the book and share it (need details)
#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?]
#From Jose's XO ensure that the mesh shows all other XOs
#From the mesh view, click on the teacher's shared book.
#From the other XOs, click on the teacher's shared book - ensure that all XOs can access and read this book.
#From the school server, ensure that all 5 XOs have been registered.
#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:''
#No school server, no Access Point (to start)
#Use a USB to activate 5 XOs (ensure that these are 'out of the box' XOs)

''Tests:''
#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.
#Ensure that the mesh shows all other XOs from each student XO.
#From Maria's XO, go to the mesh and designate 2 other XOs as 'friends'
#Ensure that the friends show up in the group mesh view, and all XOs continue to show up in neighborhood mesh view.
#From Maria's XO, start a chat session with one of the friends
#Add an off-the-shelf wireless router (such as Linksys) with an uplink to the internet. No WEP key.
#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:''
#Ensure uplink connection is available

''Tests:''
#Plug in the school server, keyboard, mouse, display, connect active antennas, connect uplink.
#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?)
#Start Server UI for choosing content (?)
#Start an XO and ensure the School server sees it and can provide content to it (automatically?)
#Ensure the school server provides the appropriate backup and reporting


===Activation Security scenario 1: Trusted Country Administrator===
Uruguay has been planning for their delivery for months and has identified a number of trusted administrators to activate laptops at the schools. These administrators are dispatched to the location where skids are being disassembled for shipment to individual schools, so they can collect serial numbers for the schools that they are responsible for.

''Setup:''
#Administrator has the list of valid serial numbers.
#School server is setup with internet access.

''Tests:''
#The trusted Administrator uploads his list serial numbers to the olpc global server and receives a set of activation codes.
#At the first school, the admin uses the school server UI to upload the activation codes.
#Open an XO that was on the original list of serial numbers; during boot it will find the server and activate. It should be usable right away. If a 'grace' period of time was allowed (1 week without activiation, for instance), then the laptop will continue to work after that week.
#Open an XO that was NOT on the original list of serial numbers; it should not come up working, or it will stop working after the activation grace period.
#At the second school, there is no school server set up yet. The trusted Admin has the activation codes on a memory stick, and inserts that stick into the first XO.
#The XO should come up working and continue to work past the activation grace period.
#An XO that was not on the original list should not activate.

===Activation Security scenario 2: No Trusted Administrator===


===Activation Security scenario 3: Disable stolen XO===
Maya's laptop was stolen from her home. It had been issued to her and the local school server had provided the initial activation when she got the laptop.

''Setup:''
#Activate an XO with a valid activation key through the server

''Test:''
#The laptop is reported stolen to the school adminstrator. The admin uses the server UI to report the full name (or the serial number) of the stolen laptop.
#The OLPC global server adds this laptop to the 'Deactivate' list.
#If Maya's laptop is used without access to the internet, it should continue to work (until a lease expiration)
#Connect Maya's laptop to the internet, and it should become de-activated.
#Power the laptop off/on and ensure that it no longer boots up.


===Activation Security scenario 4: Truckload of Laptops and servers stolen===


===Activation Security scenario 5: Child moves to new School===


===Activation Security scenario 6: Server is replaced===
The activation and lease information that is held on the local school server may be lost if the server is replaced. Need to ensure that any information the server keeps locally can be overruled by OLPC's global server (?).


===Activation Security scenario 7: Lease Mechanism===
Tom is a student who received a laptop from a school in Sau Paulo. After a month, his family moves to a town without laptops or internet connectivity.

''Setup:''
#Successfully activate Tom's XO with a school server.
#Set the lease period to a short time for this test (a few days or hours, if possible).

''Test:''
#Ensure that Tom's XO has no access to the internet or a school server for > lease period.
#The next time Tom's XO does access the internet, this machine should have been listed in the 'Deactivate' list, and get a deactivate message. (Does it have a local lease mechanism so it will stop working after some period of time, or only after the period of time + next connect to internet?)
#Reboot Tom's XO and it should no longer boot.



===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:''
#First setup a 3 radio school server and ensure that each XO connects via a different radio (how do you ensure this?)
#Run Abiword on Uma's XO; run Paint on Joe and Ann's. Create documents and images.
#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.
#Ensure that this group project is shared among all three students (how does this happen?)

''Tests:''
#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.
#Make sure that all 3 XOs CAN see each other in their neighborhood mesh view.
#Each student should open the document or one of the images and make some changes.
#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?)
#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:''
#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).
#Ensure that Ben's XO does not have connectivity to the school server, but it can see Carlos' XO.
#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:''
#Open Andres' XO and make sure he can see Ben and Carlos.
#Download the same image from Google from each XOs, one at a time.
#Ensure that they can all get to the internet from their location.
#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:''
#One school server with three radios, an uplink, and two or three large documents or books as content.
#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.
#Set up Sophie's real XO, and 4 other real XOs to represent other students.


''Tests:''
#Ensure that the mesh sees all 205 XOs (simulated and real)
#Start a download of the specific book across 20 simulated XOs and 2 real XOs.
#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:''
#Set up two school servers, each with 2 radios and uplink to internet.
#Ensure that they are far enough away that they don't show up in each other's mesh view
#Set up 2 XOs close to server1, so they show up in that mesh, and 2 that are close to server2.
#The XOs on server1 are sharing an Abiword document; one is editing it, the other is just browsing the web.
#The XOs on server2 are using the chat on eToys.

''Tests:''
#Kyle's XO goes close to server1 and shows up in that mesh. He sets up a friendship invitation with the other XOs here.
#Move Kyle's XO to the midpoint between server1 and server2. His XO should now show up in the mesh for both servers.
#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.
#An XO on server2 start a chat with an XO on server1.
#After about 10 minutes of this testing, Kyle moves closer to server2 and the connection with server1 is broken.
#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:''
#Set up Parvis' XO to register with the server.
#Create a document while connected to the school server.

''Tests:''
#While not connected to the school server (at home), make modifications to Parvis' document.
#Come back in contact with the school server and ensure that the document gets backed up.
#Go away from the server and edit the document, deleting all by the first word.
#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:''
#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.
#Set up 5 XOs as student laptops.
#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:''
#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.
#Manually update the XOs with the upgrade from a USB stick.
#Upon boot up, the server should automatically (or manually?) push the user data back down to the XO.
#Ensure that all documents and images that were there before the upgrade, show up again after the upgrade.

Latest revision as of 04:48, 27 January 2011

You probably want to read Testing, or its section Testing#Testing areas, or maybe Category:Testing.

Subpages of Tests

Many specific test cases are subpages of this page, including: