CSC/ECE 517 Spring 2020 - E2026. Specialized rubrics for different topic types: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 29: Line 29:
==Testing Plan==
==Testing Plan==
As part of our implementation, we would need to modify existing code as well as add new code. To ensure that existing functionality is not broken, and new functionality works as expected, we will be using the following Test Strategy (which was also used by previous team):
As part of our implementation, we would need to modify existing code as well as add new code. To ensure that existing functionality is not broken, and new functionality works as expected, we will be using the following Test Strategy (which was also used by previous team):
*Run and pass existing RSpec Tests
===Run and pass existing RSpec Tests===
**All the existing RSpec tests related to the files that have to be modified should pass.
*All the existing RSpec tests related to the files that have to be modified should pass.
*Develop New RSpec Tests
===Develop New RSpec Tests===
**As part of previous implementation, the team had introduced following new RSpec test files:
*As part of previous implementation, the team had introduced following new RSpec test files:
***spec/helpers/assignment_helper_spec.rb
**spec/helpers/assignment_helper_spec.rb
***spec/models/self_review_response_map_spec.rb
**spec/models/self_review_response_map_spec.rb
**We plan to use those rspec files as well as implement new ones that might be required once we start on our implementation.
*We plan to use those rspec files as well as implement new ones that might be required once we start on our implementation.
**All these rspec tests should pass for us to complete the testing.
*All these rspec tests should pass for us to complete the testing.
*Test the updated/new features on Expertiza UI instance
===Test the updated/new features on Expertiza UI instance===
**Since the changes in the project would be related to topics, and rubrics for assignment, those features will be tested in Expertiza UI. Current view of Topics and Rubrics tab looks as follows. Additional check boxes, or dropdown fields will be added in both these tabs once we implement the changes.
*Since the changes in the project would be related to topics, and rubrics for assignment, those features will be tested in Expertiza UI. Current view of Topics and Rubrics tab looks as follows:
**[[File:Edit assignment rubric.png]]
[[File:Edit assignment rubric.png]]
**[[File:Edit assignment topic.png]]
[[File:Edit assignment topic.png]]
 
Additional check boxes, and dropdown fields will be added in both these tabs once we implement the changes. Those changes in the view as well as their functionality should be tested.


==Team Information==
==Team Information==

Revision as of 01:04, 9 April 2020

This wiki page contains description of changes made as part of E2026. Specialized rubrics for different topic types (e.g., Servo project, refactoring project), a Final Project for Spring 2020, CSC/ECE 517


Background

In CSC/ECE 517, there are Expertiza-based course projects, Mozilla-based course projects, etc. However, currently, we can only specify one kind of rubric for all kinds of course projects. This means that refactoring projects, testing projects, and Mozilla projects need to use the same rubric. We hope we could specify different rubrics to be used with different kinds of course projects.

This project was implemented by another team in Spring 2019. We will be implementing our project on top of what was implemented by the previous team, and fix the issues that were found in their implementation. Information on what the previous team had worked on is described in the Previous Implementation section.

Previous Implementation

All aspects of previous implementation were good, and their design was well appreciated. Their changes were also merged to expertiza:beta branch, but were later reverted since the specialized rubrics weren’t saved in the database. This github issue provides a detailed explanation to the problem.

For us to get started, we were provided with following links from previous implementation:

Design Strategy

UML Diagram

Following the previous implementations's footsteps, this diagram depicts the interactions between an instructor and an assignment. The instructor may edit, delete, copy, and other stuff (already existing in Expertiza). Alongside editing topics and due dates, the instructor can edit what rubrics are assigned to an assignment. The highlighted portions are of interest. The topics tab allows instructors to specify which rubric associates with each topic while the rubrics tab lets the instructor determine if the assignment will vary by topic or not.

Files to be modified

Database Flow

Testing Plan

As part of our implementation, we would need to modify existing code as well as add new code. To ensure that existing functionality is not broken, and new functionality works as expected, we will be using the following Test Strategy (which was also used by previous team):

Run and pass existing RSpec Tests

  • All the existing RSpec tests related to the files that have to be modified should pass.

Develop New RSpec Tests

  • As part of previous implementation, the team had introduced following new RSpec test files:
    • spec/helpers/assignment_helper_spec.rb
    • spec/models/self_review_response_map_spec.rb
  • We plan to use those rspec files as well as implement new ones that might be required once we start on our implementation.
  • All these rspec tests should pass for us to complete the testing.

Test the updated/new features on Expertiza UI instance

  • Since the changes in the project would be related to topics, and rubrics for assignment, those features will be tested in Expertiza UI. Current view of Topics and Rubrics tab looks as follows:

Additional check boxes, and dropdown fields will be added in both these tabs once we implement the changes. Those changes in the view as well as their functionality should be tested.

Team Information

  • Dave Bell (dbell5)
  • Steven Green (stgreen)
  • Abhishek Upadhyaya Ghimire (aupadhy3)
  • Mentor: Anuja Kulkarni