Web Project 4 Grading Guide


This assignment is worth 100 points but to make it easier to assign points I have made the total points you assign be 300. To get the final grade divide the student's score by 3. You can grade this problem by interacting with the student's web-site. You should not have to look at their code except to find their database credentials. The grade for this problem should be based on whether the web-site works as intended.


Web-site Appearance (50 points)

The web-site should roughly approximate my layout and appearance.

Here is a grading rubric for the appearance:


Interaction With The Web-site (250 points)

If possible I would like you to test the student's web-site with my sample data rather than the student's sample data. You can accomplish this as follows:

  1. Find the student's database credentials--username, password, and database name.
  2. Save the student's database using the command:
    mysqldump -h dbs.eecs.utk.edu -u username -pstudent_password database_name > backupfile.sql
          
    This command will save the student's database in case you cannot use the student's web-site with my database

  3. Install my sample data using my solutionData.sql file:
    mysql -h dbs.eecs.utk.edu -u username -pstudent_password database_name < solutionData.sql
          
  4. If the student's database does not work with my data or when you are done working with the student's site, then restore their database by running these two commands:
    mysql -h dbs.eecs.utk.edu -u username -pstudent_password database_name < restore.sql
    mysql -h dbs.eecs.utk.edu -u username -pstudent_password database_name < backupfile.sql
          
Deduct 15 points if the student's web-site does not work with my database data.

Checklist of Operations To Perform

Here is a checklist of all actions you should perform on the student's web-site, what should happen with each action, and the point value of that action. I have have used a blue font to indicate what data I would like you to use from my database. If my database is not working with the student's web-site, then you will need to substitute the student's database. Their database should be using my sample data that I provided (sampleData.sql) but they may have modified the sample data with their interactions with the web-site so you may have to devise your own testing "script" for that student's website.

  1. (16 points total) Login Page
    1. (3 points) Enter an invalid email
    2. (3 points) Enter a valid email but invalid password: any invalid combination displays an error message in red under the login button that says "invalid e-mail or password". The message stays there until the user enters a valid email/password.
    3. (10 points) Enter a valid email and password: You are re-directed to the data collection page.
  2. (32 points) Navigation Bar: The navigation bar should have a drop-down menu for selecting a section and a menu with the set of outcomes for the selected section. If a section assesses two or more majors, then that section should be listed multiple times in the drop down major, once for each of the assessed majors and differentiated by the major name. For example, if the section asses both CS and CpE, the courseId is COSC365, the semester is spring, and the year is 2019, then the drop down menu should have the following two menu items:

    The entries should be in decending order by year and ascending order by semester but within semester/year the order of the items, course numbers and majors, might be different (e.g., their first item might be "COSC365 spring 2019 CpE"). The labels for the menu items should be constructed exactly as you see above and have the form:

    courseId semester year major
    	
    where major is the major being assessed by that section.

    The rest of the initial appearance of the web-site should be as follows:

  3. To test the data collection portion of the web-site you are going to select two new sections/outcomes from the Section menu--one section/outcome will have pre-existing data and one section/outcome will not have pre-existing data. For each of the two sections/outcomes you will enter some sample data and save it. For an outcome that has pre-existing data, you are verifying that the data gets updated. For an outcome that did not have pre-existing data, you are verifying that the data gets successfully inserted into the database. You can verify that data has been correctly saved by navigating away from the outcome, and then coming back to the outcome to see if the data that you changed/inserted is there.

    "normal" data should be entered and saved for each section/outcome. The error conditions, the deletes for the Assessments, and the special checks with single/double quotes in the Narratives section only have to be performed once.

    1. (38 points total) Results Section
      1. Initial Appearance
        1. (6 points) The outcome description for the outcome should be displayed in a gray box below the Results label as shown in my screen snapshot for the results section
        2. (6 points) The number widgets should either be populated with pre-existing data from the database for that outcome or if no data exists, then the number widgets may either be blanks or filled with 0's and the Total field may be blank or may be 0.
      2. Enter 3 non-negative numbers and save the results.
        1. (8 points) The total field gets updated whenever a number is entered
        2. (16 points, 8 points/section) The results get saved correctly
      3. (2 points) Enter a negative number and try to save the results. You should not succeed.

    2. (70 points total) Assessments Section
      1. (10 points) Initial Appearance: The assessment section should be loaded with any relevant pre-existing data for that outcome or if there is no pre-existing the data, then there should be one row with a blank weight (it's okay for it to be 0), blank assessment description, and a trash can.
      2. Adding Assessments `
        1. (20 points): Enter some assessments/weights by pressing the +New button (a new row with a weights widget, textarea for a description, and a trash icon should appear at the bottom), make the weights add to 100
        2. (10 points, 5 points/section): Save the assessments and verify that they were correctly saved
      3. Deleting Assessments: You only have to do these with one section/outcome, not both section/outcomes you are testing
        1. (6 points) Delete an assessment, navigate away from this outcome and then back to the outcome and make sure that the assessment has not been deleted (because you did not yet save the assessments).
        2. (16 points) Delete an assessment, add at least two new assessments to replace the deleted assessment, and save the assessments.
        3. Points you can award if the saves do not result--You should be able to delete any assessment but I've noticed that many students' web-sites do not allow you to delete either the first or last assessment.
          1. (13 points if you can delete any assessment and add new assessments without crashing the web-site (save does not have to work)
          2. (10 points if you can delete any assessment except the first or last assessment and add new assessments without crashing the web-site (save does not have to work)
          3. (5 points) if you can only delete original assessments but not newly added assessments
      4. Make the following errors and try to save the assessments. The save should not succeed:
        1. (2 points) Make the weights not add to 100
        2. (2 points) Leave an assessment description blank
        3. (2 points) Enter a negative weight
        4. (2 points) Enter a weight greater than 100

    3. (37 points total) Narratives Section
      1. (5 points) Initial Appearance: The text areas should be populated with relevant pre-existing data for that outcome if it exists and otherwise there should be placeholder values of "None" in each of the narrative summary text areas
      2. (20 points, 10 points per section/outcome) Enter some text into the strengths, weaknesses, and actions boxes and save them. Make sure that you are allowed to enter a multi-line description.
      3. Make the following errors and try to save the narratives. The save should not succeed:
        1. (2 points) Make the strengths box be empty.
        2. (2 points) Make the weaknesses box be empty.
      4. Potential error cases in the Narratives section: Test each of these two cases just once
        1. (4 points) In the narratives enter some text with single and double quotes and make sure that the save succeeds and that the text reloads properly.
        2. (4 points) Select an outcome that has single/double quotes for the narrative summary and make sure that the narrative boxes load correctly with the single and double quotes displayed correctly.

  4. (12 points (4 points per save button)) Behavior of the Save Buttons: When the user selects any of the save buttons a message should appear for three seconds that reads "xxxxx successfully saved" or "xxxxx unsuccessfully saved" where "xxxxx" is one of "Results", "Assessment Plan", or "Narrative". Successfully saved messages should be black and unsuccessfully saved messages should be red.

  5. Other Interactions
    1. (3 points) Leave the page without saving your changes. Make sure that the changes were not saved by re-loading the outcome.
    2. logging out
      1. (9 points) Logout and make sure that you are returned to the login page.
      2. (3 points) After logging out, try to load the student's abet.php page--it should not succeed or should redirect you to the login page (award 2 points if the page appears with nothing on it)
    3. Change the password (30 points total)
      1. (2 points) Try to enter a password longer than 20 characters. You should not be allowed to do so.
      2. (2 points) Try to enter mis-matched passwords and verify that the web-site displays a message in red to the right of the Submit button that reads "passwords do not match--please make them match".
      3. (9 points) Make the passwords match and verify that the password is saved and that the web-site displays a message in black to the right of the Submit button that reads "password changed".
      4. (2 points) Make sure that the navigation bar stays in place on the left side of the browser window so that the user can navigate back to the data collection page by either selecting an outcome or a new section from the Section menu.
      5. (15 points) Verify that the appearance of the password page roughly approximates the appearance of my password page. Give full credit if nothing is jarringly wrong and use your judgement to deduct points if there are significant differents between my layout/appearance and their layout/appearance.