CSC/ECE 517 Spring 2016 E1676 Role-based reviewing

From Expertiza_Wiki
Jump to navigation Jump to search

Task Description

Purpose

Rationale of using Scrum & Role based reviewing

Design

UML Diagram

Design Pattern

Database Design

Updates

Below are the key files to be modified:

Controllers

Models

Views

Testing Details

In our project, we are providing an option of adding duty for different team members in an assignment and giving review options based on their duty. We will add following functionalities: 1. How instructor create assignment with duties/roles 2. How students take duties from a given list of duties 3. How teammate evaluation rubric assign different review questionnaire based on duty.

UI Testing

UI will be tested manually. First, we will test creating an assignment as an instructor with different duties and assign different review questionnaires to each duty. Then we will login in as a student and take a duty from given list of duties. We will try covering all edge case scenarios in test cases section.

Test Cases

Following will be the test cases:

1. Login in as an Instructor:

 1.a] While creating an assignment, in the Review Strategy tab provide the list of roles/duties possible for teammates. There will be one text box to add      
      duty. To add more duties click on "add more". 
 1.b] Mark the check box that says multiple team members can have the same duty.
 1.c] Go to the Rubrics tab and select different questionnaires for different duty.    
 After creating this assignment students should be able to see different duties in "Your Team" page and should be able to select any duty. Multiple students 
 should be able to select same duty.

2. Login in as an Instructor:

 2.a] Repeat steps 1.a and 1.b 
 2.b] This time do not mark the check box that says "multiple team members can have the same duty".
 After creating this assignment students should be able to see different duties in "Your Team" page. This time student should not be able to select a duty if 
 it was already selected.

3. Login in as a Student

  When you login in as a student you should be able to pick different duties assigned by the instructor. If multiple members are not allowed to have same duty 
  then you should not be able to pick a duty if it was already selected by some other member.

4. Login in as a Review

  When you login in as a reviewer you should get the questionnaire based on your duty. For example, if you are a software engineer you should get the review 
  questionnaire assigned to software engineer. 
  Different roles will be assigned different questionnaires for review.

RSpec

For functional testing, we will use RSpec. It uses Behavior Driven Development (BDD) for testing functionality of the system. It provides way to describe specific functionality of the system being tested and helps in better visualization of test cases.

Capybara

We will use Capybara for automating the manual test cases. It is a web-based automation framework and coupled with RSpec. It allow developers to write the test cases which simulate the whole scenario of manual testing.

Factory Girl

We will use Factory Girl for creating data factory. Factory Girl is a Ruby Gem that allow users to create templates for valid and re-usable objects. It allows more customization when user instantiate the objects and it aims to ensure that user have a valid object to work with.

References