XS Community Edition/0.3/Testing: Difference between revisions
(88 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{TOCright}} |
{{TOCright}} |
||
=XSCE Smoke Test= |
=XSCE Smoke Test= |
||
This set of test cases represents a quick smoke test that a build should pass. Please |
This set of test cases represents a quick smoke test that a build should pass. Please [[http://wiki.laptop.org/go/Submit_bugs file bugs]] in our tracker. |
||
Ideally tests will run against our reference hardware |
Ideally tests will run against our reference hardware, XO-1.75. Over time, the test will run against more variations in hardware. |
||
Please see [[User:Holt/XS_Community_Edition/0.3/Testing/Results | results]] for a summary of smoke test results. |
|||
For more complete tests, please see https://sugardextrose.org/testlink/index.php . |
|||
=Installation= |
=Installation= |
||
Line 13: | Line 13: | ||
Prerequisites. |
Prerequisites. |
||
#None |
|||
#??? |
|||
Steps. |
Steps. |
||
Line 19: | Line 19: | ||
Results. |
Results. |
||
#The install should complete without errors. |
|||
#??? |
|||
=Hardware= |
=Hardware= |
||
The XSCE can detect and utilize several types of hardware. |
The XSCE can detect and utilize several types of hardware. |
||
=Core Service= |
|||
==External SD Card== |
|||
Core services should be tested using a School Server and a 'client' XO running 13.1.0. |
|||
Purpose. |
|||
#Verify the External SD card used for additional storage is functional. |
|||
==Dynamic Host Configuration (dhcpd)== |
|||
Purpose |
|||
#Verify the dynamic host configuration is functional. |
|||
Prerequisites. |
Prerequisites. |
||
#None |
|||
#??? |
|||
Steps |
|||
#Go to my neighborhood. |
|||
#Click on the name of your Access Point. |
|||
Result: |
|||
#After a few seconds the connections status will change to "Connected." |
|||
Steps |
|||
#Open Terminal Activity |
|||
#Type the command: service dhcpd status |
|||
Result: |
|||
The output should show the following words: Active: active (running) |
|||
==Network Address Translation/NAT (iptables)== |
|||
Purpose. |
|||
#Verify network address translation is functional. |
|||
Prerequisites |
|||
#XO should be connected to XSCE |
|||
Steps. |
Steps. |
||
#In a browser, go to https://mail.google.com # any site with HTTPS |
|||
#Mount /dev/mmcblk0p1 |
|||
Results |
|||
#Site should open correctly |
|||
==Registration (idmgr)== |
|||
Purpose. |
|||
#Verify XO registration is functional. |
|||
Prerequisites |
|||
#XO should be connected to XSCE. |
|||
Steps |
|||
# Register the XSCE. |
|||
Results. |
Results. |
||
#Receive a message that registration was successful. |
|||
#Should report on /library |
|||
#Registration creates a directory named the XO's serial number in /library/users. |
|||
==XMPP Server (ejabberd)== |
|||
==External USB Drive== |
|||
Purpose. |
Purpose. |
||
#Verify the |
#Verify that the XMPP server is functional. |
||
Prerequisites. |
Prerequisites. |
||
# XO should be registered. |
|||
#??? |
|||
Steps. |
Steps. |
||
# If you get a message that registration failed, go to the Sugar Control Panel and in Network, clear out the collaboration server field. Upon successful registration, both XOs will appear in Network Neighborhood. |
|||
#??? |
|||
# Log on as root (su at the command line) |
|||
# To verify that ejabberd is managing collaboration and not the LAN, issue this in a root terminal: "ejabberdctl connected-users schoolserver.local" |
|||
Results. |
Results. |
||
# a list of all the serial numbers of machines that have been registered to the server |
|||
#??? |
|||
==XMPP based collaboration (ejabberd)== |
|||
=Core Service= |
|||
Purpose. |
|||
#Verify that the XMPP based collaboration is functional. |
|||
Prerequisites. |
|||
==Dynamic Host Configuration (dhcpd)== |
|||
# 2 client XOs. |
|||
Steps. |
|||
Purpose |
|||
#On both XO's click on the same XSCE network |
|||
#Verify the dynamic host configuration is functional. |
|||
#Confirm that both units are on the same network |
|||
#Open chat with one XO |
|||
#Share the activity with the neighborhood |
|||
#Go to the Network view of that XO |
|||
#Go to the Network view of the second XO |
|||
#In the network view of the second XO click on the chat activity that the first one just shared |
|||
#Type a few lines in the chat activity on each XO |
|||
#Close the chat activity on both XOs |
|||
#Follow the same steps, but starting with the second XO. (see that it works both ways) |
|||
Results. |
|||
#The shared chat activity shows up in the network view of both laptops |
|||
#Whatever one laptop types in the chat window after both are connected is seen by both laptops |
|||
#Chat works both ways and on all three networks |
|||
=Extended Service= |
|||
==Apache Web Server (httpd)== |
|||
Purpose. |
|||
#Verify the web server is functional. |
|||
Prerequisites. |
Prerequisites. |
||
#XO should be connected to XSCE. |
|||
# |
|||
Steps |
Steps. |
||
#Go to http://schoolserver and http://schoolserver.local. |
|||
# Connect an XO to the XSCE's AP. |
|||
Results. |
|||
Result |
|||
#Both should resolve to the XSCE homepage. |
|||
#The XO will get an IP in the 172.18.x.x range. |
|||
==Proxy Caching(squid)== |
|||
==Network Address Translation/NAT (iptables)== |
|||
Purpose. |
|||
#Verify Proxy caching is functional. |
|||
Prerequisites. |
|||
#XO should be connected to XSCE. |
|||
Steps. |
|||
#On XSCE Check the initial size of the squid cache directory: du -sk /library/cache. |
|||
#On XO open Browse Activity and surf the internet. |
|||
#On XSCE Check the squid cache directory size again |
|||
Results. |
|||
#Cache size should increase |
|||
==Postgress== |
|||
Purpose. |
Purpose. |
||
#Verify |
#Verify VPN is functional. |
||
Prerequisites |
Prerequisites. |
||
#???? |
|||
# |
|||
Steps. |
|||
Step. |
|||
#??? |
#??? |
||
Results |
Results. |
||
#??? |
#??? |
||
== |
==Virtual Private Network (openvpn)== |
||
Purpose. |
|||
#Verify VPN is functional. |
|||
Purpose |
|||
#Verify the domain name server is functional. |
|||
Prerequisites. |
Prerequisites. |
||
#??? |
#???? |
||
Steps |
Steps. |
||
#??? |
#??? |
||
Results |
Results. |
||
#??? |
#??? |
||
==Moodle== |
|||
==Registration (idmgr)== |
|||
Purpose. |
|||
Verify XO registration is functional. |
|||
#Verify Moodle is functional. |
|||
Prerequisites. |
|||
# Register the XSCE. |
|||
# On a client XO, go to the network neighborhood, and connect to the schoolserver under test |
|||
# register the client with the schoolserver |
|||
Steps. |
|||
Result -- Receive a message that registration was successful. |
|||
# Open the Browse Activity on the client XO |
|||
# browse to "schoolserver.local/moodle |
|||
Results. |
|||
Result -- Registration creates a directory named the XO's serial number in /library/users. |
|||
# You should see the Moodle Administrative page which will display the button labeled "Add a Course". |
|||
==OLPC-backup== |
|||
==XMPP Server (ejabberd)== |
|||
Verify that the XMPP server is functional. |
|||
PLEASE NOTE: ds-backup is broken client side in 13.1.0 due to problem with ping being prevented. Please test against a client running 13.2.0 |
|||
Prerequisites: |
|||
# XO should be registered. |
|||
Purpose. |
|||
Testing steps |
|||
#Verify OLPC-back is functional. |
|||
# If you get a message that registration failed, go to the Sugar Control Panel and in Network, clear out the collaboration server field. Upon successful registration, both XOs will appear in Network Neighborhood. |
|||
# To verify that ejabberd is managing collaboration and not the LAN, issue this in a root terminal: |
|||
# ejabberdctl connected-users |
|||
Prerequisites. |
|||
==Ejabberd Web Interface== |
|||
#XO should be connected to XSCE. |
|||
#XO should be registered. |
|||
Steps. |
|||
This isn't necessary for testing, but is fun to poke around in: |
|||
#rm /home/olpc/.sugar/default/ds-backup-done #delete the ds-backup-done if it exists. |
|||
#/usr/bin/ds-backup.sh nosleep# run backup with the nosleep argument. |
|||
Results. |
|||
Register the admin user: <code>ejabberdctl register admin schoolserver.local <password></code> |
|||
#On XO /home/olpc/.sugar/default/ds-backup-done should exist |
|||
#On XSCE each successful backup run creates the following directories under `/library/users/<Serial Number>/`: datastore-current, documents, and power-logs. |
|||
Please see http://wiki.laptop.org/go/XS_Blueprints:Datastore_Simple_Backup_and_Restore for more information |
|||
In a browser, go to http://schoolserver.local:5280/admin |
|||
==Activity Server== |
|||
The username is admin@schoolserver.local and the password is whatever you set above. |
|||
Purpose. |
|||
#Verify That the XSCE can distribute new or updated Activities to classroom XO's. |
|||
Prerequisites. |
|||
=Extended Service= |
|||
# Build an import USB key as per instructions at http://dev.laptop.org/git/users/martin/xs-activity-server/tree/README |
|||
##Create a folder at the root level of a USB key called "xs-activity-server" |
|||
##Put a few activity bundles in that directory (suffix=.xo) |
|||
##Run "sha1sum *.xo > manifest.sh1 |
|||
# methods for uploading activities to the server: |
|||
==Apache Web Server (httpd)== |
|||
##Put that USB key into the XSCE server (the activities should automatically be loaded) |
|||
Verify the web sever is functional. |
|||
##Upload an Activity to the school server by using a browser to navigate to http://schoolserver.local/upload_activity.php. |
|||
###Click on "Choose File" |
|||
###Use the file chooser to indicate which Activity you would like to upload. |
|||
Results. |
|||
#Go to http://schoolserver and http://schoolserver.local. |
|||
# Browse to http://schoolserver/activites and verify that the ones you installed are now available |
|||
=Other Tests= |
|||
Result -- Both should resolve to the Apache test page. |
|||
==Internal Gateway== |
|||
==Proxy Caching(squid)== |
|||
Verify Proxy caching is functional. |
|||
From the XSCE terminal, do ifconfig and find the IP of the WAN interface. (For example, most home networks will give the XSCE's WAN an IP in the 192.168.x.x range.) From a computer on that IP range, as in your regular home computer, ping the XSCE's IP. Once you get a response, test ssh. |
|||
#Check the initial size of the squid cache directory: du -sh /library/cache. |
|||
#From the client XO's Browse Activity, surf the internet. |
|||
#Check the cache directory size again and it should be larger. |
|||
<pre>ssh admin@schoolserver.local |
|||
==OLPC-update (rsync)== |
|||
password: 12admin </pre> |
|||
Verify OLPC-update is functional. |
|||
If schoolserver.local doesn't resolve, try to ssh in at admin@<ip address> |
|||
#??? |
|||
You can also try to resolve http://schoolserver and/or http://schoolserver.local from a web browser from the desktop on the WAN. |
|||
==Activity Server (uses httpd)== |
|||
Verify http://schoolserver/activities resolves. |
|||
==Ejabberd Web Interface== |
|||
#Upload an Activity to the school server by using a browser to navigate to http://schoolserver.local/upload_activity.php. |
|||
This isn't necessary for testing, but is fun to poke around in: |
|||
#Click on "Choose File" |
|||
#Use the file chooser to indicate which Activity you would like to upload. |
|||
Register the admin user: <code>ejabberdctl register admin schoolserver.local <password></code> |
|||
==Virtual Private Network (openvpn)== |
|||
Verify VPN is functional. |
|||
In a browser, go to http://schoolserver.local:5280/admin |
|||
#???? |
|||
The username is admin@schoolserver.local and the password is whatever you set above. |
|||
==WebDAV== |
|||
Verify WebDev is functional. |
|||
==Using Pidgin to Monitor Ejabberd== |
|||
#??? |
|||
When testing the XSCE, it can be helpful to see at a glance which XO clients have successfully connected to the ejabberd server. Pidgin is a cross platform XMPP client you can use to connect to the schoolserver's ejabberd server from any Windows/Linux/Mac computer. Connected XO clients will appear in the Buddy List. |
|||
In the Buddy List window, go to Accounts -> Manage Accounts. Click Add. |
|||
==Statistics Collection== |
|||
Verify Statistics collection is functional. |
|||
In the Basic tab under Login Options, enter the following values: |
|||
#??? |
|||
<pre>Protocol: XMPP |
|||
Username: yourname |
|||
Domain: schoolserver.local |
|||
Resource: pidgin |
|||
Password: yourpassword</pre> |
|||
Check "Remember password" |
|||
==Book server(pathagar)== |
|||
Verify book server is functional. |
|||
#??? |
|||
In the Advanced tab, enter the following values: |
|||
==Internet in Box== |
|||
<pre>Connection security: Use old-style SSL |
|||
Verify Internet in Box is functional. |
|||
Connect port: 5223 |
|||
#??? |
|||
Connect server: schoolserver.local</pre> |
|||
At the very bottom of the "Modify Account" window, check "Create this new account on the server." Click Add, then a registration box will pop up. Click Register, then you should get a pop up box that registration was successful. Click close. In the Accounts box, click the tick box in the "Enabled" column next to your username. If a box pops up for the server certificate, click Accept. |
|||
Now in the Buddy List, you should see the XOs that are currently connected to the XSCE's ejabberd server. |
Latest revision as of 23:49, 8 August 2013
XSCE Smoke Test
This set of test cases represents a quick smoke test that a build should pass. Please [file bugs] in our tracker.
Ideally tests will run against our reference hardware, XO-1.75. Over time, the test will run against more variations in hardware.
Please see results for a summary of smoke test results.
Installation
Purpose.
- Verify the installation process works correctly.
Prerequisites.
- None
Steps.
- Install using the the instructions and a fresh OLPC-OS 13.1.0 or Fedora 18 install.
Results.
- The install should complete without errors.
Hardware
The XSCE can detect and utilize several types of hardware.
Core Service
Core services should be tested using a School Server and a 'client' XO running 13.1.0.
Dynamic Host Configuration (dhcpd)
Purpose
- Verify the dynamic host configuration is functional.
Prerequisites.
- None
Steps
- Go to my neighborhood.
- Click on the name of your Access Point.
Result:
- After a few seconds the connections status will change to "Connected."
Steps
- Open Terminal Activity
- Type the command: service dhcpd status
Result: The output should show the following words: Active: active (running)
Network Address Translation/NAT (iptables)
Purpose.
- Verify network address translation is functional.
Prerequisites
- XO should be connected to XSCE
Steps.
- In a browser, go to https://mail.google.com # any site with HTTPS
Results
- Site should open correctly
Registration (idmgr)
Purpose.
- Verify XO registration is functional.
Prerequisites
- XO should be connected to XSCE.
Steps
- Register the XSCE.
Results.
- Receive a message that registration was successful.
- Registration creates a directory named the XO's serial number in /library/users.
XMPP Server (ejabberd)
Purpose.
- Verify that the XMPP server is functional.
Prerequisites.
- XO should be registered.
Steps.
- If you get a message that registration failed, go to the Sugar Control Panel and in Network, clear out the collaboration server field. Upon successful registration, both XOs will appear in Network Neighborhood.
- Log on as root (su at the command line)
- To verify that ejabberd is managing collaboration and not the LAN, issue this in a root terminal: "ejabberdctl connected-users schoolserver.local"
Results.
- a list of all the serial numbers of machines that have been registered to the server
XMPP based collaboration (ejabberd)
Purpose.
- Verify that the XMPP based collaboration is functional.
Prerequisites.
- 2 client XOs.
Steps.
- On both XO's click on the same XSCE network
- Confirm that both units are on the same network
- Open chat with one XO
- Share the activity with the neighborhood
- Go to the Network view of that XO
- Go to the Network view of the second XO
- In the network view of the second XO click on the chat activity that the first one just shared
- Type a few lines in the chat activity on each XO
- Close the chat activity on both XOs
- Follow the same steps, but starting with the second XO. (see that it works both ways)
Results.
- The shared chat activity shows up in the network view of both laptops
- Whatever one laptop types in the chat window after both are connected is seen by both laptops
- Chat works both ways and on all three networks
Extended Service
Apache Web Server (httpd)
Purpose.
- Verify the web server is functional.
Prerequisites.
- XO should be connected to XSCE.
Steps.
- Go to http://schoolserver and http://schoolserver.local.
Results.
- Both should resolve to the XSCE homepage.
Proxy Caching(squid)
Purpose.
- Verify Proxy caching is functional.
Prerequisites.
- XO should be connected to XSCE.
Steps.
- On XSCE Check the initial size of the squid cache directory: du -sk /library/cache.
- On XO open Browse Activity and surf the internet.
- On XSCE Check the squid cache directory size again
Results.
- Cache size should increase
Postgress
Purpose.
- Verify VPN is functional.
Prerequisites.
- ????
Steps.
- ???
Results.
- ???
Virtual Private Network (openvpn)
Purpose.
- Verify VPN is functional.
Prerequisites.
- ????
Steps.
- ???
Results.
- ???
Moodle
Purpose.
- Verify Moodle is functional.
Prerequisites.
- On a client XO, go to the network neighborhood, and connect to the schoolserver under test
- register the client with the schoolserver
Steps.
- Open the Browse Activity on the client XO
- browse to "schoolserver.local/moodle
Results.
- You should see the Moodle Administrative page which will display the button labeled "Add a Course".
OLPC-backup
PLEASE NOTE: ds-backup is broken client side in 13.1.0 due to problem with ping being prevented. Please test against a client running 13.2.0
Purpose.
- Verify OLPC-back is functional.
Prerequisites.
- XO should be connected to XSCE.
- XO should be registered.
Steps.
- rm /home/olpc/.sugar/default/ds-backup-done #delete the ds-backup-done if it exists.
- /usr/bin/ds-backup.sh nosleep# run backup with the nosleep argument.
Results.
- On XO /home/olpc/.sugar/default/ds-backup-done should exist
- On XSCE each successful backup run creates the following directories under `/library/users/<Serial Number>/`: datastore-current, documents, and power-logs.
Please see http://wiki.laptop.org/go/XS_Blueprints:Datastore_Simple_Backup_and_Restore for more information
Activity Server
Purpose.
- Verify That the XSCE can distribute new or updated Activities to classroom XO's.
Prerequisites.
- Build an import USB key as per instructions at http://dev.laptop.org/git/users/martin/xs-activity-server/tree/README
- Create a folder at the root level of a USB key called "xs-activity-server"
- Put a few activity bundles in that directory (suffix=.xo)
- Run "sha1sum *.xo > manifest.sh1
- methods for uploading activities to the server:
- Put that USB key into the XSCE server (the activities should automatically be loaded)
- Upload an Activity to the school server by using a browser to navigate to http://schoolserver.local/upload_activity.php.
- Click on "Choose File"
- Use the file chooser to indicate which Activity you would like to upload.
Results.
- Browse to http://schoolserver/activites and verify that the ones you installed are now available
Other Tests
Internal Gateway
From the XSCE terminal, do ifconfig and find the IP of the WAN interface. (For example, most home networks will give the XSCE's WAN an IP in the 192.168.x.x range.) From a computer on that IP range, as in your regular home computer, ping the XSCE's IP. Once you get a response, test ssh.
ssh admin@schoolserver.local password: 12admin
If schoolserver.local doesn't resolve, try to ssh in at admin@<ip address>
You can also try to resolve http://schoolserver and/or http://schoolserver.local from a web browser from the desktop on the WAN.
Ejabberd Web Interface
This isn't necessary for testing, but is fun to poke around in:
Register the admin user: ejabberdctl register admin schoolserver.local <password>
In a browser, go to http://schoolserver.local:5280/admin
The username is admin@schoolserver.local and the password is whatever you set above.
Using Pidgin to Monitor Ejabberd
When testing the XSCE, it can be helpful to see at a glance which XO clients have successfully connected to the ejabberd server. Pidgin is a cross platform XMPP client you can use to connect to the schoolserver's ejabberd server from any Windows/Linux/Mac computer. Connected XO clients will appear in the Buddy List.
In the Buddy List window, go to Accounts -> Manage Accounts. Click Add.
In the Basic tab under Login Options, enter the following values:
Protocol: XMPP Username: yourname Domain: schoolserver.local Resource: pidgin Password: yourpassword
Check "Remember password"
In the Advanced tab, enter the following values:
Connection security: Use old-style SSL Connect port: 5223 Connect server: schoolserver.local
At the very bottom of the "Modify Account" window, check "Create this new account on the server." Click Add, then a registration box will pop up. Click Register, then you should get a pop up box that registration was successful. Click close. In the Accounts box, click the tick box in the "Enabled" column next to your username. If a box pops up for the server certificate, click Accept.
Now in the Buddy List, you should see the XOs that are currently connected to the XSCE's ejabberd server.