CSC/ECE 517 Spring 2022 - E2237: Grading audit trail

From Expertiza_Wiki
Revision as of 01:14, 6 April 2022 by Kflemin3 (talk | contribs) (fix a missing heading)
Jump to navigation Jump to search

Team

Students

  • Bhuwan Bhatt (brbhatt)
  • Soumyadeep Chatterjee (schatte5)
  • Kelly Fleming (kflemin3)
  • Karthik Gopala Sundaresan (kgopala3)

Mentor

  • Kai Xiao (yxiao28)

Topic Overview

Prior Work

You can read the entirety of the previous team's wiki write-up if desired.

Overview of Major Changes

A new table was added to the database (grading_history), along with the corresponding model (grading_history.rb) and controller (grading_history_controller.rb).

Two models for specific types of histories were added: review_grading_history.rb, and submission_grading_history.rb.

A view for displaying the grading history of a particular assignment or review was added (index_html.erb).

Modifications to Existing Files

app/controllers/grades_controller.rb
A grading history record is created for every edit to a submission's grade.
app/controllers/review_mapping_controller.rb
A grading history record is created for every edit to a review's grade.
app/views/assignments/list_submissions.html.erb
A link to access a submission's grade history is shown in the submissions table.
app/views/reports/_review_report.html.erb
A link to access a review's grade history is shown in the review report table.

Testing (NOTE: should probably remove this from here)

Functional tests ensuring specific method calls are made were added.

functional tests added to these files
spec/controllers/grades_controller_spec.rb
spec/controllers/review_mapping_controller_spec.rb
spec/controllers/grading_histories_controller_test.rb

A feature test ensuring that correct grading history is shown in chronological order was added.

feature test handled by these two files
spec/features/grade_histories_spec.rb
spec/features/helpers/grade_histories_helper.rb

Whenever an instructor submits a new grade, or edits an existing grade, the grading_history_controller saves a new history entry to the database.

Statement of Problem

  1. For review grades, the “Grading History” link must not be in a separate column. It should be in smaller text below the “Save” button.
  2. In the view grading record page, remove the receiver column and add it to the title
  3. Restrict the column width on the grading record page
  4. Add comments on list_submissions.html.erb to indicate that the alignment was changed to fix code climate issues
  5. Ensure that white space changes are separate commits
  6. Revert changes made to list_review_mapping.html.erb
  7. Remove the _review_report.html.erb file
  8. Design doc – mention why each of those files were changed


Plan and List of Work Done

General Design Goals

Specific Tasks Completed

Initial Implementation

Final Implementation

Testing

Video Demonstration

Testing Goals and Test Objects

General Testing Plan

RSpec Unit Tests

Manual UI Tests

Discussion with mentor in progress to determine if UI Automation testing is in scope

Regression Testing

In order to ensure complete coverage, testing of the changes done between the end of last semester and this project was done.

Note to team: need to edit this after investigation


1. Investigate if this is testable using Capybara
2. Get the specific format requirement for the title, and assert that it's there. Ensure that this doesn't appear anywhere else (possible via ensuring count is 1)
3. Procure specific required column width, and assert that this is the value in the file (the constant)
4. Inquire with mentor about comment requirement and conflicts
5. Inquire with mentor regarding white space constraints
6. Inquire why the revert is needed, what is breaking and why
7. Ask mentor where this file is being called, and if functionality needs to be moved elsewhere.
8. Complete Design Document to reflect these changes.

Conclusions and Future Work

Thoughts on Comprehensive Testing and Scope

Test Plan Document (SoP)

Conclusion

Useful Links

Previous team's Expertiza GitHub pull request

Previous team's wiki write-up

E1934 implementation video walkthrough