Running Head: Lab 3 – ELDERS Prototype Test Plan/Procedure Lab 3 – ELDERS Prototype Test Plan/Procedure Team Purple Old Dominion University CS 411 - Brunelle George Calhoun April 17, 2013 Version: 1 1 Lab 3 2 Table of Contents 1 Objectives ............................................................................................................................................. 3 2 References ............................................................................................................................................. 3 3 Test Plan................................................................................................................................................ 4 3.1 Testing Approach .......................................................................................................................... 4 3.2 Identification of Tests ................................................................................................................... 4 3.3 Test Schedule ................................................................................................................................ 8 3.4 Fault Reporting and Data Recording ............................................................................................ 9 3.5 Resource Requirements............................................................................................................... 10 3.6 Test Environment ........................................................................................................................ 10 4 Test Responsibilities ........................................................................................................................... 10 5 Test Procedure .................................................................................................................................... 11 6 Traceability to Requirements .............................................................................................................. 38 Figures Figure 1 ........................................................................................................................................... 4 Tables Table 1 ............................................................................................................................................ 8 Table 2 ............................................................................................................................................ 9 Table 3. ELDERS Traceability Matrix ......................................................................................... 53 Lab 3 1 3 Objectives The Endangered Languages Documentation Extension and Revival System (ELDERS), is a product being developed in an attempt to help restore the Nottoway language. ELDERS's purpose is to store the original documentation, help facilitate the expansion of the language, and provide help in teaching the language and history of the Nottoway to others. ELDERS will be different from other restoration methods because it will make use of the language's community to help make the language grow (“Product Description Document”). ELDERS major components include its User Interface, Database and Authentication Controls. The Database consists of multiple tables including the historic dictionary, the expanded dictionary, the Nottoway Alphabet and the table holding the number of votes words have to be added to the expanded dictionary. The User Interface consists of the website the user interacts with to obtain results from searches of the database, add items to the expanded dictionary, and provides the authentication required to access ELDERS. The Authentication Controls are implemented within both the User Interface and the Database. The authentication is done through user accounts with unique usernames and passwords (“Product Specification Outline”). Our test cases will be going through the major components and making sure all segments interact and work correctly. 2 References Lab 1 -- Product Description Document. Version 2. (2013, March). Endangered Language Documentation Extension and Revival System. Purple Team. CS411W: George Lab 2 -- Product Specification Outline. Version 1. (2013, April). Endangered Language Documentation Extension and Revival System. Purple Team. CS411W: George Lab 3 3 4 Test Plan This section provides a comprehensive explanation of ELDERS. It provides an overview of the types of tests to be performed, the testing schedule, reporting procedures, and the testing environment. Team member responsibilities are also outlined within this section. 3.1 Testing Approach The testing of ELDERS will check that all aspects of the Prototype are functioning properly. This testing will focus on the major components; The User Interface, Database and Authentication Controls. The components of ELDERS are shown in Figure 1. Figure 1 3.2 Identification of Tests The test cases for ELDERS are outlined in Table 1. These test cases are divided into 12 different categories based on their content. These tests the ability of ELDERS to achieve Lab 3 5 objectives, such as maintaining access controls, searching the dictionaries, and being versatile in its use. Category ID Description Test Test Case Description Case ID 1.1 View access tiers and tier permissions Show that access tiers and permissions are implemented. 1.2 Request higher tier status Show a user may request a higher tier status. Create new access tier Demonstrate process of creating a new access tier. 1.3 1 Access Control 1.4 Show that the permissions for an access tier may be edited. Verify Access checks Show that all access checks are in place. Create new user Prove that an account can be created. 2.2 Alert user if username already exists Show that username redundancy is prevented 2.3 Verify password requirements Verify that the password restrictions are in place. 2.4 Login as existing account Demonstrate that registered users are able to log in. 2.5 Login with incorrect information Show that invalid logins call an error. 2.6 Reset account password Verify that a password may be reset. Change notification settings Demonstrate that a user may change their notification preferences. 1.6 2.1 User Accounts Change default account Verify that the default tier may tier be changed. Edit account tiers 1.5 2 Objective 2.7 Lab 3 Category ID 6 Description Test Test Case Description Case ID 3.1 3.2 3 Voting 3.3 To expand the Nottoway Language Restrict only one vote per council member Ensure that the Council can only make one vote on a suggested word. User change vote Change vote due to common error. Words that have When the majority of votes are reached threshold mark in the words favor. as approved 3.5 Able to add new word to dictionary Expand the dictionary upon “approved” words. Search Nottoway words in English To test whether searching by English returns the correct information. Alert of failed search To notify the user that the word searched is not in the database. 4.3 Suggest and show suggestions of failed search To suggest alternatives for a returned fail search 4.4 Edit words that are suggested To give Council an opportunity to change suggested words Search Nottoway words in Nottoway To test whether searching by Nottoway returns the correct information. Alert of failed search To test whether users receive a notification when they search for a Nottoway word that doesn’t exist. 4.7 Nottoway filtered by letter To test that the word filter functions correctly. 5.1 History of the Nottoway viewable To test that the Nottoway history is displayed. 4.2 Searching Council to vote on suggested word(s) 3.4 4.1 4 4.5 4.6 5 History Objective Lab 3 Category ID 6 7 Description Test Test Case Description Case ID 6.1 Suggested words by users 6.2 Prompt to suggest word To notify the suggested word if if no suggested word the word does not exist exists 6.3 User input of suggested To test that a suggested word word can be inputted 6.4 User submission of suggested word To test that a suggest word can be submitted Edit website settings To test that the settings on the website have been changed by the administrator Edit website permissions To test the website's permission level Access Forum To test that the Forum is displayed. Create access controlled sub forums To test that a user’s forum account is the same as their ELDERS account. View the Nottoway database Viewing the database proves that it exists. Backup the database Prove that the DB is being backed up. Create a MySQL user Users must exist in order to access the DB. Suggestions 7.1 7 Administration 7.2 8.1 8 Forum 8.1 9.1 9.2 9.3 9 Database Objective To test a list of suggested words by users 9.4 Assign users sufficient Make sure that user’s privileges database privileges are set. 9.5 View the ALPHABET Make sure that the ALPHABET table schema table has the expected columns. 9.6 View the Make sure that the table has the HISTORICAL_DICTI right columns. ONARY table schema Lab 3 8 Category ID Description Test Test Case Description Case ID 9.7 View the Make sure that the table has the EXPANDED_DICTIO right columns. NARY table schema 9.8 View the NUM_VOTES table schema Make sure that the table has the right columns. 9.9 Prove password encryption Make sure that the passwords are encrypted in the DB. Access syllabary chart To test that the Syllabary is displayed. Browse grammar Verify the user can access the Nottoway grammar. 10.1 10 Language 10.2 Can be viewed on 11.1 mobile devices 11 Versatility 12 Maintenance Objective Confirming the ability for ELDERS to be viewed on a mobile device. Can be functional for Confirming that ELDERS can all major web browsers be used correctly through 11.2 different web browsers that are commonly used. Check for software 12.1 update Show that there is a means to update software used by ELDERS Table 1 Test Case Description 3.3 Test Schedule The Purple team has planned for a demonstration of ELDERS to take approximately 45 minutes. This Schedule is outlined in Table 2. It is expected to take 5 minutes to set up everything before we can begin our presentation. After the presentation has been completed, Purple team expects to be subjected to questions by the review board. Lab 3 9 Start Time Duration Test Objective (Minutes) (Minutes) Category Dependencies Comments 5 6 Prove access tier functionality 1 none None 11 6 Show functional user accounts 2 none None 17 5 Demonstrate the voting system 3 none None 22 5 Dazzle with amazing searching 4 none None 27 5 Blow minds with excellent 5, 6, 7, history linkage, word and 8 suggesting, and administration, lets not forget the handy dandy forum none None 32 8 Run through the Database functionality 9 none None 40 5 Finish up with language content, versatility of the app and maintaining the webapp 10, 11, and 12 none None Table 2 Time Schedule 3.4 Fault Reporting and Data Recording The Purple team will record the success and failure of any tests during the demonstration. Any failed tests will be documented during the demonstration. All failed tests will be fixed at the first available opportunity. Lab 3 3.5 10 Resource Requirements ELDERS has few required resources. The resources that will be needed include a server to host ELDERS on, an internet connection and a computer or smartphone to view ELDERS through. The server will store a SQL database. 3.6 Test Environment The demonstration will take place in the conference room in Dragas hall. The review board will sit around the table, away from the projector screen. The purple team will sit and stand at the end of the table by the projector screen to give the presentation. 4 Test Responsibilities In the ELDERS prototype presentation, there will be two presenters, two test users, a database monitor, and a test recorder. The primary speakers will be Tatiana Livingston and George Calhoun, who will work together in presenting the prototype. One of the two presenters will take the other’s job if he/she is unable to attend. They will also provide an introduction and narrative of each test case. Ben Cortina and Josh Fetherolf will be test users as well as operating the computer. Taking turns, each test user will execute the test case, explain what they are doing as well as show the expected results. Terry Stilwell will be the database monitor, responsible for displaying and explaining changes to the database when applicable. Robert Matson is the test recorder. He will keep the testing on track and will record what has been done and the result. He will also record what needs to be done should any errors occur. Lab 3 5 11 Test Procedure A detailed set of test cases has been prepared for testing ELDERS. Each test has been designed to ensure that the ELDERS prototype meets its requirements. These tests will be described in Section 5.1. 5.1 Test Case Names and Identifiers All test cases provided are designed to ensure that all the requirements of ELDERS have been met. A unique identification number has been provided for each test case. The requirement numbers are also shown with the test cases to show why each test case was created. Test Category: 1 Description: View access tiers and tier permissions Test Case: 1.1 Case Name: Access tier viewing Requirements Fulfilled: 3.1.1.1 Purpose: Show that access tiers and permissions are implemented. Version: 1.0 Written By: Ben Cortina Setup Conditions: Logged in as user with permission to view access tiers Test Case Activity Pass/Fail Comments 1 Access Expected Result Access tiers are displayed. Permissions for each tier are visible. administration page 2 Access access tiers 3 Click on a access tier to view permissions Test Category: 1 Description: Request higher tier status Test Case: 1.2 Case Name: Requesting tier status Version: 1.0 Written By: Ben Cortina Lab 3 Requirements Fulfilled: 3.1.1.1.2 12 Purpose: Show a user may request a higher tier status. Setup Conditions: Logged in as existing user Test Case Activity Pass/Fail Comments 1 Request higher tier Expected Result Access tier request is noted. status 2 Log in as user with permissions to set access tiers 3 VIew pending tier promotion requests. 4 Note the request is listed Test Category: 1 Description: Create new access tier and prove its creation Test Case: 1.3 Case Name: Create new access tier Requirements Fulfilled: 3.1.1.2.1, 3.1.1.2.3, 3.1.1.2 Purpose: Demonstrate process of creating a new access tier. Version: 1.0 Written By: Ben Cortina Setup Conditions: Logged in as user with permissions to create access tiers Test Case Activity Pass/Fail Comments Expected Result Lab 3 13 1 Access Access tier is created and user is assigned to the new tier. administration page 2 Access access tiers 3 Create new tier 4 Set existing user to newly created tier Test Category: 1 Description: Change the default account tier Test Case: 1.4 Case Name: Change default account tier Requirements Fulfilled: 3.1.1.1.1, 3.1.1.2.2, 3.1.1.2 Purpose: Verify that the default tier may be changed. Version: 1.0 Written By: Ben Cortina Setup Conditions: Logged in as user with permissions change access tiers settings Test Case Activity Pass/Fail Comments 1 Access 2 3 4 5 Expected Result User account should be in the default tier. administration page Access access tiers Change default access tier. Create a new account. Show that new account is in the new default tier Test Category: 1 Description: Change a access tier’s permissions Test Case: 1.5 Case Name: Edit account tiers Version: 1.0 Written By: Ben Cortina Lab 3 Requirements Fulfilled: 3.1.1.2, 3.1.1.2.4, 3.1.1.2.5, 3.1.1.2.5.* 14 Purpose: Show that the permissions for an access tier may be edited. Setup Conditions: Logged in as user with permission to edit access tiers Test Case Activity Pass/Fail Comments 1 Access 2 3 4 5 6 Expected Result Permission change is reflected in accounts from that tier. administration page Access access tiers. Click on a access tier to edit permissions Show every permission from 3.1.1.2.5 is listed Edit at least one permission. Prove that the permission is changed for an account in that access tier Test Category: 1 Description: Verify Access checks Test Case: 1.6 Case Name: Access Checks Requirements Fulfilled: 3.3.2.2 Purpose: Show that all access checks are in place. Version: 1 Setup Conditions: ● Component source code accessible ● Logged in as user with permission to edit access tiers Written By: Ben Cortina Lab 3 Test Case Activity 15 Pass/Fail Comments For each permission, 1 Access the user tiers. 2 Show that the permission is assignable 3 In the relevant source code, show the section that prevents access Once, 4 Attempt to access with an account that does not have the permission Expected Result The access is prevented for the tested feature and every feature uses a similar system to block access. Test Category: 2 Description: The method of creating an account Test Case: 2.1 Case Name: Account Creation Requirements Fulfilled: 3.1.1.3, 3.1.1.3.1, 3.1.1.3.3, 3.1.1.3.4 Purpose: Prove that an account can be created. Version: 1.0 Written By: George Calhoun Setup Conditions: At website home page Test Case Activity 1 Click the Create an Account Link 2 Fill in Account Details 3 Click Register Pass/Fail Comments Expected Result account is created Lab 3 16 Test Category: 2 Description: The method of creating an account Test Case: 2.2 Case Name: Account Creation Requirements Fulfilled: 3.1.1.3.2 Purpose: Show that username redundancy is prevented Version: 1.0 Written By: George Calhoun Setup Conditions: ● At website home page ● An already created account Test Case Activity Pass/Fail Comments Click the Create an Account Link 2 Fill in Account Details with an already used username 3 Click Register Expected Result receive notification that username is already in use 1 Test Category: 2 Description: The method of creating an account Test Case: 2.3 Case Name: Account Creation Requirements Fulfilled: 3.1.1.3.3.* Purpose: Verify that the password restrictions are in place. Version: 1.0 Written By: George Calhoun Setup Conditions: At website home page Test Case Activity Pass/Fail Comments Expected Result Lab 3 17 Click the Create an Account Link 2 Fill in Account Details with an improper username 3 Click Register Receive alert that the password does not fulfill the requirements 1 Test Category: 2 Description: Making sure registered users are able to log into ELDERS Test Case: 2.4 Case Name: log in Requirements Fulfilled: 3.1.1.4, 3.1.1.4.1, 3.1.1.4.2 Purpose: Demonstrate that registered users are able to log in. Version: 1.0 Written By: George Calhoun Setup Conditions: ● At website home page ● Account created Test Case Activity Pass/Fail Comments Fill out User name 2 Fill out password correctly 3 click log in Expected Result be logged into your account 1 Test Category: 2 Description: Making sure only registered users are able to log into ELDERS Test Case: 2.5 Case Name: Incorrect log in Requirements Fulfilled: 3.1.1.5, 3.1.1.5.1, 3.1.1.5.2 Purpose: Show that invalid logins call an error. Version: 1.0 Written By: Ben Cortina Lab 3 18 Setup Conditions: ● At website home page ● Account created Test Case Activity Pass/Fail Comments Fill out User name 2 Fill out password incorrectly 3 click log in 4 Repeat steps 1-3 with incorrect username Expected Result Does not allow the user to sign in and presents them with an error 1 Test Category: 2 Description: Regaining access to an account when the password is forgotten Test Case: 2.6 Case Name: password reset Requirements Fulfilled: 3.1.1.6.* Purpose: Verify that a password may be reset. Version: 1.0 Written By: George Calhoun Setup Conditions: ● At website home page ● Account created Test Case Activity Click forgot password link 2 fill out box with an incorrect email address for account 3 repeat step 2 with correct email 4 use information in email to reset password 1 Pass/Fail Comments Expected Result Error message after step 2 email sent to the email address after step 3 Lab 3 19 Test Category: 2 Description: Changing why and how often you receive notifications Test Case: 2.7 Case Name: change notification settings Requirements Fulfilled: 3.1.1.8 Purpose: Demonstrate that a user may change their notification preferences. Version: 1.0 Written By: George Calhoun Setup Conditions: ● At website home page ● Account created ● Account logged in Test Case Activity 1 2 Pass/Fail Comments go to account setting change notifications Expected Result notifications changed. Test Category: 3 Description: Voting Test Case: 3.1 Case Name: Suggested Word Vote Requirements Fulfilled: 3.1.2.1 Purpose: To expand the Nottoway Language Version: 1 Written By: Josh Setup Conditions: User logon tab in voting section. Test Case Activity Pass/Fail Comments Expected Result Lab 3 1 2 3 4 5 20 User accesses administration page User searches for word User prompted of non-existing word Selects either search or vote User changes their vote User has the opportunity to expand the Nottoway language by voting. Test Category: 3 Description: Voting Test Case: 3.2 Case Name: Voting Restrictions to One. Requirements Fulfilled: 3.1.2.1.1 Purpose: Ensure that the Council can only make one vote on a suggested word. Version: 1 Written By: Josh Setup Conditions: User logon and each vote only is obtained only once. Test Case Activity Pass/Fail Comments User access administration page 2 User votes on word 3 Restricted to one vote per user Expected Result A user has one vote. 1 Test Category: 3 Description: Voting Test Case: 3.3 Case Name: Able to Change Vote. Requirements Fulfilled: 3.1.2.1.2 Purpose: Change vote due to common error. Version: 1 Written By: Josh Lab 3 21 Setup Conditions: User logon tab in voting section. Test Case Activity Pass/Fail Comments User accesses administration page 2 User accesses past votes 3 User changes vote Expected Result Users are able to change vote at a later time. This updates in the database as still counting only one vote per member. 1 Test Category: 3 Description: Voting Test Case: 3.4 Case Name: Threshold Stamp of Approval. Requirements Fulfilled: 3.1.2.1.3* Purpose: When the majority of votes are in the words favor. Version: 1 Written By: Josh Setup Conditions: Database will have a count on each word. Test Case Activity Pass/Fail Comments Enough user votes have been received 2 Words that have reached threshold of votes are marked as approved Expected Result Total number of user votes have reached the majority so the suggested word is now added. 1 Test Category: 3 Description: Voting Test Case: 3.5 Case Name: Adding New Word to Dictionary Version: 1 Written By: Josh Lab 3 Requirements Fulfilled: 3.1.2.2 22 Purpose: Expand the dictionary upon “approved” words. Setup Conditions: Database sees a majority vote and prompts the admin to add to dictionary Test Case Activity Pass/Fail Comments Administrator notified that word has reached threshold 2 Administrator access administration panel 3 Administrator adds new word to dictionary Expected Result Administrator adds suggested word that has reached threshold of user votes to the dictionary. 1 Test Category: 4 Description: Searching the database for an English word Test Case: 4.1 Case Name: Successful English Search Requirements Fulfilled: 3.1.2.6, 3.1.2.6.2.*, 3.1.2.6.2 Purpose: To test whether searching by English returns the correct information. Version: 1 Written By: Tatiana Setup Conditions: At dictionary search page Test Case Activity Pass/Fail Comments Expected Result Lab 3 23 Set search to English to Nottoway 2 Enter an English word that is in the database 3 Search The searched word and all of the data stored for it are displayed. 1 Test Category: 4 Description: Test Case: 4.2 Case Name: Search Fail Requirements Fulfilled: 3.1.2.6.1 Purpose: To test what the search will return if it fails to find a word Version: 1 Written By: Terry Stilwell Setup Conditions: At dictionary search page Test Case Activity Pass/Fail Comments Set search to English to Nottoway 2 Enter an English word that isn’t in the database 3 Search Expected Result User is alerted of failed search 1 Test Category: 4 Description: Test Case: 4.3 Case Name: Search Fail Suggestions Version: 1 Written By: Terry Stilwell Requirements Purpose: To suggest alternatives for a failed search Fulfilled: 3.1.2.6.1.a3.1.2.6.1.c Setup Conditions: At dictionary search page Lab 3 Test Case Activity 24 Pass/Fail Comments Set search to English to Nottoway 2 Enter an English word that isn’t in the database 3 Search Expected Result Should see suggested words, and votes for suggested words 1 Test Category: 4 Description: Test Case: 4.4 Case Name: Edit words that are suggested Requirements Fulfilled: 3.1.2.6.1.d Purpose: To give the user an opportunity to change suggested words Version: 1 Written By: Terry Stilwell Setup Conditions: At dictionary search page Test Case Activity Set search to English to Nottoway 2 Enter an English word that isn’t in the database 3 Search 4 Get a list of suggested words 1 Test Category: 4 Pass/Fail Comments Expected Result Should be able to edit the word or words that are suggested Description: Searching the database for a Nottoway word Lab 3 25 Test Case: 4.5 Case Name: Version: 1 Successful Nottoway Search Written By: Tatiana Requirements Fulfilled: 3.1.2.7, 3.1.2.7.2.*, 3.1.2.7.2 Purpose: To test whether searching by Nottoway returns the correct information. Setup Conditions: At dictionary search page Test Case Activity Pass/Fail Comments Set search to Nottoway 2 Enter a Nottoway word that is in the database 3 Search Expected Result The searched word and all of the data stored for it are displayed. 1 Test Category: 4 Description: Failed search notification Test Case: 4.6 Case Name: Search Fail Requirements Fulfilled: 3.1.2.7.1 Purpose: To test whether users receive a notification when they search for a Nottoway word that doesn’t exist. Version: 1 Written By: Tatiana Setup Conditions: At dictionary search page Test Case Activity Pass/Fail Comments Set search to Nottoway 2 Enter a Nottoway word that isn’t in the database 3 Search Notify user word doesn’t exist 1 Test Category: 4 Expected Result Description: Filter by word Lab 3 26 Test Case: 4.7 Case Name: Filter Version: 1 Written By: Tatiana Requirements Fulfilled: 3.1.2.4 Purpose: To test that the word filter functions correctly. Setup Conditions: On the syllabary chart page Test Case Activity 1 Pass/Fail Comments Click on a letter in the chart Expected Result All the words that begin with that letter are displayed Test Category: 5 Description: Displaying the Nottoway history Test Case: 5.1 Case Name: History Requirements Fulfilled: 3.1.2.8 Purpose: To test that the Nottoway history is displayed. Version: 1 Written By: Tatiana Setup Conditions: On ELDERS Website Test Case Activity 1 Pass/Fail Comments Click link to the Nottoway history Expected Result The Nottoway History is displayed Test Category: 6 Description: Suggested words by users Test Case: 6.1 Case Name: Suggestions Requirements Fulfilled: 3.1.2.9 Purpose: To show what words have been already suggested by current users Version: 1 Written By: Robert Setup Conditions: On ELDERS Website Test Case Activity Pass/Fail Comments Expected Result Lab 3 1 27 Show suggested words by user Suggested words are displayed Test Category: 6 Description: Prompt to suggest words Test Case: 6.2 Case Name: Suggestions Requirements Fulfilled: 3.1.2.9 Purpose: To let the users know about suggested word Version: 1 Written By: Robert Setup Conditions: On ELDERS Website Test Case Activity 1 Pass/Fail Comments Prompt to suggested word if no word exists Expected Result No words have been suggested, it notifies users of a suggested word from the user Test Category: 6 Description: Input suggested word Test Case: 6.3 Case Name: Suggestions Requirements Fulfilled: 3.1.2.9.1 Purpose: To be able to input a suggested word Version: 1 Written By: Robert Setup Conditions: On ELDERS Website Test Case Activity 1 Pass/Fail Comments User inputs a suggested word Expected Result The suggested word can be inputted Test Category: 6 Description: Submit suggested words Test Case: 6.4 Case Name: Suggestions Version: 1 Written By: Robert Lab 3 Requirements Fulfilled: 3.1.2.9.2 28 Purpose: To be able to submit a suggested word Setup Conditions: On ELDERS Website Test Case Activity 1 Pass/Fail Comments User submits a suggested word Expected Result The suggested word will be submitted to a list of suggested words Test Category: 7 Description: Website settings Test Case: 7.1 Case Name: Administration Requirements Fulfilled: 3.1.2.10 Purpose: To changes settings on the website Version: 1 Written By: Robert Setup Conditions: On ELDERS database Test Case Activity 1 Pass/Fail Comments Edit website settings Expected Result The edit in the settings has changed for the website Test Category: 7 Description: Website permissions Test Case: 7.2 Case Name: Administrations Requirements Fulfilled: 3.1.2.10 Purpose: To change permissions for administrators and users Setup Conditions: On ELDERS database Version: 1 Written By: Robert Lab 3 Test Case Activity 1 29 Pass/Fail Comments Edit website permissions Expected Result Permissions have changed for who can and cannot access areas Test Category: 8 Description: Displaying the Forum Test Case: 8.1 Case Name: Forum Requirements Fulfilled: 3.1.2.11 Purpose: To test that the Forum is displayed. Version: 1 Written By: Tatiana Setup Conditions: On ELDERS Website Test Case Activity 1 Pass/Fail Comments Click link to the Forum page Expected Result The Forum is displayed Test Category: 8 Description: Corresponding forum account and ELDERS account Test Case: 8.2 Case Name: Forum Account Requirements Fulfilled: 3.1.2.11.2 Purpose: To test that a user’s forum account is the same as their ELDERS account. Version: 1 Written By: Tatiana Setup Conditions: On ELDERS Website, User is logged in Test Case Activity Pass/Fail Comments Expected Result Lab 3 1 30 Click link to the Forum page The Forum is displayed and the User is logged in to the forum with an account that corresponds with their ELDERS account. Test Category: 9 Description: Database Test Case: 9.1 Case Name: View DB Requirements Fulfilled: 3.3.1.1 Purpose: Viewing the database proves that it exists. Version: 1 Written By: Terry Setup Conditions: MySQL installed and Nottoway database created Test Case Activity Pass/Fail Comments SSH into server and then connect to MySQL 2 Type “show databases;” Expected Result You will see the database listed. 1 Test Category: 9 Description: Database Test Case: 9.2 Case Name: DB Backup Requirements Fulfilled: 3.3.1.2, 3.3.4.1 Purpose: Prove that the DB is being backed up. Version: 1 Written By: Terry Setup Conditions: Cron job in place with mysqldump that specified date in the file name Test Case Activity Pass/Fail Comments Expected Result Lab 3 31 Write a script that includes the mysqldump command 2 Make sure the script creates a file with the date of the dump 3 Manually run the cron job or wait until the time set (midnight) You will see the backed up file in the specified directory of the script. 1 Test Category: 9 Description: Database Test Case: 9.3 Case Name: MySQL user Requirements Fulfilled: 3.3.1.3 Purpose: Users must exist in order to access the DB. Version: 1 Written By: Terry Setup Conditions: MySQL installed with a root mysql account with highest privileges Test Case Activity 1 2 3 4 5 Pass/Fail Log into mysql with the root account Create a mysql user using the appropriate syntax Set privileges for that mysql user Flush the database Query the DB for a list of users Test Category: 9 Comments Expected Result You will see a list of users that includes the newly created one. Description: Database Lab 3 32 Test Case: 9.4 Case Name: MySQL User Privileges Version: 1 Written By: Terry Requirements Fulfilled: 3.3.1.4 Purpose: Make sure that user’s privileges are set. Setup Conditions: MySQL user already created Test Case Activity Pass/Fail Comments Once logged into mysql, create a user, a new table, set privileges for the new user to write to that table, and flush privileges 2 Using the new user, insert information into the new table 3 Query the new table to see the inserted row Expected Result The new user will be able to write to the new table and the change can be seen. 1 Test Category: 9 Description: Database Test Case: 9.5 Case Name: ALPHABET Table Requirements Fulfilled: 3.3.1.5* Purpose: Make sure that the ALPHABET table has the expected columns. Version: 1 Written By: Terry Setup Conditions: The ALPHABET table is already created with the proper columns. Test Case Activity Pass/Fail Comments Expected Result Lab 3 33 Log into mysql using a user with privileges to read the ALPHABET table 2 Change to the Nottoway DB 3 Type describe ALPHABET You will see the table with the proper columns 1 Test Category: 9 Description: Database Test Case: 9.6 Case Name: Version: 1 HISTORICAL_DIC TIONARY Table Requirements Fulfilled: 3.3.1.6* Purpose: Make sure that the table has the right columns. Written By: Terry Setup Conditions: HISTORICAL_DICTIONARY is created with proper columns. Test Case Activity Pass/Fail Log into mysql using a user with privileges to read the HISTORICAL_D ICTIONARY table 2 Change to the Nottoway DB 3 Type describe HISTORICAL_D ICTIONARY Expected Result You will see the table with the proper columns 1 Test Category: 9 Comments Description: Database Lab 3 34 Test Case: 9.7 Case Name: EXPANDED_DICT IONARY Table Version: 1 Written By: Terry Requirements Fulfilled: 3.3.1.7* Purpose: Make sure that the table has the right columns. Setup Conditions: EXPANDED_DICTIONARY table is created and has right columns Test Case Activity Pass/Fail Comments Log into mysql using a user with privileges to read the EXPANDED_DI CTIONARY table 2 Change to the Nottoway DB 3 Type describe EXPANDED_DI CTIONARY Expected Result You will see the table with the proper columns 1 Test Category: 9 Description: Database Test Case: 9.8 Case Name: NUM_VOTES Table Requirements Fulfilled: 3.3.1.8* Purpose: Make sure that the table has the right columns. Version: 1 Written By: Terry Setup Conditions: At website login page Test Case Activity Pass/Fail Comments Expected Result Lab 3 35 Log into mysql using a user with privileges to read the NUM_VOTES table 2 Change to the Nottoway DB 3 Type describe NUM_VOTES You will see the table with the proper columns 1 Test Category: 9 Description: Database Test Case: 9.9 Case Name: Password Encryption Requirements Fulfilled: 3.3.2.1 Purpose: Make sure that the passwords are encrypted in the DB. Version: 1 Written By: Terry Setup Conditions: A user is created and the password is encrypted in the DB Test Case Activity Pass/Fail Comments Log into mysql with the root account. 2 Query the database with the user and password columns from the mysql.user table Expected Result You will see the users and their encrypted passwords 1 Test Category: 10 Description: Displaying the Syllabary Test Case: 10.1 Case Name: Syllabary Requirements Fulfilled: 3.1.2.3 Purpose: To test that the Syllabary is displayed. Version: 1 Written By: Tatiana Lab 3 36 Setup Conditions: On ELDERS Website Test Case Activity 1 Pass/Fail Comments Click link to language section Expected Result Syllabary chart displayed Test Category: 10 Description: Browse the Grammar Test Case: 10.2 Case Name: Grammar Requirements Fulfilled: 3.1.2.5 Purpose: Verify the user can access the Nottoway grammar. Version: 1 Written By: Tatiana Setup Conditions: On a page in the language section Test Case Activity 1 Pass/Fail Comments Click on the Grammar link Expected Result Display the basic grammar rules of the Nottoway language Test Category: 11 Description: Viewing ELDERS on a mobile device Test Case: 11.1 Case Name: Mobility Requirements Fulfilled: 3.3.4.2 Purpose: Confirming the ability for ELDERS to be viewed on a mobile device. Version: 1 Written By: George Setup Conditions: Using a mobile device Test Case Activity Pass/Fail Comments Expected Result Lab 3 37 Navigate to the ELDERS web page using the device The ELDERS web page looks the same as when viewing it through a computer. Test Category: 11 Description: Viewing ELDERS through multiple web browsers Test Case: 11.2 Case Name: Versatility Requirements Fulfilled: 3.3.4.3 Purpose: Confirming that ELDERS can be used correctly through different web browsers that are commonly used. 1 Version: 1 Written By: George Setup Conditions: On a computer with multiple Internet Browsers Test Case Activity 1 2 3 4 5 Pass/Fail Comments Open Internet Explorer Navigate to ELDERS web page Repeat steps 1 and 2 with Firefox Repeat steps 1 and 2 with Chrome Repeat steps 1 and 2 with Safari Expected Result All 4 browsers should load ELDERS without error, and should all look approximately the same Test Category: 12 Description: Check for software update Test Case: 12.1 Case Name: Software Update Requirements Fulfilled: 3.3.4.3 Purpose: Show that there is a means to update software used by ELDERS Version: 1 Written By: Ben Cortina Lab 3 38 Setup Conditions: On a computer with multiple Internet Browsers Test Case Activity 1 2 3 4 5 6 Pass/Fail Comments Expected Result Open Joomla administration page Navigate to the Extension Manager Click Update Click purge cache Click Find Updates Any updates for outdated Extensions should be listed. Traceability to Requirements The purpose of each test is to prove a set of requirements have been met. Table 3 provides an extensive matrix with a requirement ID labeling each row and a test case ID on each column. In the resulting grid, an X means that the requirement on that row is fulfilled by the test case on that column. Test Case ID Component Requirement ID 3.1.1.1 Create Tiered Account 3.1.1.1.1 System 3.1.1.1.2 1.1 1.2 1.3 1.5 X X X 3.1.1.2 X 3.1.1.2.1 X Manage Tier 3.1.1.2.2 System 3.1.1.2.3 1.4 X X X X 3.1.1.2.4 X 3.1.1.2.5 X 1.6 2.1 2.2 2.3 2.4 2.5 2.6 Lab 3 39 Test Case ID Component Requirement ID 1.1 1.2 1.3 1.4 1.5 3.1.1.2.5.a X 3.1.1.2.5.b X 3.1.1.2.5.c X 3.1.1.2.5.d X 3.1.1.2.5.e X 3.1.1.2.5.f X 3.1.1.2.5.g X 3.1.1.2.5.h X 3.1.1.2.5.i X 3.1.1.2.5.j X 3.1.1.2.5.k X 3.1.1.2.5.l X 3.1.1.2.5.m X 3.1.1.2.5.n X 3.1.1.2.5.o X 3.1.1.2.5.p X 3.1.1.2.5.q X 3.1.1.2.5.r X 3.1.1.2.5.s X 3.1.1.2.5.t X 1.6 2.1 3.1.1.3 X 3.1.1.3.1 X 3.1.1.3.2 3.1.1.3.3 User Registration 2.3 2.4 X X 3.1.1.3.3.a X 3.1.1.3.3.b X 3.1.1.3.3.c X 3.1.1.3.3.d X 3.1.1.3.4 User Login 2.2 X 3.1.1.4 X 3.1.1.4.1 X 3.1.1.4.2 X 2.5 2.6 Lab 3 40 Test Case ID Component Requirement ID 1.1 1.2 1.3 1.4 1.5 1.6 2.1 2.2 2.3 2.4 2.5 3.1.1.5 X 3.1.1.5.1 X 3.1.1.5.2 X 2.6 3.1.1.6 3.1.1.6.1 User Account Management 3.1.1.6.2 3.1.1.7 3.1.1.8 3.1.2.1 3.1.2.1.1 Voting 3.1.2.1.2 3.1.2.1.2.a 3.1.2.1.3 3.1.2.1.3.a Grammar 3.1.2.3 3.1.2.5 3.1.2.2 3.1.2.4 3.1.2.6 3.1.2.6.1 3.1.2.6.1.a 3.1.2.6.1.b 3.1.2.6.1.c Dictionary 3.1.2.6.1.d 3.1.2.6.2 3.1.2.6.2.a 3.1.2.6.2.b 3.1.2.6.2.c 3.1.2.6.2.d 3.1.2.6.2.e 3.1.2.6.2.f 3.1.2.7 X X Lab 3 41 Test Case ID Component Requirement ID 3.1.2.7.1 3.1.2.7.2 3.1.2.7.2.a 3.1.2.7.2.b 3.1.2.7.2.c 3.1.2.7.2.d 3.1.2.7.2.e 3.1.2.7.2.f 3.1.2.7.2.g 3.1.2.8 3.1.2.9 Website 3.1.2.9.1 3.1.2.9.2 3.1.2.10 3.1.2.11 Suggestion 3.1.2.11.1 3.1.2.11.2 Database Creation 3.3.1.1 Database Backup 3.3.1.2 Database Users 3.3.1.3 3.3.1.4 3.3.1.5 3.3.1.5.a 3.3.1.5.b 3.3.1.6 Database Tables 3.3.1.6.a 3.3.1.6.b 3.3.1.6.c 3.3.1.6.d 3.3.1.6.e 3.3.1.7 1.1 1.2 1.3 1.4 1.5 1.6 2.1 2.2 2.3 2.4 2.5 2.6 Lab 3 42 Test Case ID Component Requirement ID 1.1 1.2 1.3 1.4 1.5 1.6 2.1 2.2 2.3 2.4 2.5 2.6 4.2 4.3 4.4 4.5 4.6 3.3.1.7.a 3.3.1.7.b 3.3.1.7.c 3.3.1.7.d 3.3.1.7.e 3.3.1.8 3.3.1.8.a 3.3.1.8.b Encryption 3.3.2.1 Authentication 3.3.2.2 Update X 3.3.3.1 3.3.4.1 Reliability 3.3.4.2 3.3.4.3 Test Case ID Component Requirement ID 3.1.1.1 Create Tiered Account 3.1.1.1.1 System 3.1.1.1.2 3.1.1.2 3.1.1.2.1 3.1.1.2.2 3.1.1.2.3 3.1.1.2.4 Manage Tier 3.1.1.2.5 System 3.1.1.2.5.a 3.1.1.2.5.b 3.1.1.2.5.c 3.1.1.2.5.d 3.1.1.2.5.e 2.7 3.1 3.2 3.3 3.4 3.5 4.1 Lab 3 43 Test Case ID Component Requirement ID 2.7 3.1.1.2.5.f 3.1.1.2.5.g 3.1.1.2.5.h 3.1.1.2.5.i 3.1.1.2.5.j 3.1.1.2.5.k 3.1.1.2.5.l 3.1.1.2.5.m 3.1.1.2.5.n 3.1.1.2.5.o 3.1.1.2.5.p 3.1.1.2.5.q 3.1.1.2.5.r 3.1.1.2.5.s 3.1.1.2.5.t 3.1.1.3 3.1.1.3.1 3.1.1.3.2 3.1.1.3.3 User Registration 3.1.1.3.3.a 3.1.1.3.3.b 3.1.1.3.3.c 3.1.1.3.3.d 3.1.1.3.4 3.1.1.4 3.1.1.4.1 User Login 3.1.1.4.2 3.1.1.5 3.1.1.5.1 3.1.1.5.2 User Account 3.1.1.6 Management 3.1.1.6.1 X 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5 4.6 Lab 3 44 Test Case ID Component Requirement ID 2.7 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5 4.6 3.1.1.6.2 3.1.1.7 3.1.1.8 3.1.2.1 3.1.2.1.1 Voting 3.1.2.1.2 X X X X 3.1.2.1.2.a Grammar 3.1.2.1.3 X 3.1.2.1.3.a X 3.1.2.3 3.1.2.5 3.1.2.2 X 3.1.2.4 3.1.2.6 X 3.1.2.6.1 X 3.1.2.6.1.a X 3.1.2.6.1.b X 3.1.2.6.1.c X 3.1.2.6.1.d Dictionary X 3.1.2.6.2 X 3.1.2.6.2.a X 3.1.2.6.2.b X 3.1.2.6.2.c X 3.1.2.6.2.d X 3.1.2.6.2.e X 3.1.2.6.2.f X 3.1.2.7 X 3.1.2.7.1 X 3.1.2.7.2 X 3.1.2.7.2.a X 3.1.2.7.2.b X 3.1.2.7.2.c X Lab 3 45 Test Case ID Component Requirement ID 3.4 3.5 4.1 4.2 4.3 4.4 4.5 X 3.1.2.7.2.f X 3.1.2.7.2.g X 3.1.2.9.1 3.1.2.10 3.1.2.11 3.1.2.11.1 3.1.2.11.2 Database Creation 3.3.1.1 Database Backup 3.3.1.2 3.3.1.3 3.3.1.4 3.3.1.5 3.3.1.5.a 3.3.1.5.b 3.3.1.6 3.3.1.6.a 3.3.1.6.b 3.3.1.6.c Database Tables 3.3 3.1.2.7.2.e 3.1.2.9.2 Database Users 3.2 X 3.1.2.9 Suggestion 3.1 3.1.2.7.2.d 3.1.2.8 Website 2.7 3.3.1.6.d 3.3.1.6.e 3.3.1.7 3.3.1.7.a 3.3.1.7.b 3.3.1.7.c 3.3.1.7.d 3.3.1.7.e 4.6 Lab 3 46 Test Case ID Component Requirement ID 2.7 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5 4.6 7.2 8.1 8.2 9.1 9.2 3.3.1.8 3.3.1.8.a 3.3.1.8.b Encryption 3.3.2.1 Authentication 3.3.2.2 Update 3.3.3.1 3.3.4.1 Reliability 3.3.4.2 3.3.4.3 Test Case ID Component Requirement ID 3.1.1.1 Create Tiered Account 3.1.1.1.1 System 3.1.1.1.2 3.1.1.2 3.1.1.2.1 3.1.1.2.2 3.1.1.2.3 3.1.1.2.4 3.1.1.2.5 3.1.1.2.5.a Manage Tier 3.1.1.2.5.b System 3.1.1.2.5.c 3.1.1.2.5.d 3.1.1.2.5.e 3.1.1.2.5.f 3.1.1.2.5.g 3.1.1.2.5.h 3.1.1.2.5.i 3.1.1.2.5.j 4.7 5.1 6.1 6.2 6.3 6.4 7.1 Lab 3 47 Test Case ID Component Requirement ID 3.1.1.2.5.k 3.1.1.2.5.l 3.1.1.2.5.m 3.1.1.2.5.n 3.1.1.2.5.o 3.1.1.2.5.p 3.1.1.2.5.q 3.1.1.2.5.r 3.1.1.2.5.s 3.1.1.2.5.t 3.1.1.3 3.1.1.3.1 3.1.1.3.2 3.1.1.3.3 User Registration 3.1.1.3.3.a 3.1.1.3.3.b 3.1.1.3.3.c 3.1.1.3.3.d 3.1.1.3.4 3.1.1.4 3.1.1.4.1 User Login 3.1.1.4.2 3.1.1.5 3.1.1.5.1 3.1.1.5.2 3.1.1.6 3.1.1.6.1 User Account Management 3.1.1.6.2 3.1.1.7 3.1.1.8 Voting 3.1.2.1 3.1.2.1.1 4.7 5.1 6.1 6.2 6.3 6.4 7.1 7.2 8.1 8.2 9.1 9.2 Lab 3 48 Test Case ID Component Requirement ID 4.7 5.1 3.1.2.1.2 3.1.2.1.2.a 3.1.2.1.3 3.1.2.1.3.a Grammar 3.1.2.3 3.1.2.5 3.1.2.2 3.1.2.4 X 3.1.2.6 3.1.2.6.1 3.1.2.6.1.a 3.1.2.6.1.b 3.1.2.6.1.c 3.1.2.6.1.d 3.1.2.6.2 3.1.2.6.2.a 3.1.2.6.2.b 3.1.2.6.2.c Dictionary 3.1.2.6.2.d 3.1.2.6.2.e 3.1.2.6.2.f 3.1.2.7 3.1.2.7.1 3.1.2.7.2 3.1.2.7.2.a 3.1.2.7.2.b 3.1.2.7.2.c 3.1.2.7.2.d 3.1.2.7.2.e 3.1.2.7.2.f 3.1.2.7.2.g Website 3.1.2.8 X 6.1 6.2 6.3 6.4 7.1 7.2 8.1 8.2 9.1 9.2 Lab 3 49 Test Case ID Component Requirement ID 4.7 5.1 6.1 6.2 6.3 6.4 3.1.2.9 3.1.2.9.1 7.1 7.2 X X 8.1 3.1.2.11.1 3.1.2.11.2 Database Creation 3.3.1.1 Database Backup 3.3.1.2 Database Users 3.3.1.3 3.3.1.4 3.3.1.5 3.3.1.5.a 3.3.1.5.b 3.3.1.6 3.3.1.6.a 3.3.1.6.b 3.3.1.6.c 3.3.1.6.d Database Tables 3.3.1.6.e 3.3.1.7 3.3.1.7.a 3.3.1.7.b 3.3.1.7.c 3.3.1.7.d 3.3.1.7.e 3.3.1.8 3.3.1.8.a 3.3.1.8.b Encryption 3.3.2.1 Authentication 3.3.2.2 9.2 X 3.1.2.10 Suggestion 9.1 X 3.1.2.9.2 3.1.2.11 8.2 X X X X X X X Lab 3 50 Test Case ID Component Update Requirement ID 4.7 5.1 6.1 6.2 6.3 6.4 7.1 8.1 8.2 9.1 9.2 3.3.3.1 3.3.4.1 Reliability 7.2 X 3.3.4.2 3.3.4.3 Test Case ID Component Requirement ID 3.1.1.1 Create Tiered Account 3.1.1.1.1 System 3.1.1.1.2 3.1.1.2 3.1.1.2.1 3.1.1.2.2 3.1.1.2.3 3.1.1.2.4 3.1.1.2.5 3.1.1.2.5.a 3.1.1.2.5.b 3.1.1.2.5.c 3.1.1.2.5.d Manage Tier 3.1.1.2.5.e System 3.1.1.2.5.f 3.1.1.2.5.g 3.1.1.2.5.h 3.1.1.2.5.i 3.1.1.2.5.j 3.1.1.2.5.k 3.1.1.2.5.l 3.1.1.2.5.m 3.1.1.2.5.n 3.1.1.2.5.o 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.1 10.2 11.1 11.2 12.1 Lab 3 51 Test Case ID Component Requirement ID 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.1 10.2 11.1 11.2 12.1 3.1.1.2.5.p 3.1.1.2.5.q 3.1.1.2.5.r 3.1.1.2.5.s 3.1.1.2.5.t 3.1.1.3 3.1.1.3.1 3.1.1.3.2 3.1.1.3.3 User Registration 3.1.1.3.3.a 3.1.1.3.3.b 3.1.1.3.3.c 3.1.1.3.3.d 3.1.1.3.4 3.1.1.4 3.1.1.4.1 User Login 3.1.1.4.2 3.1.1.5 3.1.1.5.1 3.1.1.5.2 3.1.1.6 3.1.1.6.1 User Account Management 3.1.1.6.2 3.1.1.7 3.1.1.8 3.1.2.1 3.1.2.1.1 Voting 3.1.2.1.2 3.1.2.1.2.a 3.1.2.1.3 3.1.2.1.3.a Grammar 3.1.2.3 X Lab 3 52 Test Case ID Component Requirement ID 3.1.2.5 3.1.2.2 3.1.2.4 3.1.2.6 3.1.2.6.1 3.1.2.6.1.a 3.1.2.6.1.b 3.1.2.6.1.c 3.1.2.6.1.d 3.1.2.6.2 3.1.2.6.2.a 3.1.2.6.2.b 3.1.2.6.2.c Dictionary 3.1.2.6.2.d 3.1.2.6.2.e 3.1.2.6.2.f 3.1.2.7 3.1.2.7.1 3.1.2.7.2 3.1.2.7.2.a 3.1.2.7.2.b 3.1.2.7.2.c 3.1.2.7.2.d 3.1.2.7.2.e 3.1.2.7.2.f 3.1.2.7.2.g 3.1.2.8 3.1.2.9 Website 3.1.2.9.1 3.1.2.9.2 3.1.2.10 Suggestion 3.1.2.11 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.1 10.2 11.1 11.2 12.1 X Lab 3 53 Test Case ID Component Requirement ID 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10.1 10.2 11.1 11.2 12.1 3.1.2.11.1 3.1.2.11.2 Database Creation 3.3.1.1 Database Backup 3.3.1.2 Database Users 3.3.1.3 3.3.1.4 Database Tables Encryption X X 3.3.1.5 X 3.3.1.5.a X 3.3.1.5.b X 3.3.1.6 X 3.3.1.6.a X 3.3.1.6.b X 3.3.1.6.c X 3.3.1.6.d X 3.3.1.6.e X 3.3.1.7 X 3.3.1.7.a X 3.3.1.7.b X 3.3.1.7.c X 3.3.1.7.d X 3.3.1.7.e X 3.3.1.8 X 3.3.1.8.a X 3.3.1.8.b X 3.3.2.1 X Authentication 3.3.2.2 Update 3.3.3.1 X 3.3.4.1 Reliability 3.3.4.2 X 3.3.4.3 X Table 3. ELDERS Traceability Matrix