CSC/ECE 517 Fall 2018 E1864: Issues related to Reviewing

From Expertiza_Wiki
Jump to navigation Jump to search

Project Introduction & Motivation

Expertiza is an open source web-based peer review system developed and maintained by students and faculty members at North Carolina State University. It has been developed as Open Source Software using Ruby on Rails framework. Expertiza allows students to form teams, review each other's work such as assignments and projects. It provides the role based access so that instructor can impose restriction what students can view/edit.

The primary motivation behind this project is to give the students to review the projects of their peers effortlessly and fix all the issues of the previous implementation.

Description of Project

The project numbered E1864 and titled ‘Issues Related to Reviewing' is intended to fix five known issues related to reviewing, so that whenever your peers review your work, or an instructor try to configure number of reviews that should be performed by each student for each round, it will work properly in all situation. The project has been divided into five problem requirements and each of them is addressing an individual issue we need to fix. The description and the proposed approaches to meet the requirements are explained below as implementation.

Files Modified

Problem Statement

  • The project name for which the review was performed earlier should not appear for the next list of reviews when a student requests a review to perform. This issue should be fixed because the students might review the same project more than once and the requirement is to review different projects each time.
  • When the author resubmits, then reviewers should be able to Update (not Edit) their reviews, even if those reviews have already been submitted. Current system does not allow reviewers to update their reviews. This issue should be fixed because the students can effortlessly perform the reviews by just updating and not editing the new one.
  • When a reviewer tries to review a work, sometimes it happens that system shows the reviewer that the work has not been submitted yet. However, author has really submitted the work. Such situation should not happen. Reviewer should be shown the work of the author to review.
  • In current system, when we edit an existing assignment and change the number of review rounds, it doesn’t work and it fails with an error. This issues needs to be fixed.
  • “Show calibration results” page shows raw HTML. Actually it should be processed as HTML while displaying on the page. This needs to be fixed

Project Requirements

For this project, we have been asked to fix the follow bugs that have been found in the current Expertiza system :

Problem 1 : Issue #1093

  • When a student requests a project to review, duplicate reviews appear in the list of available projects.

Problem 2 : Issue # 1097

  • When a project author resubmits their assignment, the reviewers should be able to update, not edit, their reviews. This should hold even if those reviews have already been submitted. The current system does not allow reviewers to update their reviews.

Problem 3 : Issue # 1029

  • When a reviewer tries to review a project, sometimes he/she is shown that the project has not yet been submitted when in fact it has.

Problem 4 : Issue # 972

  • When updating the number of review rounds for an existing project, and error is generated and this action fails.

Problem 4 : Issue # 1142

  • “Show calibration results” page shows raw HTML when it should displayed as processed HTML.

Solution Design

Testing Plan

To ensure correctness of bug fixes following test plan was implemented:

  • Obtain the appropriate testing environment via a provided virtual box image and RSPEC testing framework.
  • Acquire a deeper understanding of the necessary models and views, their functionalities and dependencies.
  • Create factories and doubles to assist in the testing of these models and views methods.
  • Mock message passing and expected outcomes.
  • Apply generated helper objects and mocks to achieve high test coverage of methods within the models and views that were updated.

References