CSC/ECE 517 Fall 2017/E17A4 Allow calibration to be part of an assignment Team34: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 13: Line 13:


We plan to write feature tests to verify our modifications
We plan to write feature tests to verify our modifications
1. When it is in assignments#edit page:
1. When it is in assignments#edit page:
* To check  it has a checkbox with title "Calibration for training?" in assignments#edit page
* To check  it has a checkbox with title "Calibration for training?" in assignments#edit page

Revision as of 18:35, 10 November 2017

Expertiza

Expertiza is an open source website base on Ruby on Rails framework. It allows instructor to create and edit assignment with certain rubric whether is built in or newly created. Calibration is one of the main feature Expertiza provides. Student can review each other's work through peer reviews, this way TA/instructor can reference to the peer review save the amount of time they would spent on grading student's work. Expertiza also offers instructor the ability to check for plagiarism.

Test-Driven Development(TDD)

A software development process begin by writes an (initially failing) automated test case that defines a desired improvement or a new function, and generate the minimum amount of code to pass that test. It help the developer to focus on a smaller portions of functionality at a time. Also the refactoring process is safe since it happens after the test is written. Test can also serve as a documentation to a developer.

Test Plan

Problem Statement

Currently, calibrations is only allowed through creating an new assignment. Exist assignment can not add calibration as a feature can through edit. Therefore, the goal is making calibration become one part of the normal feature in different assignment. The instructor could turn on this feature if necessary.

Steps

We plan to write feature tests to verify our modifications

1. When it is in assignments#edit page:

  • To check it has a checkbox with title "Calibration for training?" in assignments#edit page

2. When it is in assignments#edit page and clicking "Calibration for training?" checkbox and clicking "save" button:

  • To check it displays a new tab named "Calibration" and adds a calibration due date in "Due dates" tab
  • To check it allows instructors to change and save date & time and permissions of calibration due date

3.When current assignment is calibration stage:

  • To check it shows current stage of the assignment to be "Calibration" on student_task#view page when current assignment is in calibration stage
  • To check it shows "Calibration review 1,2,3..." instead of "Review 1,2,3..." on student_review#list page
  • To check it allows students to do calibration review and the date can be saved successfully
  • To check the student is able to compare the results of expert review by clicking "show calibration results" link

4. When current assignment if in review_stage:

  • To check it excludes calibration reviews from outstanding review restriction and total review restriction
  • To check it shows "Review 1,2,3..." instead of "Calibration review 1,2,3..." on student_review#list page

Adding calibration as a feature available to all assignments

Requirement Specification

1. If we want to integration calibration feature into normal assignment. We need to add a new kind of due date, that is calibration due date.

  • Write a migration to add a new record in deadline_types table.

2. When instructor checks “Calibration for training?” and save the assignment. In “Due dates” tab, a row should appear to deal with calibration due date. The other content of this row is just the same as other due dates.

3. In student_task/list page, current stage column should display calibration when assignment is in calibration period.

4. In student_review/list page, you may notice that there are several restrictions to choose other students’ work.

  • Eg. “Note: You can't have more than 2 outstanding reviews. You must complete one of your outstanding reviews before selecting another. ” or “Note: You can't do more than 4 reviews according to assignment policy.”
  • Change the logic in this view and exclude calibration reviews when counting the review number. One easy to achieve the goal is to filter the reviews with timestamp earlier than submission due date, which means reviews are done in calibration period.
  • Change the wording and numbering on this view. Calibrated review 1,2,3 to represent review done in calibration period; Review 1, 2, 3 to represent reviews done in normal review period.

5. Write feature tests to verify your modifications

  • Create calibration_spec.rb file in spec/features folder